f6029666f69107540bded5b216737338206c295a
[gnulib.git] / ChangeLog
1 2012-05-08  Bruno Haible  <bruno@clisp.org>
2
3         sh-quote: Make C++ safe and allow multiple inclusion.
4         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
5         declarations in extern "C".
6
7 2012-05-08  Bruno Haible  <bruno@clisp.org>
8
9         sh-quote tests: Make tests stricter.
10         * tests/test-sh-quote.c (check_one): Check the return value of
11         shell_quote_copy.
12         (main): Check a string with a CR character. Check a string that
13         contains UCHAR_MAX.
14
15 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
16
17         warnings.m4: provide a means to specify the program to compile.
18         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
19         (gl_WARN_ADD): here.
20         Use gl_AS_VAR_APPEND.
21         Support an argument to specify the program to compile.
22         (gl_WARN_ADD): Accept an argument to specify the program to compile.
23         AC_SUBST the WARN_CFLAGS when they are used.
24         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
25         leave this to gl_WARN_ADD.
26
27 2012-05-08  Eric Blake  <eblake@redhat.com>
28
29         doc: recommendations on gettext version
30         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
31         choice between versions.
32         * DEPENDENCIES (gettext): Cover both approaches.
33
34 2012-05-08  Jim Meyering  <meyering@redhat.com>
35
36         init.sh: explain why EXEEXT support uses aliases rather than functions
37         * tests/init.sh: Add a comment.
38
39         init.sh: don't let bash aliases interfere with tests
40         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
41         is bash.  This avoids problems for those who alias standard commands to
42         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
43         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
44
45 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
46
47         stdint: be more consistent with glibc, SunOS libc
48         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
49         (gl_int_fast16_t, gl_uint_fast16_t)
50         (gl_int_fast32_t, gl_uint_fast32_t)
51         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
52         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
53         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
54         Be consistent with glibc by default, and with SunOS 5.10 and later
55         if __sun is defined.  This lessens the likelihood of clashes if
56         code compiled for older hosts is combined with code compiled for
57         newer ones.  Problem reported by Niels Möller in
58         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
59
60 2012-05-07  Eric Blake  <eblake@redhat.com>
61
62         isatty: relax license to LGPLv2+
63         * modules/isatty (License): Relax license.
64
65 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
66
67         stat-size: comment fix
68         * lib/stat-size.h: Remove obsolete comment about indenting.
69
70 2012-05-06  Bruno Haible  <bruno@clisp.org>
71
72         Tests for module 'sh-quote'.
73         * modules/sh-quote-tests: New file.
74         * tests/test-sh-quote.c: New file.
75
76 2012-05-06  Bruno Haible  <bruno@clisp.org>
77
78         sh-quote: Improve shell_quote_argv's signature.
79         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
80         * lib/sh-quote.c (shell_quote_argv): Likewise.
81
82 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83
84         stdint: document issues with int_fast8_t etc.
85         * doc/posix-headers/stdint.texi (stdint.h): Say that other
86         stdint.h substitutes may define these types differently.  See
87         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
88
89 2012-05-05  Bruno Haible  <bruno@clisp.org>
90
91         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
92         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
93         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
94         or 'guessing no (mishandles large arguments)'.
95
96 2012-05-05  Bruno Haible  <bruno@clisp.org>
97
98         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
99         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
100         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
101         set gl_cv_func_link_follows_symlink to "guessing no".
102
103 2012-05-05  Bruno Haible  <bruno@clisp.org>
104
105         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
106         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
107         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
108         "guessing no".
109         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
110
111 2012-05-05  Bruno Haible  <bruno@clisp.org>
112
113         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
114         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
115         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
116         set gl_cv_struct_dirent_d_ino to "guessing yes".
117
118 2012-05-05  Bruno Haible  <bruno@clisp.org>
119
120         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
121         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
122         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
123         "guessing yes".
124
125 2012-05-05  Bruno Haible  <bruno@clisp.org>
126
127         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
128         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
129         compiling to a glibc system, set gl_cv_func_signbit and
130         gl_cv_func_signbit_gcc to "guessing yes".
131
132 2012-05-05  Bruno Haible  <bruno@clisp.org>
133
134         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
135         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
136         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
137         to "guessing yes".
138         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
139         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
140
141 2012-05-05  Bruno Haible  <bruno@clisp.org>
142
143         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
144         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
145         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
146         gl_cv_func_realpath_works to "guessing yes".
147
148 2012-05-05  Bruno Haible  <bruno@clisp.org>
149
150         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
151         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
152         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
153
154 2012-05-04  Bruno Haible  <bruno@clisp.org>
155
156         Tweak last commit.
157         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
158         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
159
160 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
161
162         unistd_h: make it easier to avoid sys_types_h
163         This is useful for Emacs, which has its own method of porting to
164         Windows, and which therefore does not need the sys_types_h module.
165         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
166         code moved here from gl_SYS_TYPES_H.
167         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
168         using the code directly.
169         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
170         gl_SYS_TYPES_H.
171         * modules/sys_types (Files):
172         * modules/unistd (Files): Add m4/off_t.m4.
173
174 2012-05-03  Bruno Haible  <bruno@clisp.org>
175
176         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
177         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
178         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
179         "guessing yes" or "guessing no".
180         (gl_FUNC_LSTAT): Update.
181         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
182         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
183         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
184
185 2012-05-03  Bruno Haible  <bruno@clisp.org>
186
187         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
188         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
189         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
190         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
191         cross-compiling, choose the first alternative on glibc systems.
192         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
193
194 2012-05-03  Bruno Haible  <bruno@clisp.org>
195
196         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
197         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
198         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
199
200 2012-05-03  Bruno Haible  <bruno@clisp.org>
201
202         chown: Avoid "guessing no" when cross-compiling to glibc systems.
203         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
204
205 2012-05-03  Bruno Haible  <bruno@clisp.org>
206
207         Avoid "guessing no" guesses when cross-compiling to glibc systems.
208         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
209         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
210         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
211         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
212         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
213         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
214         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
215         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
216         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
217         compiling to glibc systems, set gl_cv_func_chown_slash_works,
218         gl_cv_func_chown_ctime_works to "guessing yes".
219         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
220         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
221         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
222         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
223         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
224         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
225         compiling to glibc systems, set gl_cv_func_open_directory_works to
226         "guessing yes".
227         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
228         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
229         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
230         "guessing yes".
231         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
232         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
233         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
234         compiling to glibc systems, set gl_cv_func_floorf_ieee to
235         "guessing yes".
236         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
237         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
238         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
239         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
240         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
241         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
242         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
243         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
244         "guessing yes".
245         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
246         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
247         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
248         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
249         "guessing yes".
250         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
251         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
252         "guessing yes".
253         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
254         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
255         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
256         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
257         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
258         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
259         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
260         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
261         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
262         compiling to glibc systems, set gl_cv_func_log10f_ieee to
263         "guessing yes".
264         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
265         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
266         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
267         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
268         "guessing yes".
269         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
270         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
271         "guessing yes".
272         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
273         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
274         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
275         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
276         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
277         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
278         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
279         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
280         compiling to glibc systems, set gl_cv_func_mkfifo_works to
281         "guessing yes".
282         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
283         compiling to glibc systems, set gl_cv_func_mknod_works to
284         "guessing yes".
285         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
286         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
287         "guessing yes".
288         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
289         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
290         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
291         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
292         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
293         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
294         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
295         compiling to glibc systems, set gl_cv_func_svid_putenv to
296         "guessing yes".
297         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
298         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
299         "guessing yes".
300         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
301         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
302         "guessing yes".
303         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
304         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
305         to "guessing yes".
306         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
307         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
308         to "guessing yes".
309         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
310         compiling to glibc systems, set gl_cv_func_rmdir_works to
311         "guessing yes".
312         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
313         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
314         gl_cv_func_unlink_parent_fails to "guessing yes".
315         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
316         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
317         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
318         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
319         gl_cv_func_rename_dest_works to "guessing yes".
320         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
321         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
322         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
323         compiling to glibc systems, set gl_cv_func_roundf_ieee to
324         "guessing yes".
325         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
326         compiling to glibc systems, set gl_cv_func_roundl_ieee to
327         "guessing yes".
328         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
329         compiling to glibc systems, set gl_cv_func_setenv_works to
330         "guessing yes".
331         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
332         compiling to glibc systems, set gl_cv_func_unsetenv_works to
333         "guessing yes".
334         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
335         compiling to glibc systems, set gl_cv_func_sleep_works to
336         "guessing yes".
337         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
338         compiling to glibc systems, set gl_cv_func_stat_file_slash to
339         "guessing yes".
340         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
341         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
342         "guessing yes".
343         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
344         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
345         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
346         compiling to glibc systems, set gl_cv_func_truncf_ieee to
347         "guessing yes".
348         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
349         compiling to glibc systems, set gl_cv_func_truncl_ieee to
350         "guessing yes".
351         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
352         compiling to glibc systems, set gl_cv_func_usleep_works to
353         "guessing yes".
354         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
355         compiling to glibc systems, set gl_cv_func_futimesat_works to
356         "guessing yes".
357
358 2012-05-03  Bruno Haible  <bruno@clisp.org>
359
360         Say "guessing yes" or "guessing no" when cross-compiling.
361         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
362         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
363         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
364         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
365         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
366         am_cv_func_working_getline to "guessing yes" or "guessing no".
367         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
368         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
369         (gl_FUNC_MEMMEM): When cross-compiling, set
370         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
371         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
372         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
373         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
374         set gl_cv_func_strcasestr_works_always to "guessing yes" or
375         "guessing no".
376         (gl_FUNC_STRCASESTR): When cross-compiling, set
377         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
378         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
379         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
380         (gl_FUNC_STRSTR): When cross-compiling, set
381         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
382         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
383         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
384         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
385         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
386
387 2012-05-01  Bruno Haible  <bruno@clisp.org>
388
389         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
390         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
391         * build-aux/reloc-ldflags: Likewise.
392         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
393
394 2012-05-01  Bruno Haible  <bruno@clisp.org>
395
396         gnulib-tool: Remove transitional code.
397         * gnulib-tool: Don't warn about --import with 0 arguments any more.
398         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
399
400 2012-05-01  Bruno Haible  <bruno@clisp.org>
401
402         getcwd: Fix misindentation.
403         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
404
405 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
406
407         exclude: process exclude and include directives in order
408         This restores the pre-2009 behavior, and is part of a fix of a
409         grep bug reported by Quentin Arce in
410         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
411         * lib/exclude.c (struct exclude): Remove 'tail' member.
412         (new_exclude_segment): Prepend the new segment instead of appending.
413         Return void, since that's now more convenient.
414         (file_pattern_matches): Renamed from excluded_file_pattern_p.
415         (file_name_matches): Renamed from excluded_file_name_p.
416         (file_pattern_matches, file_name_matches):
417         Return true if the pattern matches, not if it excludes.
418         All callers changed.
419         (excluded_file_name): Process the list in reverse order;
420         since the list is now reversed this restores the pre-2009 behavior.
421         (add_exclude): Adjust to new reversed-order list.  Use local var
422         rather than macro, for clarity.
423         * tests/test-exclude7.sh: Adjust to corrected behavior.
424
425         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
426         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
427         it's not possible here.  Handle the case of \ at end of pattern
428         without dumping core.
429         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
430
431         _Noreturn: future-proof non-GNU and non-MSVC compilers
432         * build-aux/snippet/_Noreturn.h (_Noreturn):
433         * m4/gnulib-common.m4 (gl_COMMON_BODY):
434         Do not define _Noreturn if __STDC_VERSION__ indicates this is
435         C11 or later.  This is more likely to work with random future C
436         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
437         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
438
439         exclude: handle wildcards with FNM_EXTMATCH
440         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
441         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
442         comment that "has wildcards" really means "has or may have
443         wildcards".  Simplify by avoiding the need to call strcspn.
444
445 2012-04-29  Bruno Haible  <bruno@clisp.org>
446
447         gnulib-tool: Fix list of authors.
448         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
449
450 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
451
452         bootstrap: support Automake-NG in $buildreq
453         * bootstrap (check_versions): Handle automake and aclocal from
454         Automake-NG specially.  They can be specified as respectively
455         the "automake-ng" and "aclocal-ng" requirements.
456
457 2012-04-25  Eric Blake  <eblake@redhat.com>
458
459         bootstrap: only force latest Makefile.in.in for gettext module
460         * build-aux/bootstrap (with_gettext): Only install latest
461         Makefile.in.in for projects requesting bleeding edge gettext.
462
463 2012-04-22  Bruno Haible  <bruno@clisp.org>
464
465         doc: Mention reason for replacement on glibc/Linux systems.
466         * doc/posix-functions/dprintf.texi: Mention the problem with special
467         'long double' values.
468         * doc/posix-functions/fprintf.texi: Likewise.
469         * doc/posix-functions/printf.texi: Likewise.
470         * doc/posix-functions/snprintf.texi: Likewise.
471         * doc/posix-functions/sprintf.texi: Likewise.
472         * doc/posix-functions/vdprintf.texi: Likewise.
473         * doc/posix-functions/vfprintf.texi: Likewise.
474         * doc/posix-functions/vprintf.texi: Likewise.
475         * doc/posix-functions/vsnprintf.texi: Likewise.
476         * doc/posix-functions/vsprintf.texi: Likewise.
477         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
478         platforms with F_DUPFD_CLOEXEC problems.
479         * doc/posix-functions/glob.texi: Mention which platforms are affected
480         by the problem with symbolic links.
481         * doc/posix-functions/linkat.texi: Mention the problem with
482         AT_SYMLINK_FOLLOW on Linux.
483
484 2012-04-22  Bruno Haible  <bruno@clisp.org>
485
486         pwrite: Don't replace on all platforms.
487         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
488
489 2012-04-22  Bruno Haible  <bruno@clisp.org>
490
491         rint* tests: Avoid gcc warnings.
492         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
493         * tests/test-rintf.c (INFINITY, NAN): Likewise.
494         * tests/test-rintl.c (INFINITY, NAN): Likewise.
495
496 2012-04-21  Bruno Haible  <bruno@clisp.org>
497
498         users.txt: Update.
499         * users.txt: Add freedink, wdiff. Update URLs for projects that have
500         switched from CVS to git, bzr, or svn.
501
502 2012-04-21  Bruno Haible  <bruno@clisp.org>
503
504         Large File Support for native Windows platforms.
505
506         * m4/largefile.m4 (gl_LARGEFILE): New macro.
507         * modules/largefile (configure.ac): Require gl_LARGEFILE.
508
509         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
510         type.
511         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
512         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
513         * doc/posix-headers/sys_types.texi: Mention the effect of the
514         'largefile' module.
515
516         * lib/fcntl.in.h: Add comments about off_t.
517         * modules/fcntl-h (Depends-on): Add sys_types.
518
519         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
520         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
521         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
522         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
523         * modules/unistd (Depends-on): Add sys_types.
524         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
525
526         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
527         instead of lseek.
528         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
529         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
530         * modules/lseek (Depends-on): Add sys_types.
531
532         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
533         msvc-nothrow.h.
534         (SetFileSize): New function.
535         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
536         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
537         if Large File Support is requested.
538         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
539         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
540
541         * lib/stdio.in.h: Add comments about off_t.
542         * modules/stdio (Depends-on): Add sys_types.
543
544         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
545         instead of ftello.
546         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
547         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
548         (gl_PREREQ_FTELLO): New macro.
549         * modules/ftello (Depends-on): Add sys_types.
550         (configure.ac): Incoke gl_PREREQ_FTELLO.
551
552         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
553         instead of fseeko.
554         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
555         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
556         (gl_PREREQ_FSEEKO): New macro.
557         * modules/fseeko (Depends-on): Add sys_types.
558         (configure.ac): Invoke gl_PREREQ_FSEEKO.
559
560         * lib/sys_stat.in.h: Add comments about off_t.
561         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
562         64-bit integer for st_size in 'struct stat'.
563         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
564         Define _GL_WINDOWS_64_BIT_ST_SIZE.
565         * modules/sys_stat (Depends-on): Add sys_types.
566         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
567
568         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
569         instead of stat or _stat.
570
571         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
572         'struct _stati64' instead of fstat and 'struct stat'.
573         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
574         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
575
576         Reported by Ray Satiro <raysatiro@yahoo.com>.
577
578 2012-04-19  Eric Blake  <eblake@redhat.com>
579
580         bootstrap: accommodate older libtool
581         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
582         Reported by Daniel P. Berrange.
583
584 2012-04-19  Jim Meyering  <meyering@redhat.com>
585
586         announce-gen: avoid failure due to lack of Digest::SHA1
587         Even with the preferred Digest::SHA available, this script
588         would fail when the backup module, Digest::SHA1, was not installed.
589         * build-aux/announce-gen: Quote the conditional use of "use".
590         Reported by Reuben Thomas in:
591         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
592
593         bootstrap: don't let a user's CDPATH setting affect this script
594         When CDPATH is set, cd will sometimes generate output.
595         When "cd" is run in a subshell whose output matters, that
596         surprising-to-some output can cause malfunction.
597         Unsetting CDPATH turns off this shell "feature."
598         * build-aux/bootstrap (CDPATH): Unset.
599         Reported by Reuben Thomas in:
600         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
601         and inspired by his patch here:
602         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
603
604 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
605         and Jim Meyering  <meyering@redhat.com>
606
607         maint.mk: catch "see @xref{}" and similar
608         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
609         prohibit "See also @xref{", "Also see @pxref{", and similar.
610
611 2012-04-16  Jim Meyering  <meyering@redhat.com>
612
613         bootstrap: really use gnulib's po/Makefile.in.in
614         * build-aux/bootstrap: Correct the source file name in previous change.
615         Reported by Akim Demaille.
616
617         configmake: correct minor inconsistency in Makefile rule
618         * modules/configmake (Makefile.am): All other rules like this one
619         run the final "mv -f ..." in the same backslash-continued command
620         as the one that does everything else.  This one put the mv -f ...
621         command on a separate, non-backslash-continued line.
622         Make it like the others.
623
624         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
625         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
626         the one from gettext.  Reported by Akim Demaille.
627
628 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
629
630         Fix recursion of install-* into po directories.
631         Bison's install-pdf bug reported by Hans Aberg at
632         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
633         * build-aux/po/Makefile.in.in (install-dvi, install-html)
634         (install-info, install-pdf, install-ps): New targets.
635
636 2012-04-16  Jim Meyering  <meyering@redhat.com>
637
638         maint: avoid spurious "make sc_maint" failure
639         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
640         exempt all *.class file names, for lib/javaversion.class.
641
642 2012-04-15  Bruno Haible  <bruno@clisp.org>
643
644         lseek: Make configure test independent of environment.
645         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
646         Windows, we know that lseek() on pipes is broken; skip the runtime
647         test.
648
649 2012-04-14  Bruno Haible  <bruno@clisp.org>
650
651         stat: Bypass buggy override in mingw64.
652         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
653         * lib/stat.c (stat) [mingw64]: Define to _stat.
654         * doc/posix-functions/stat.texi: Mention mingw64 bug.
655
656 2012-04-14  Bruno Haible  <bruno@clisp.org>
657
658         pathmax: Fix compilation error on MSVC 9.
659         * modules/pathmax (Depends-on): Add unistd.
660
661 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
662
663         README: document pointer comparison assumption
664         * README (Portability guidelines): Document assumption about
665         pointer comparisons, in response to a recent bug-gnulib comment by
666         Jeffrey Kegler.
667
668 2012-04-12  Bruno Haible  <bruno@clisp.org>
669
670         Tests for module 'getrusage'.
671         * modules/getrusage-tests: New file.
672         * tests/test-getrusage.c: New file.
673
674         New module 'getrusage'.
675         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
676         warn-on-use.h.
677         (getrusage): New declaration.
678         * lib/getrusage.c: New file.
679         * m4/getrusage.m4: New file.
680         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
681         is declared.
682         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
683         HAVE_GETRUSAGE.
684         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
685         snippet/c++defs, snippet/warn-on-use.
686         (Makefile.am): Update generation of sys/resource.h. Substitute
687         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
688         * modules/getrusage: New file.
689         * doc/posix-functions/getrusage.texi: Mention the new module.
690
691 2012-04-12  Bruno Haible  <bruno@clisp.org>
692
693         Tests for module 'sys_resource'.
694         * modules/sys_resource-tests: New file.
695         * tests/test-sys_resource.c: New file.
696
697         New module 'sys_resource'.
698         * lib/sys_resource.in.h: New file.
699         * m4/sys_resource_h.m4: New file.
700         * modules/sys_resource: New file.
701         * doc/posix-headers/sys_resource.texi: Mention the new module.
702
703 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
704
705         ioctl: Fix compilation error on mingw.
706         * lib/ioctl.c: Include <windows.h>.
707         Also reported by Ray Satiro <raysatiro@yahoo.com>.
708
709 2012-04-04  Jim Meyering  <meyering@redhat.com>
710
711         regex: correct #pragma guard expression
712         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
713         not 4.3.  Correct its cpp guard expression.
714
715 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
716
717         regex: remove unnecessary type punning
718         Problem reported by Vladimir Serbinenko in
719         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
720         * lib/regex.h (struct re_pattern_buffer): Change the type of
721         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
722         Fix comment to match code.
723         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
724         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
725         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
726         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
727         (set_regs):
728         Omit no-longer-necessary casts.
729
730 2012-04-03  Bruno Haible  <bruno@clisp.org>
731
732         Tests for module 'ilogbl'.
733         * modules/ilogbl-tests: New file.
734         * tests/test-ilogbl.c: New file.
735
736         New module 'ilogbl'.
737         * lib/math.in.h (ilogbl): New declaration.
738         * lib/ilogbl.c: New file.
739         * m4/ilogbl.m4: New file.
740         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
741         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
742         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
743         Split sed invocation, to avoid the limit of 100 substitutions of
744         HP-UX 'sed'.
745         * modules/ilogbl: New file.
746         * tests/test-math-c++.cc: Check the declaration of ilogbl.
747         * doc/posix-functions/ilogbl.texi: Mention the new module.
748
749 2012-04-03  Bruno Haible  <bruno@clisp.org>
750
751         Tests for module 'ilogbf'.
752         * modules/ilogbf-tests: New file.
753         * tests/test-ilogbf.c: New file.
754
755         New module 'ilogbf'.
756         * lib/math.in.h (ilogbf): New declaration.
757         * lib/ilogbf.c: New file.
758         * m4/ilogbf.m4: New file.
759         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
760         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
761         REPLACE_ILOGBF.
762         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
763         REPLACE_ILOGBF.
764         * modules/ilogbf: New file.
765         * tests/test-math-c++.cc: Check the declaration of ilogbf.
766         * doc/posix-functions/ilogbf.texi: Mention the new module.
767
768 2012-04-03  Bruno Haible  <bruno@clisp.org>
769
770         Tests for module 'ilogb'.
771         * modules/ilogb-tests: New file.
772         * tests/test-ilogb.c: New file.
773         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
774         tests/test-logb-ieee.h.
775
776         New module 'ilogb'.
777         * lib/math.in.h (ilogb): New declaration.
778         * lib/ilogb.c: New file.
779         * m4/ilogb.m4: New file.
780         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
781         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
782         REPLACE_ILOGB.
783         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
784         REPLACE_ILOGB.
785         * modules/ilogb: New file.
786         * tests/test-math-c++.cc: Check the declaration of ilogb.
787         * doc/posix-functions/ilogb.texi: Mention the new module.
788
789 2012-04-03  Bruno Haible  <bruno@clisp.org>
790
791         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
792         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
793         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
794         (main): Check their values.
795         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
796         problem.
797
798 2012-04-03  Bruno Haible  <bruno@clisp.org>
799
800         Tests for module 'logbl-ieee'.
801         * modules/logbl-ieee-tests: New file.
802         * tests/test-logbl-ieee.c: New file.
803
804         New module 'logbl-ieee'.
805         * modules/logbl-ieee: New file.
806
807         Tests for module 'logb-ieee'.
808         * modules/logb-ieee-tests: New file.
809         * tests/test-logb-ieee.c: New file.
810
811         New module 'logb-ieee'.
812         * modules/logb-ieee: New file.
813
814         Tests for module 'logbf-ieee'.
815         * modules/logbf-ieee-tests: New file.
816         * tests/test-logbf-ieee.c: New file.
817         * tests/test-logb-ieee.h: New file.
818
819         New module 'logbf-ieee'.
820         * modules/logbf-ieee: New file.
821
822 2012-04-03  Bruno Haible  <bruno@clisp.org>
823
824         Tests for module 'logbl'.
825         * modules/logbl-tests: New file.
826         * tests/test-logbl.c: New file.
827
828         New module 'logbl'.
829         * lib/math.in.h (logbl): New declaration.
830         * lib/logbl.c: New file.
831         * m4/logbl.m4: New file.
832         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
833         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
834         REPLACE_LOGBL.
835         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
836         REPLACE_LOGBL.
837         * modules/logbl: New file.
838         * tests/test-math-c++.cc: Check the declaration of logbl.
839         * doc/posix-functions/logbl.texi: Mention the new module.
840
841 2012-04-02  Bruno Haible  <bruno@clisp.org>
842
843         Tests for module 'logbf'.
844         * modules/logbf-tests: New file.
845         * tests/test-logbf.c: New file.
846
847         New module 'logbf'.
848         * lib/math.in.h (logbf): New declaration.
849         * lib/logbf.c: New file.
850         * m4/logbf.m4: New file.
851         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
852         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
853         REPLACE_LOGBF.
854         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
855         REPLACE_LOGBF.
856         * modules/logbf: New file.
857         * tests/test-math-c++.cc: Check the declaration of logbf.
858         * doc/posix-functions/logbf.texi: Mention the new module.
859
860 2012-04-02  Bruno Haible  <bruno@clisp.org>
861
862         logb tests: More tests.
863         * tests/test-logb.h: New file, based on tests/test-logb.c and
864         tests/test-frexp.h.
865         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
866         (main): Just invoke test_function.
867         * modules/logb-tests (Files): Add tests/test-logb.h,
868         tests/minus-zero.h, tests/randomd.c.
869         (Makefile.am): Add randomd.c to test_logb_SOURCES.
870
871         logb: Provide replacement and workarounds.
872         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
873         is 1.
874         * lib/logb.c: New file.
875         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
876         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
877         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
878         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
879         * modules/logb (Files): Add lib/logb.c.
880         (Depends-on): Add isfinite, frexp, isnand.
881         (configure.ac): Compile the replacement code logb.c if needed.
882         * tests/test-math-c++.cc: Check the declaration of logb.
883         * doc/posix-functions/logb.texi: Mention the replacement and the bug
884         with subnormal numbers.
885
886 2012-04-02  Bruno Haible  <bruno@clisp.org>
887
888         log10* tests: Speed up.
889         * tests/test-log10.h (test_function): Reduce amount of random numbers
890         to test.
891
892 2012-04-01  Bruno Haible  <bruno@clisp.org>
893
894         logf-ieee: Fix test whether logf works.
895         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
896
897 2012-04-01  Bruno Haible  <bruno@clisp.org>
898
899         log10l: Work around log10l-ieee test failure on IRIX 6.5.
900         * lib/log10l.c: Include <float.h>
901         (log10l): On IRIX, normalize the +Infinity value.
902         * modules/log10l (Depends-on): Add 'float'.
903         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
904         +Infinity.
905
906         log10f-ieee: Work around test failure on NetBSD 5.1.
907         * m4/log10f-ieee.m4: New file.
908         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
909         test whether log10f works with a negative argument. Replace it if not.
910         * lib/log10f.c (log10f): For negative arguments, return NaN.
911         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
912         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
913         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
914
915         log10f-ieee: Work around test failure on Solaris 9.
916         * modules/log10f-ieee (Depends-on): Add log10-ieee.
917         (configure.ac): Require gl_FUNC_LOG10F.
918
919         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
920         * m4/log10-ieee.m4: New file.
921         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
922         whether log10 works with a negative argument. Replace it if not.
923         * lib/log10.c (log10): For negative arguments, return NaN.
924         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
925         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
926         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
927
928         Tests for module 'log10l-ieee'.
929         * modules/log10l-ieee-tests: New file.
930         * tests/test-log10l-ieee.c: New file.
931
932         New module 'log10l-ieee'.
933         * modules/log10l-ieee: New file.
934
935         Tests for module 'log10-ieee'.
936         * modules/log10-ieee-tests: New file.
937         * tests/test-log10-ieee.c: New file.
938
939         New module 'log10-ieee'.
940         * modules/log10-ieee: New file.
941
942         Tests for module 'log10f-ieee'.
943         * modules/log10f-ieee-tests: New file.
944         * tests/test-log10f-ieee.c: New file.
945         * tests/test-log10-ieee.h: New file.
946
947         New module 'log10f-ieee'.
948         * modules/log10f-ieee: New file.
949
950 2012-04-01  Bruno Haible  <bruno@clisp.org>
951
952         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
953         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
954         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
955         workaround.
956         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
957         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
958         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
959         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
960         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
961         (Depends-on): Update conditions.
962         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
963         IRIX 6.5, OSF/1 5.1 problems.
964
965 2012-04-01  Bruno Haible  <bruno@clisp.org>
966
967         log10f: Work around OSF/1 5.1 bug.
968         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
969         * lib/log10f.c (log10f): If logf exists, use it and provide just the
970         workaround.
971         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
972         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
973         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
974         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
975         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
976         (Depends-on): Update conditions.
977         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
978
979 2012-04-01  Bruno Haible  <bruno@clisp.org>
980
981         log10: Work around OSF/1 5.1 bug.
982         * lib/math.in.h (log10): New declaration.
983         * lib/log10.c: New file.
984         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
985         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
986         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
987         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
988         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
989         * modules/log10 (Files): Add lib/log10.c.
990         (Depends-on): Add math.
991         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
992         * tests/test-math-c++.cc: Check the declaration of log10.
993         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
994
995 2012-03-31  Bruno Haible  <bruno@clisp.org>
996
997         log10l tests: More tests.
998         * modules/log10l-tests (Files): Add tests/test-log10l.h,
999         tests/minus-zero.h, tests/randoml.c.
1000         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
1001         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
1002         (main): Invoke test_function.
1003
1004         log10f tests: More tests.
1005         * modules/log10f-tests (Files): Add tests/test-log10.h,
1006         tests/minus-zero.h, tests/randomf.c.
1007         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
1008         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
1009         (main): Invoke test_function.
1010
1011         log10 tests: More tests.
1012         * tests/test-log10.h: New file.
1013         * modules/log10-tests (Files): Add tests/test-log10.h,
1014         tests/minus-zero.h, tests/randomd.c.
1015         (Makefile.am): Add randomd.c to test_log10_SOURCES.
1016         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
1017         (main): Invoke test_function.
1018
1019 2012-03-31  Simon Josefsson  <simon@josefsson.org>
1020
1021         fflush: Fix syntax error.
1022         * lib/fflush.c: Include unused-parameter.h, needed for
1023         _GL_UNUSED_PARAMETER.
1024         * modules/fflush (Depends-on): Add snippet/unused-parameter.
1025
1026 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
1027
1028         regex: pacify GCC when compiling GRUB
1029         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
1030         a diagnostic.  Reported by Vladimir Serbinenko in
1031         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
1032
1033 2012-03-29  Eric Blake  <eblake@redhat.com>
1034
1035         stdio: don't assume gets any more
1036         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
1037         support.
1038         * modules/stdio (Makefile.am): Likewise.
1039         * lib/stdio-read.c (gets): Likewise.
1040         * tests/test-stdio-c++.cc: Likewise.
1041         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
1042         * lib/stdio.in.h (gets): Make warning occur in more places.
1043         * doc/posix-functions/gets.texi (gets): Update documentation.
1044         Reported by Christer Solskogen.
1045
1046         maint.mk: fix syntax checks without exclusions
1047         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
1048         Reported by Daniel P. Berrange.
1049
1050         strerror_r: avoid compiler warning
1051         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
1052         level.
1053
1054         fflush: avoid compiler warning
1055         * lib/fflush.c (update_fpos_cache): Mark variables that are
1056         potentially unused.
1057
1058 2012-03-25  Bruno Haible  <bruno@clisp.org>
1059
1060         Tests for module 'localeconv'.
1061         * modules/localeconv-tests: New file.
1062         * tests/test-localeconv.c: New file.
1063
1064         New module 'localeconv'.
1065         * lib/locale.in.h (localeconv): New declaration.
1066         * lib/localeconv.c: New file.
1067         * m4/localeconv.m4: New file.
1068         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
1069         REPLACE_LOCALECONV.
1070         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
1071         REPLACE_LOCALECONV.
1072         * modules/localeconv: New file.
1073         * modules/nl_langinfo (Depends-on): Add localeconv.
1074         * modules/human (Depends-on): Likewise.
1075         * doc/posix-functions/localeconv.texi: Mention the new module.
1076
1077 2012-03-25  Bruno Haible  <bruno@clisp.org>
1078
1079         locale: Provide a complete 'struct lconv'.
1080         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1081         'struct lconv' does not contain int_p_cs_precedes.
1082         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1083         * doc/posix-headers/locale.texi: Update.
1084
1085         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
1086         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
1087         * doc/posix-headers/locale.texi: Update.
1088
1089         locale: Provide a working 'struct lconv'.
1090         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
1091         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1092         'struct lconv' does not even contain decimal_point.
1093         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
1094         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
1095         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1096         * doc/posix-headers/locale.texi: Mention the problems with
1097         'struct lconv'.
1098         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
1099
1100 2012-03-24  Bruno Haible  <bruno@clisp.org>
1101
1102         Enable common subexpression optimization in GCC.
1103         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
1104         macros.
1105         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
1106         GCC attribute 'const'.
1107         (uc_locale_language): Declare with GCC attribute 'pure'.
1108         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
1109         with GCC attribute 'const'.
1110         * lib/unictype.in.h (uc_is_general_category_withtable,
1111         uc_combining_class, uc_combining_class_name,
1112         uc_combining_class_long_name, uc_bidi_class_name,
1113         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
1114         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
1115         uc_decimal_value, uc_digit_value, uc_numeric_value,
1116         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
1117         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
1118         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
1119         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
1120         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
1121         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
1122         Declare with GCC attribute 'const'.
1123         (uc_general_category_name, uc_general_category_long_name,
1124         uc_general_category_byname, uc_general_category,
1125         uc_is_general_category, uc_combining_class_byname,
1126         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
1127         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
1128         Declare with GCC attribute 'pure'.
1129         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
1130         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
1131         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
1132         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
1133         with GCC attribute 'pure'.
1134         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
1135         'const'.
1136         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
1137         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
1138         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
1139         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
1140         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
1141         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
1142         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
1143         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
1144         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
1145         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
1146         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
1147         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
1148         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
1149         GCC attribute 'pure'.
1150         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
1151         'const'.
1152         * lib/uniwidth.in.h (uc_width): Simplify declaration.
1153         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
1154         u32_strwidth): Declare with GCC attribute 'pure'.
1155
1156         Enable common subexpression optimization in GCC.
1157         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1158         (alphasort): Declare with GCC attribute 'pure'.
1159         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1160         (atoll): Declare with GCC attribute 'pure'.
1161         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
1162         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
1163         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
1164         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1165         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
1166         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
1167         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
1168
1169 2012-03-24  Bruno Haible  <bruno@clisp.org>
1170
1171         gnulib-tool: Avoid unintended error output from 'cmp'.
1172         * gnulib-tool (func_add_file, func_update_file, func_import): Use
1173         "cmp -s", not "cmp > /dev/null".
1174
1175 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1176
1177         gnulib-tool: fix imprecise comments w.r.t. an automake bug
1178
1179         It's not just Automake versions < 1.9b that creates an empty
1180         pkgdatadir at installation time if pkgdata_DATA is specified
1181         to empty; modern automake versions do this as well, at least
1182         until automake 1.11.4 (not yet released at the moment of writing,
1183         but soon to appear).  That behaviour was generally considered a
1184         feature rather than a bug, at least until this discussion:
1185         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
1186
1187         See also automake bugs #10997 and #11030.
1188
1189         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
1190         reference to relevant automake bug numbers.
1191         (func_emit_tests_Makefile_am): Likewise.
1192
1193 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1194
1195         announce-gen: use Digest::SHA when possible
1196         * build-aux/announce-gen: Use Digest::SHA when possible, falling
1197         back to Digest::SHA1 if necessary.
1198
1199 2012-03-20  Jim Meyering  <meyering@redhat.com>
1200
1201         tests: avoid gcc warnings about argv vs. const initializers
1202         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
1203         warnings about discarding 'const' qualifier from pointer target type.
1204         * tests/test-posix_spawn2.c (main): Likewise.
1205
1206 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1207
1208         README-release: simplify slightly
1209         * top/README-release: Run "git checkout master" only once.
1210
1211 2012-03-15  Mark Wielaard  <mark@klomp.org>
1212
1213         git-merge-changelog: add specific example on how to use with hg.
1214         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
1215
1216 2012-03-18  Mark Wielaard  <mark@klomp.org>
1217
1218         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
1219
1220 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
1221
1222         git-version-gen: don't let "prefix" envvar cause trouble
1223         * build-aux/git-version-gen (prefix): Initialize properly,
1224         so as not to use a value specified via the environment.
1225         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
1226
1227 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1228
1229         regex: diagnose too-large repeat counts in EREs
1230         Previously, the code did not diagnose the too-large repeat count
1231         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
1232         as if it were 'b\{1000000000}', which is unexpected.
1233         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
1234         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
1235         is a reasonable one for this problem.  Another option would be to
1236         create a new REG_OVERFLOW error for repeat counts that are too large.
1237         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
1238         count is too large, so that the caller can distinguish the two cases.
1239         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
1240         "Too large" return code, and that repeat counts are one example of this.
1241
1242 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1243
1244         doc: some glibc x32 integer width issues
1245         * doc/posix-headers/sys_types.texi (sys/types.h):
1246         * doc/posix-headers/time.texi (time.h):
1247         Mention that glibc x32 does not conform to POSIX in a couple of
1248         areas related to integer widths.
1249
1250 2012-03-15  Bruno Haible  <bruno@clisp.org>
1251
1252         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
1253         * lib/fma.c (VOLATILE): New macro.
1254         (FUNC): Use it to work around a GCC compiler bug.
1255
1256 2012-03-13  Bruno Haible  <bruno@clisp.org>
1257
1258         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1259         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
1260         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
1261         REPLACE_HYPOTL to 1.
1262         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
1263
1264 2012-03-13  Bruno Haible  <bruno@clisp.org>
1265
1266         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1267         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
1268         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
1269         REPLACE_REMAINDERL to 1.
1270         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
1271         bug.
1272
1273 2012-03-13  Bruno Haible  <bruno@clisp.org>
1274
1275         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1276         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
1277         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
1278         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
1279         too big rounding errors.
1280         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
1281         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
1282         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
1283         (Depends-on): Update conditions.
1284         * tests/test-sqrtl.c (my_ldexpl): New function.
1285         (main): Add test of a particular value.
1286         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1287
1288 2012-03-13  Pádraig Brady  <P@draigBrady.com>
1289
1290         doc: Update timer_* platform portability notes.
1291         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
1292         that always return ENOSYS.
1293         * doc/posix-functions/timer_delete.texi: Likewise.
1294         * doc/posix-functions/timer_gettime.texi: Likewise.
1295         * doc/posix-functions/timer_settime.texi: Likewise.
1296
1297 2012-03-13  Bruno Haible  <bruno@clisp.org>
1298
1299         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1300         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
1301         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
1302         REPLACE_CBRTL to 1.
1303         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1304
1305 2012-03-13  Bruno Haible  <bruno@clisp.org>
1306
1307         remainderl: Avoid compilation error on AIX >= 5.2.
1308         * lib/math.in.h (remainderl): Undefine macro from the system header.
1309
1310 2012-03-13  Bruno Haible  <bruno@clisp.org>
1311
1312         Avoid compilation errors with MSVC option -fp:strict.
1313         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
1314         * lib/cbrtf.c: Likewise.
1315         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1316
1317 2012-03-12  Bruno Haible  <bruno@clisp.org>
1318
1319         uninorm: Don't crash in out-of-memory conditions.
1320         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
1321         gracefully.
1322         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
1323         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
1324
1325 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
1326
1327         quote: fix syntax-check
1328         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
1329         also exports quote_quoting_options.
1330
1331 2012-03-12  Simon Josefsson  <simon@josefsson.org>
1332
1333         Collapse list of copyright years to ranges.  See
1334         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
1335         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
1336         build-aux/csharpexec.sh.in, build-aux/gnupload,
1337         build-aux/install-reloc, build-aux/javacomp.sh.in,
1338         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
1339         build-aux/move-if-change, build-aux/reloc-ldflags,
1340         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
1341
1342 2012-03-11  Bruno Haible  <bruno@clisp.org>
1343
1344         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1345         * m4/log2f-ieee.m4: New file.
1346         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
1347         whether log2f works with a minus zero argument. Replace it if not.
1348         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
1349         (Depends-on): Add log2-ieee.
1350         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
1351         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
1352
1353         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1354         * m4/log2-ieee.m4: New file.
1355         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
1356         whether log2 works with a minus zero argument. Replace it if not.
1357         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
1358         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
1359         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
1360
1361         Tests for module 'log2l-ieee'.
1362         * modules/log2l-ieee-tests: New file.
1363         * tests/test-log2l-ieee.c: New file.
1364
1365         New module 'log2l-ieee'.
1366         * modules/log2l-ieee: New file.
1367
1368         Tests for module 'log2-ieee'.
1369         * modules/log2-ieee-tests: New file.
1370         * tests/test-log2-ieee.c: New file.
1371
1372         New module 'log2-ieee'.
1373         * modules/log2-ieee: New file.
1374
1375         Tests for module 'log2f-ieee'.
1376         * modules/log2f-ieee-tests: New file.
1377         * tests/test-log2f-ieee.c: New file.
1378         * tests/test-log2-ieee.h: New file.
1379
1380         New module 'log2f-ieee'.
1381         * modules/log2f-ieee: New file.
1382
1383 2012-03-11  Bruno Haible  <bruno@clisp.org>
1384
1385         Tests for module 'log2l'.
1386         * modules/log2l-tests: New file.
1387         * tests/test-log2l.c: New file.
1388
1389         New module 'log2l'.
1390         * lib/math.in.h (log2l): New declaration.
1391         * lib/log2l.c: New file.
1392         * m4/log2l.m4: New file.
1393         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
1394         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
1395         REPLACE_LOG2L.
1396         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
1397         REPLACE_LOG2L.
1398         * modules/log2l: New file.
1399         * tests/test-math-c++.cc: Check the declaration of log2l.
1400         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
1401         and OSF/1 problems.
1402
1403 2012-03-11  Bruno Haible  <bruno@clisp.org>
1404
1405         Tests for module 'log2f'.
1406         * modules/log2f-tests: New file.
1407         * tests/test-log2f.c: New file.
1408
1409         New module 'log2f'.
1410         * lib/math.in.h (log2f): New declaration.
1411         * lib/log2f.c: New file.
1412         * m4/log2f.m4: New file.
1413         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
1414         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
1415         REPLACE_LOG2F.
1416         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
1417         REPLACE_LOG2F.
1418         * modules/log2f: New file.
1419         * tests/test-math-c++.cc: Check the declaration of log2f.
1420         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
1421         and OSF/1 and Cygwin problems.
1422
1423 2012-03-11  Bruno Haible  <bruno@clisp.org>
1424
1425         Tests for module 'log2'.
1426         * modules/log2-tests: New file.
1427         * tests/test-log2.c: New file.
1428         * tests/test-log2.h: New file.
1429
1430         New module 'log2'.
1431         * lib/math.in.h (log2): New declaration.
1432         * lib/log2.c: New file.
1433         * m4/log2.m4: New file.
1434         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
1435         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
1436         REPLACE_LOG2.
1437         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
1438         REPLACE_LOG2.
1439         * modules/log2: New file.
1440         * tests/test-math-c++.cc: Check the declaration of log2.
1441         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
1442         and OSF/1 and Cygwin problems.
1443
1444 2012-03-11  Bruno Haible  <bruno@clisp.org>
1445
1446         exp2* tests: More tests.
1447         * tests/test-exp2.h (test_function): Test all integral arguments that
1448         don't need to overflow or denormalized numbers.
1449         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
1450         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
1451         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
1452
1453 2012-03-10  Bruno Haible  <bruno@clisp.org>
1454
1455         log1pl-ieee: Work around test failure on AIX 7.1.
1456         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
1457
1458         log1pl-ieee: Work around test failure on IRIX 6.5.
1459         * m4/log1pl-ieee.m4: New file.
1460         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
1461         test whether log1pl works with a minus zero argument. Replace it if
1462         not.
1463         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
1464         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
1465         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
1466         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
1467         (Depends-on): Update conditions.
1468         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
1469         m4/signbit.m4.
1470         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
1471         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
1472
1473         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
1474         * m4/log1pf-ieee.m4: New file.
1475         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
1476         test whether log1pf works with a minus zero argument. Replace it if
1477         not.
1478         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
1479         m4/signbit.m4.
1480         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
1481         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
1482
1483         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
1484         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
1485         (configure.ac): Require gl_FUNC_LOG1PF.
1486
1487         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
1488         * m4/log1p-ieee.m4: New file.
1489         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
1490         whether log1p works with a minus zero argument. Replace it if not.
1491         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
1492         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
1493         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
1494         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
1495         (Depends-on): Update conditions.
1496         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
1497         m4/signbit.m4.
1498         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
1499         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
1500
1501         Tests for module 'log1pl-ieee'.
1502         * modules/log1pl-ieee-tests: New file.
1503         * tests/test-log1pl-ieee.c: New file.
1504
1505         New module 'log1pl-ieee'.
1506         * modules/log1pl-ieee: New file.
1507
1508         Tests for module 'log1p-ieee'.
1509         * modules/log1p-ieee-tests: New file.
1510         * tests/test-log1p-ieee.c: New file.
1511
1512         New module 'log1p-ieee'.
1513         * modules/log1p-ieee: New file.
1514
1515         Tests for module 'log1pf-ieee'.
1516         * modules/log1pf-ieee-tests: New file.
1517         * tests/test-log1pf-ieee.c: New file.
1518         * tests/test-log1p-ieee.h: New file.
1519
1520         New module 'log1pf-ieee'.
1521         * modules/log1pf-ieee: New file.
1522
1523 2012-03-10  Bruno Haible  <bruno@clisp.org>
1524
1525         Tests for module 'log1pl'.
1526         * modules/log1pl-tests: New file.
1527         * tests/test-log1pl.c: New file.
1528
1529         New module 'log1pl'.
1530         * lib/math.in.h (log1pl): New declaration.
1531         * lib/log1pl.c: New file.
1532         * m4/log1pl.m4: New file.
1533         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
1534         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
1535         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
1536         * modules/log1pl: New file.
1537         * tests/test-math-c++.cc: Check the declaration of log1pl.
1538         * doc/posix-functions/log1pl.texi: Mention the new module.
1539
1540 2012-03-10  Bruno Haible  <bruno@clisp.org>
1541
1542         Tests for module 'log1pf'.
1543         * modules/log1pf-tests: New file.
1544         * tests/test-log1pf.c: New file.
1545
1546         New module 'log1pf'.
1547         * lib/math.in.h (log1pf): New declaration.
1548         * lib/log1pf.c: New file.
1549         * m4/log1pf.m4: New file.
1550         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
1551         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
1552         REPLACE_LOG1PF.
1553         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
1554         REPLACE_LOG1PF.
1555         * modules/log1pf: New file.
1556         * tests/test-math-c++.cc: Check the declaration of log1pf.
1557         * doc/posix-functions/log1pf.texi: Mention the new module.
1558
1559 2012-03-10  Bruno Haible  <bruno@clisp.org>
1560
1561         log1p tests: More tests.
1562         * tests/test-log1p.h: New file.
1563         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
1564         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
1565         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
1566         (main): Invoke test_function.
1567
1568         log1p: Provide replacement for Minix and MSVC.
1569         * lib/math.in.h (log1p): New declaration.
1570         * lib/log1p.c: New file.
1571         * m4/log1p.m4: New file.
1572         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
1573         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
1574         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
1575         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
1576         (Depends-on): Add math, isnand, log, round.
1577         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
1578         HAVE_LOG1P is 0.
1579         * tests/test-math-c++.cc: Check the declaration of log1p.
1580         * doc/posix-functions/log1p.texi: Mention the replacement.
1581
1582 2012-03-10  Bruno Haible  <bruno@clisp.org>
1583
1584         math tests: Small simplification.
1585         * tests/test-exp.h (test_function): Use the same err_bound for
1586         'double' on platforms with sizeof (long double) == sizeof (double)
1587         than on platforms with sizeof (long double) > sizeof (double).
1588         * tests/test-exp2.h (test_function): Likewise.
1589         * tests/test-expm1.h (test_function): Likewise.
1590         * tests/test-log.h (test_function): Likewise.
1591
1592 2012-03-10  Bruno Haible  <bruno@clisp.org>
1593
1594         Fix some comments.
1595         * lib/expl.c: Fix an ambiguous comment.
1596         * lib/expm1.c: Likewise.
1597         * lib/expm1l.c: Likewise.
1598         * lib/exp2.c: Likewise.
1599         * lib/exp2l.c: Likewise.
1600
1601 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
1602
1603         regex: allow inclusion of <regex.h> before <limits.h>
1604         Without this patch, portable programs had to include <limits.h> before
1605         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
1606         I ran into this problem with a test version of GNU grep on Solaris 8.
1607         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
1608         This is done conditionally so that this change can be merged
1609         back to glibc.
1610         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
1611         using the included regex.
1612
1613         fts: depend on fdopendir
1614         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
1615         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
1616         problem was introduced when fdopendir was split out.
1617
1618 2012-03-10  Bruno Haible  <bruno@clisp.org>
1619
1620         Remove unused variables.
1621         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
1622         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
1623
1624 2012-03-10  Bruno Haible  <bruno@clisp.org>
1625
1626         isnanf-nolibm: Fix last commit.
1627         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
1628
1629         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
1630         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
1631
1632 2012-03-10  Bruno Haible  <bruno@clisp.org>
1633
1634         logf-ieee: Work around test failure on NetBSD 5.1.
1635         * m4/logf-ieee.m4: New file.
1636         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
1637         whether logf works with a negative argument. Replace it if not.
1638         * lib/logf.c (logf): For negative arguments, return NaN.
1639         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
1640         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
1641         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
1642
1643         logf-ieee: Work around test failure on Solaris 9.
1644         * modules/logf-ieee (Depends-on): Add log-ieee.
1645         (configure.ac): Require gl_FUNC_LOGF.
1646
1647         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
1648         * m4/log-ieee.m4: New file.
1649         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
1650         log works with a negative argument. Replace it if not.
1651         * lib/log.c (log): For negative arguments, return NaN.
1652         * modules/log-ieee (Files): Add m4/log-ieee.m4.
1653         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
1654         * doc/posix-functions/log.texi: Mention the log-ieee module.
1655
1656         Tests for module 'logl-ieee'.
1657         * modules/logl-ieee-tests: New file.
1658         * tests/test-logl-ieee.c: New file.
1659
1660         New module 'logl-ieee'.
1661         * modules/logl-ieee: New file.
1662
1663         Tests for module 'log-ieee'.
1664         * modules/log-ieee-tests: New file.
1665         * tests/test-log-ieee.c: New file.
1666
1667         New module 'log-ieee'.
1668         * modules/log-ieee: New file.
1669
1670         Tests for module 'logf-ieee'.
1671         * modules/logf-ieee-tests: New file.
1672         * tests/test-logf-ieee.c: New file.
1673         * tests/test-log-ieee.h: New file.
1674
1675         New module 'logf-ieee'.
1676         * modules/logf-ieee: New file.
1677
1678 2012-03-10  Bruno Haible  <bruno@clisp.org>
1679
1680         log: Fix bug introduced on 2012-03-09.
1681         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
1682
1683 2012-03-10  Pádraig Brady  <P@draigBrady.com>
1684
1685         timer-time: link explicitly with pthreads on glibc
1686         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
1687         to support static linking, when newer glibc is
1688         detected, as that contains pthread emulation of
1689         POSIX timer functions where required.
1690         * modules/timer-time: Depend on threadlib to
1691         pull in the appropriate library to link.
1692
1693 2012-03-10  Bruno Haible  <bruno@clisp.org>
1694
1695         log* tests: More tests.
1696         * tests/test-log.h: New file.
1697         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
1698         (main): Invoke test_function.
1699         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
1700         (main): Invoke test_function.
1701         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
1702         (main): Invoke test_function.
1703         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1704         tests/randomd.c.
1705         (Makefile.am): Add randomd.c to test_log_SOURCES.
1706         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1707         tests/randomf.c.
1708         (Makefile.am): Add randomf.c to test_logf_SOURCES.
1709         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1710         tests/randoml.c.
1711         (Depends-on): Add 'float'.
1712         (Makefile.am): Add randoml.c to test_logl_SOURCES.
1713
1714 2012-03-09  Bruno Haible  <bruno@clisp.org>
1715
1716         logl: Work around OSF/1 5.1 bug.
1717         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
1718         * lib/logl.c (logl): If logl exists, use it and provide just the
1719         workaround.
1720         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
1721         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
1722         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
1723         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
1724         * modules/logl (configure.ac): Consider REPLACE_LOGL.
1725         (Depends-on): Update conditions.
1726         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
1727
1728 2012-03-09  Bruno Haible  <bruno@clisp.org>
1729
1730         logf: Work around OSF/1 5.1 bug.
1731         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
1732         * lib/logf.c (logf): If logf exists, use it and provide just the
1733         workaround.
1734         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
1735         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
1736         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
1737         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
1738         * modules/logf (configure.ac): Consider REPLACE_LOGF.
1739         (Depends-on): Update conditions.
1740         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
1741
1742 2012-03-09  Bruno Haible  <bruno@clisp.org>
1743
1744         log: Work around OSF/1 5.1 bug.
1745         * lib/math.in.h (log): New declaration.
1746         * lib/log.c: New file.
1747         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
1748         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
1749         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
1750         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
1751         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
1752         * modules/log (Files): Add lib/log.c.
1753         (Depends-on): Add math.
1754         (configure.ac): If REPLACE_LOG is 1, compile an override.
1755         * tests/test-math-c++.cc: Check the declaration of log.
1756         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
1757
1758 2012-03-09  Jim Meyering  <meyering@redhat.com>
1759
1760         readtokens.c: adjust wording in a comment
1761         * lib/readtokens.c: Insert omitted "that" in a comment.
1762
1763 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1764
1765         modechange: add notations +40, 00440, etc.
1766         * lib/modechange.c (mode_compile): Support new notations
1767         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
1768
1769 2012-03-08  Bruno Haible  <bruno@clisp.org>
1770
1771         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
1772         * m4/exp2l-ieee.m4: New file.
1773         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
1774         test whether exp2l works with a NaN argument and with a negative
1775         infinity argument. Replace it if not.
1776         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
1777         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
1778         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
1779         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
1780         (Depends-on): Update conditions.
1781         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
1782         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
1783         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
1784
1785         Tests for module 'exp2l-ieee'.
1786         * modules/exp2l-ieee-tests: New file.
1787         * tests/test-exp2l-ieee.c: New file.
1788
1789         New module 'exp2l-ieee'.
1790         * modules/exp2l-ieee: New file.
1791
1792         Tests for module 'exp2-ieee'.
1793         * modules/exp2-ieee-tests: New file.
1794         * tests/test-exp2-ieee.c: New file.
1795
1796         New module 'exp2-ieee'.
1797         * modules/exp2-ieee: New file.
1798
1799         Tests for module 'exp2f-ieee'.
1800         * modules/exp2f-ieee-tests: New file.
1801         * tests/test-exp2f-ieee.c: New file.
1802         * tests/test-exp2-ieee.h: New file.
1803
1804         New module 'exp2f-ieee'.
1805         * modules/exp2f-ieee: New file.
1806
1807 2012-03-08  Bruno Haible  <bruno@clisp.org>
1808
1809         Tests for module 'exp2l'.
1810         * modules/exp2l-tests: New file.
1811         * tests/test-exp2l.c: New file.
1812
1813         New module 'exp2l'.
1814         * lib/math.in.h (exp2l): New declaration.
1815         * lib/exp2l.c: New file.
1816         * lib/expl-table.c: New file, extracted from lib/expl.c.
1817         * lib/expl.c (gl_expl_table): New declaration.
1818         (expl): Remove expl_table. Update reference.
1819         * m4/exp2l.m4: New file.
1820         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
1821         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
1822         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
1823         * modules/exp2l: New file.
1824         * modules/expl (Files): Add lib/expl-table.c.
1825         (configure.ac): Compile also expl-table.c.
1826         * tests/test-math-c++.cc: Check the declaration of exp2l.
1827         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
1828         problem.
1829
1830 2012-03-08  Bruno Haible  <bruno@clisp.org>
1831
1832         Tests for module 'exp2f'.
1833         * modules/exp2f-tests: New file.
1834         * tests/test-exp2f.c: New file.
1835
1836         New module 'exp2f'.
1837         * lib/math.in.h (exp2f): New declaration.
1838         * lib/exp2f.c: New file.
1839         * m4/exp2f.m4: New file.
1840         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
1841         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
1842         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
1843         * modules/exp2f: New file.
1844         * tests/test-math-c++.cc: Check the declaration of exp2f.
1845         * doc/posix-functions/exp2f.texi: Mention the new module and the
1846         IRIX problem.
1847
1848 2012-03-08  Bruno Haible  <bruno@clisp.org>
1849
1850         Tests for module 'exp2'.
1851         * modules/exp2-tests: New file.
1852         * tests/test-exp2.c: New file.
1853         * tests/test-exp2.h: New file.
1854
1855         New module 'exp2'.
1856         * lib/math.in.h (exp2): New declaration.
1857         * lib/exp2.c: New file.
1858         * m4/exp2.m4: New file.
1859         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
1860         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
1861         REPLACE_EXP2.
1862         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
1863         REPLACE_EXP2.
1864         * modules/exp2: New file.
1865         * tests/test-math-c++.cc: Check the declaration of exp2.
1866         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
1867         and OpenBSD problems.
1868
1869 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1870
1871         savedir: fix comment typo
1872         * lib/savedir.c (savedirstream): Fix typo in comment.
1873
1874 2012-03-08  Bruno Haible  <bruno@clisp.org>
1875
1876         test-readtokens.c: use const; remove unwarranted cast
1877         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
1878
1879 2012-03-08  Bruno Haible  <bruno@clisp.org>
1880
1881         fmal: Avoid compilation error on AIX.
1882         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
1883         AIX 5.2..7.1.
1884
1885 2012-03-08  Bruno Haible  <bruno@clisp.org>
1886
1887         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
1888         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
1889         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
1890         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
1891         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
1892         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
1893         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
1894
1895 2012-03-08  Bruno Haible  <bruno@clisp.org>
1896
1897         remainderf: Override buggy system function on IRIX 6.5.
1898         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
1899         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
1900         when it exists.
1901         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
1902
1903 2012-03-08  Jim Meyering  <meyering@redhat.com>
1904
1905         test-readtokens.c: avoid const-related compilation warnings
1906         * tests/test-readtokens.c: Avoid const-related compilation warnings.
1907
1908 2012-03-07  Jim Meyering  <meyering@redhat.com>
1909             Bruno Haible  <bruno@clisp.org>
1910
1911         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
1912         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
1913         tests/randomd.c.
1914         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
1915         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
1916         tests/randoml.c.
1917         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
1918
1919 2012-03-07  Bruno Haible  <bruno@clisp.org>
1920
1921         expm1l: Avoid compilation error on AIX.
1922         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
1923         AIX 5.2..7.1.
1924
1925 2012-03-07  Bruno Haible  <bruno@clisp.org>
1926
1927         expm1l: Don't override undeclared system function on IRIX 6.5.
1928         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
1929         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
1930         it exists. Set HAVE_DECL_EXPM1L.
1931         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
1932         HAVE_EXPM1L.
1933         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
1934         HAVE_EXPM1L.
1935         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
1936
1937 2012-03-07  Bruno Haible  <bruno@clisp.org>
1938
1939         remainderl: Don't override undeclared system function on IRIX 6.5.
1940         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
1941         HAVE_REMAINDERL.
1942         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
1943         declared when it exists. Set HAVE_DECL_REMAINDERL.
1944         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
1945         not HAVE_REMAINDERL.
1946         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
1947         HAVE_REMAINDERL.
1948         * doc/posix-functions/remainderl.texi: Mention missing declaration
1949         problem.
1950
1951 2012-03-07  Bruno Haible  <bruno@clisp.org>
1952
1953         rintf: Don't override undeclared system function on IRIX 6.5.
1954         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
1955         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
1956         exists. Set HAVE_DECL_RINTF.
1957         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
1958         HAVE_RINTF.
1959         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
1960         HAVE_RINTF.
1961         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
1962
1963 2012-03-07  Bruno Haible  <bruno@clisp.org>
1964
1965         roundl: Avoid compilation error on AIX.
1966         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
1967         AIX 5.2..7.1.
1968
1969 2012-03-07  Bruno Haible  <bruno@clisp.org>
1970
1971         roundl: Don't override undeclared system function on IRIX 6.5.
1972         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
1973         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
1974         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1975         * modules/roundl (configure.ac): For replacement code, test
1976         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1977         (Depends-on): Update conditions.
1978         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
1979
1980 2012-03-07  Bruno Haible  <bruno@clisp.org>
1981
1982         roundf: Don't override undeclared system function on IRIX 6.5.
1983         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
1984         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
1985         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1986         * modules/roundf (configure.ac): For replacement code, test
1987         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1988         (Depends-on): Update conditions.
1989         * modules/roundf-ieee (Depends-on): Update conditions.
1990         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
1991
1992 2012-03-07  Bruno Haible  <bruno@clisp.org>
1993
1994         round: Don't override undeclared system function on IRIX 6.5.
1995         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
1996         argument.
1997         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
1998         also when it is not declared. Set HAVE_ROUND. For replacement code,
1999         test HAVE_ROUND, not HAVE_DECL_ROUND.
2000         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
2001         not HAVE_DECL_ROUND.
2002         (Depends-on): Update conditions.
2003         * modules/round-ieee (Depends-on): Update conditions.
2004         * doc/posix-functions/round.texi: Mention the IRIX problem.
2005
2006 2012-03-07  Bruno Haible  <bruno@clisp.org>
2007
2008         copysignf: Don't override undeclared system function on IRIX 6.5.
2009         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
2010         HAVE_COPYSIGNF.
2011         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
2012         declared when it exists. Set HAVE_DECL_COPYSIGNF.
2013         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
2014         not HAVE_COPYSIGNF.
2015         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
2016         HAVE_COPYSIGNF.
2017         * doc/posix-functions/copysignf.texi: Mention missing declaration
2018         problem.
2019
2020 2012-03-07  Jim Meyering  <meyering@redhat.com>
2021
2022         readtokens: add tests
2023         * modules/readtokens-tests: New file.
2024         * tests/test-readtokens.c: New file.
2025
2026 2012-03-07  Jim Meyering  <meyering@redhat.com>
2027
2028         quotearg: the module must now include quote.h
2029         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
2030         So must the module.
2031         * modules/quotearg (Files): Add quote.h.
2032
2033 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
2034
2035         readtokens: avoid core dumps with unusual calling patterns
2036         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
2037         * lib/readtokens.c: Include limits.h.
2038         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
2039         (readtoken): Don't cache the delimiters; the cache code was buggy
2040         if !delim && saved_delim, or if the new n_delim differs from the old.
2041         Also, it wasn't thread-safe.
2042
2043 2012-03-07  Bruno Haible  <bruno@clisp.org>
2044
2045         quote: Adhere to common module description layout.
2046         * modules/quote (Makefile.am): Add back empty section.
2047
2048 2012-03-06  Akim Demaille  <demaille@gostai.com>
2049
2050         quote: fuse into quotearg
2051         This patch is made for the benefit of Bison.
2052         quote does not leave the choice of the quoting style to the user.
2053         quoting_style provides poor customizability, yet quoting_options,
2054         which is very rich, is hidden inside quotearg.c.  So in order to
2055         allow quote customization, move its implementation to quotearg.c.
2056         * lib/quote.c: Remove.
2057         * modules/quote: Adjust.
2058         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
2059         warning: provide all the members of literal structs.
2060         (quote_quoting_options): New.
2061         (quote, quote_n): Import implementation from quote.c.
2062         * lib/quote.h: Import the comments from quote.c.
2063         (quote_quoting_options): New.
2064
2065 2012-03-06  Bruno Haible  <bruno@clisp.org>
2066
2067         Tests for module 'expm1l-ieee'.
2068         * modules/expm1l-ieee-tests: New file.
2069         * tests/test-expm1l-ieee.c: New file.
2070
2071         New module 'expm1l-ieee'.
2072         * modules/expm1l-ieee: New file.
2073
2074         Tests for module 'expm1f-ieee'.
2075         * modules/expm1f-ieee-tests: New file.
2076         * tests/test-expm1f-ieee.c: New file.
2077
2078         New module 'expm1f-ieee'.
2079         * modules/expm1f-ieee: New file.
2080
2081         Tests for module 'expm1-ieee'.
2082         * modules/expm1-ieee-tests: New file.
2083         * tests/test-expm1-ieee.c: New file.
2084         * tests/test-expm1-ieee.h: New file.
2085
2086         New module 'expm1-ieee'.
2087         * modules/expm1-ieee: New file.
2088         * m4/expm1-ieee.m4: New file.
2089         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
2090         whether expm1 works with a minus zero argument. Replace it if not.
2091         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
2092         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
2093         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
2094         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
2095         (Depends-on): Update conditions.
2096         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
2097         AIX problem.
2098
2099 2012-03-06  Bruno Haible  <bruno@clisp.org>
2100
2101         Work around expm1f bug on IRIX 6.5.
2102         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
2103         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
2104         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
2105         not work.
2106         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
2107         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
2108         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
2109         (Depends-on): Update conditions.
2110         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
2111
2112 2012-03-06  Bruno Haible  <bruno@clisp.org>
2113
2114         Tests for module 'expm1l'.
2115         * modules/expm1l-tests: New file.
2116         * tests/test-expm1l.c: New file.
2117
2118         New module 'expm1l'.
2119         * lib/math.in.h (expm1l): New declaration.
2120         * lib/expm1l.c: New file.
2121         * m4/expm1l.m4: New file.
2122         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
2123         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
2124         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
2125         * modules/expm1l: New file.
2126         * tests/test-math-c++.cc: Check the declaration of expm1l.
2127         * doc/posix-functions/expm1l.texi: Mention the new module.
2128
2129 2012-03-06  Bruno Haible  <bruno@clisp.org>
2130
2131         Tests for module 'expm1f'.
2132         * modules/expm1f-tests: New file.
2133         * tests/test-expm1f.c: New file.
2134
2135         New module 'expm1f'.
2136         * lib/math.in.h (expm1f): New declaration.
2137         * lib/expm1f.c: New file.
2138         * m4/expm1f.m4: New file.
2139         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
2140         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
2141         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
2142         * modules/expm1f: New file.
2143         * tests/test-math-c++.cc: Check the declaration of expm1f.
2144         * doc/posix-functions/expm1f.texi: Mention the new module.
2145
2146 2012-03-06  Bruno Haible  <bruno@clisp.org>
2147
2148         Tests for module 'expm1'.
2149         * modules/expm1-tests: New file.
2150         * tests/test-expm1.c: New file.
2151         * tests/test-expm1.h: New file.
2152
2153         New module 'expm1'.
2154         * lib/math.in.h (expm1): New declaration.
2155         * lib/expm1.c: New file.
2156         * m4/expm1.m4: New file.
2157         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
2158         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
2159         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
2160         * modules/expm1: New file.
2161         * tests/test-math-c++.cc: Check the declaration of expm1.
2162         * doc/posix-functions/expm1.texi: Mention the new module.
2163
2164 2012-03-06  Bruno Haible  <bruno@clisp.org>
2165
2166         math: Ensure declarations of math functions.
2167         * modules/acosf (Depends-on): Add 'extensions'.
2168         * modules/asinf (Depends-on): Likewise.
2169         * modules/atan2f (Depends-on): Likewise.
2170         * modules/atanf (Depends-on): Likewise.
2171         * modules/cbrt (Depends-on): Likewise.
2172         * modules/cbrtf (Depends-on): Likewise.
2173         * modules/cbrtl (Depends-on): Likewise.
2174         * modules/copysignf (Depends-on): Likewise.
2175         * modules/copysignl (Depends-on): Likewise.
2176         * modules/cosf (Depends-on): Likewise.
2177         * modules/coshf (Depends-on): Likewise.
2178         * modules/expf (Depends-on): Likewise.
2179         * modules/fabsf (Depends-on): Likewise.
2180         * modules/fabsl (Depends-on): Likewise.
2181         * modules/fmaf (Depends-on): Likewise.
2182         * modules/fmal (Depends-on): Likewise.
2183         * modules/fmodf (Depends-on): Likewise.
2184         * modules/fmodl (Depends-on): Likewise.
2185         * modules/frexpf (Depends-on): Likewise.
2186         * modules/frexpl (Depends-on): Likewise.
2187         * modules/hypot (Depends-on): Likewise.
2188         * modules/hypotf (Depends-on): Likewise.
2189         * modules/hypotl (Depends-on): Likewise.
2190         * modules/ldexpf (Depends-on): Likewise.
2191         * modules/ldexpl (Depends-on): Likewise.
2192         * modules/log10f (Depends-on): Likewise.
2193         * modules/log10l (Depends-on): Likewise.
2194         * modules/log1p (Depends-on): Likewise.
2195         * modules/logb (Depends-on): Likewise.
2196         * modules/logf (Depends-on): Likewise.
2197         * modules/modff (Depends-on): Likewise.
2198         * modules/modfl (Depends-on): Likewise.
2199         * modules/powf (Depends-on): Likewise.
2200         * modules/remainderf (Depends-on): Likewise.
2201         * modules/remainderl (Depends-on): Likewise.
2202         * modules/rintf (Depends-on): Likewise.
2203         * modules/rintl (Depends-on): Likewise.
2204         * modules/sinf (Depends-on): Likewise.
2205         * modules/sinhf (Depends-on): Likewise.
2206         * modules/sqrtf (Depends-on): Likewise.
2207         * modules/tanf (Depends-on): Likewise.
2208         * modules/tanhf (Depends-on): Likewise.
2209         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
2210         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
2211         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
2212         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
2213         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
2214         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
2215         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
2216         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
2217         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
2218         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
2219         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
2220         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
2221         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
2222         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
2223         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
2224         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
2225         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
2226         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2227         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
2228         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
2229         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
2230         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
2231         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
2232         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
2233         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
2234         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
2235         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
2236         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
2237         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
2238         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
2239         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
2240         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
2241         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2242         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2243         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
2244         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
2245         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
2246         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
2247         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
2248         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
2249         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
2250
2251 2012-03-06  Bruno Haible  <bruno@clisp.org>
2252
2253         math: Update module names in warnings.
2254         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
2255         tanl): Use specific module name in warn-on-use warning.
2256
2257 2012-03-06  Bruno Haible  <bruno@clisp.org>
2258
2259         expl: Simplify computation.
2260         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
2261
2262 2012-03-05  Bruno Haible  <bruno@clisp.org>
2263
2264         exp* tests: More tests.
2265         * tests/test-exp.h: New file.
2266         * tests/test-exp.c: Include <float.h> and test-exp.h.
2267         (main): Invoke test_function.
2268         * tests/test-expf.c: Include <float.h> and test-exp.h.
2269         (main): Invoke test_function.
2270         * tests/test-expl.c: Include <float.h> and test-exp.h.
2271         (main): Invoke test_function.
2272         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
2273         (Makefile.am): Add randomd.c to test_exp_SOURCES.
2274         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
2275         (Makefile.am): Add randomf.c to test_expf_SOURCES.
2276         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
2277         (Depends-on): Add 'float'.
2278         (Makefile.am): Add randoml.c to test_expl_SOURCES.
2279
2280         expl: Fix precision of computed result.
2281         * lib/expl.c: Completely rewritten.
2282         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
2283         (Maintainer): Add me.
2284         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
2285
2286 2012-03-05  Bruno Haible  <bruno@clisp.org>
2287
2288         cbrt* tests: More tests.
2289         * tests/test-cbrt.h: New file.
2290         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
2291         (main): Invoke test_function.
2292         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
2293         (main): Invoke test_function.
2294         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
2295         (main): Invoke test_function.
2296         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
2297         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
2298         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
2299         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
2300         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
2301         (Depends-on): Add 'float'.
2302         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
2303
2304 2012-03-05  Bruno Haible  <bruno@clisp.org>
2305
2306         hypot* tests: More tests.
2307         * tests/test-hypot.h: New file, partially extracted from
2308         tests/test-hypotl.c.
2309         * tests/test-hypot.c: Include test-hypot.h.
2310         (main): Invoke test_function.
2311         * tests/test-hypotf.c: Include test-hypot.h.
2312         (main): Invoke test_function.
2313         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
2314         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
2315         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
2316         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
2317         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
2318         tests/randomf.c.
2319         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
2320         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
2321         tests/randoml.c.
2322         (Depends-on): Add 'fpucw', 'float'.
2323         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
2324
2325 2012-03-05  Bruno Haible  <bruno@clisp.org>
2326
2327         fpucw: Doc about FreeBSD.
2328         * lib/fpucw.h: Mention FreeBSD in comments.
2329
2330 2012-03-04  Bruno Haible  <bruno@clisp.org>
2331
2332         sqrt* tests: More tests.
2333         * tests/test-sqrt.h: New file.
2334         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
2335         (main): Invoke test_function.
2336         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
2337         (main): Invoke test_function.
2338         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
2339         (main): Invoke test_function.
2340         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
2341         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
2342         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
2343         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
2344         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
2345         (Depends-on): Add 'float'.
2346         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
2347
2348 2012-03-04  Bruno Haible  <bruno@clisp.org>
2349
2350         remainder* tests: More tests.
2351         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
2352         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
2353         (main): Invoke test_function.
2354         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
2355         (main): Invoke test_function.
2356         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
2357         (main): Invoke test_function.
2358         * modules/remainder-tests (Files): Add tests/test-remainder.h,
2359         tests/randomd.c.
2360         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
2361         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
2362         tests/randomf.c.
2363         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
2364         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
2365         tests/randoml.c.
2366         (Depends-on): Add 'float'.
2367         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
2368
2369 2012-03-04  Bruno Haible  <bruno@clisp.org>
2370
2371         remainder, remainderf, remainderl: Fix computation for large quotients.
2372         * lib/remainder.c: Completely rewritten.
2373         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
2374         USE_FLOAT.
2375         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
2376         USE_LONG_DOUBLE.
2377         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
2378         isnand, isinf. Remove round, fma.
2379         * modules/remainderf (Files): Add lib/remainder.c.
2380         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
2381         Remove roundf, fmaf.
2382         * modules/remainderl (Files): Add lib/remainder.c.
2383         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
2384         isinf. Remove roundl, fmal.
2385         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
2386         REMAINDER_LIBM.
2387         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
2388         REMAINDERF_LIBM.
2389         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
2390         REMAINDERL_LIBM.
2391
2392 2012-03-04  Bruno Haible  <bruno@clisp.org>
2393
2394         fmod* tests: More tests.
2395         * tests/test-fmod.h (my_ldexp): New function.
2396         (test_function): Reduce amount of random numbers to test. Add tests
2397         of very large quotients x / y.
2398         * tests/test-fmod.c (MAX_EXP): New macro.
2399         * tests/test-fmodf.c (MAX_EXP): Likewise.
2400         * tests/test-fmodl.c (MAX_EXP): Likewise.
2401
2402 2012-03-04  Bruno Haible  <bruno@clisp.org>
2403
2404         fmod, fmodl: Fix computation for large quotients x / y.
2405         * lib/fmod.c: Completely rewritten.
2406         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
2407         USE_LONG_DOUBLE.
2408         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
2409         isnand. Remove fma.
2410         * modules/fmodl (Files): Add lib/fmod.c.
2411         (Depends-on): Add float, isfinite, signbit, fabsl,
2412         frexpl, ldexpl, isnanl. Remove fma.
2413         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
2414         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
2415
2416 2012-03-03  Bruno Haible  <bruno@clisp.org>
2417
2418         fmod* tests: More tests.
2419         * tests/test-fmod.h: New file.
2420         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
2421         (main): Invoke test_function.
2422         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
2423         (main): Invoke test_function.
2424         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
2425         (main): Invoke test_function.
2426         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
2427         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
2428         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
2429         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
2430         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
2431         (Depends-on): Add 'float'.
2432         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
2433
2434 2012-03-03  Bruno Haible  <bruno@clisp.org>
2435
2436         rint* tests: More tests.
2437         * tests/test-rint.h: New file, partially extracted from
2438         tests/test-rintl.c.
2439         * tests/test-rint.c: Include test-rint.h.
2440         (main): Invoke test_function.
2441         * tests/test-rintf.c: Include test-rint.h.
2442         (main): Invoke test_function.
2443         * tests/test-rintl.c: Include test-rint.h.
2444         (main): Invoke test_function.
2445         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
2446         (Makefile.am): Add randomd.c to test_rint_SOURCES.
2447         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
2448         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
2449         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
2450         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
2451
2452 2012-03-03  Bruno Haible  <bruno@clisp.org>
2453
2454         modf* tests: More tests.
2455         * tests/test-modf.h: New file.
2456         * tests/test-modf.c: Include <float.h> and test-modf.h.
2457         (main): Invoke test_function.
2458         * tests/test-modff.c: Include <float.h> and test-modf.h.
2459         (main): Invoke test_function.
2460         * tests/test-modfl.c: Include <float.h> and test-modf.h.
2461         (main): Invoke test_function.
2462         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
2463         (Makefile.am): Add randomd.c to test_modf_SOURCES.
2464         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
2465         (Makefile.am): Add randomf.c to test_modff_SOURCES.
2466         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
2467         (Depends-on): Add 'float'.
2468         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
2469
2470 2012-03-03  Bruno Haible  <bruno@clisp.org>
2471
2472         fabs* tests: More tests.
2473         * tests/test-fabs.h: New file, partially extracted from
2474         tests/test-fabsl.c.
2475         * tests/test-fabs.c (RANDOM): New macro.
2476         * tests/test-fabsf.c (RANDOM): New macro.
2477         * tests/test-fabsl.c (RANDOM): New macro.
2478         * modules/fabs-tests (Files): Add tests/randomd.c.
2479         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
2480         * modules/fabsf-tests (Files): Add tests/randomf.c.
2481         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
2482         * modules/fabsl-tests (Files): Add tests/randoml.c.
2483         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
2484
2485 2012-03-03  Bruno Haible  <bruno@clisp.org>
2486
2487         ldexp* tests: More tests.
2488         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
2489         * tests/test-ldexp.c (RANDOM): New macro.
2490         * tests/test-ldexpf.c (RANDOM): New macro.
2491         * tests/test-ldexpl.c (RANDOM): New macro.
2492         * modules/ldexp-tests (Files): Add tests/randomd.c.
2493         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
2494         * modules/ldexpf-tests (Files): Add tests/randomf.c.
2495         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
2496         * modules/ldexpl-tests (Files): Add tests/randoml.c.
2497         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
2498
2499 2012-03-03  Bruno Haible  <bruno@clisp.org>
2500
2501         frexp* tests: More tests.
2502         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
2503         * tests/test-frexp.c (RANDOM): New macro.
2504         * tests/test-frexpf.c (RANDOM): New macro.
2505         * tests/test-frexpl.c (RANDOM): New macro.
2506         * modules/frexp-tests (Files): Add tests/randomd.c.
2507         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
2508         * modules/frexpf-tests (Files): Add tests/randomf.c.
2509         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
2510         * modules/frexpl-tests (Files): Add tests/randoml.c.
2511         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
2512
2513 2012-03-03  Bruno Haible  <bruno@clisp.org>
2514
2515         Support for pseudo-random numbers in tests.
2516         * tests/randomf.c: New file.
2517         * tests/randomd.c: New file.
2518         * tests/randoml.c: New file.
2519         * tests/macros.h (randomf, randomd, randoml): New declarations.
2520
2521 2012-03-03  Bruno Haible  <bruno@clisp.org>
2522
2523         frexp* tests: Refactor.
2524         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
2525         * tests/test-frexp.c: Include and use it.
2526         * tests/test-frexpf.c: Likewise.
2527         * tests/test-frexpl.c: Likewise.
2528         * modules/frexp-tests (Files): Add tests/test-frexp.h.
2529         * modules/frexpf-tests (Files): Likewise.
2530         * modules/frexpl-tests (Files): Likewise.
2531
2532 2012-03-02  Jim Meyering  <meyering@redhat.com>
2533
2534         maint: don't specify XZ_OPT=-9ev in dist-related rule
2535         Using xz's -9 option is warranted only if you have a very large
2536         tarball (see xz's documentation for the sizes vs. presets), and
2537         requires 64MiB of memory at decompression time.
2538         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
2539         Automake's default of just "-e" is fine.  Override on a
2540         per-package basis by setting XZ_OPT e.g., in cfg.mk.
2541
2542 2012-03-01  Eric Blake  <eblake@redhat.com>
2543
2544         maint.mk: allow announcement for non-gnulib project
2545         * maint.mk (announcement): Skip gnulib version if not used.
2546
2547 2012-03-01  Jim Meyering  <meyering@redhat.com>
2548
2549         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
2550         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
2551         envvar settings cannot interfere.  Otherwise, setting envvars like
2552         prohibit=foo require=bar, etc. would cause spurious test failures.
2553
2554 2012-03-01  Eric Blake  <eblake@redhat.com>
2555
2556         maint.mk: add per-line exclusions to prohibitions
2557         * maint.mk (_sc_search_regexp): Add $exclude parameter.
2558         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2559         (sc_const_long_option): Use it.
2560
2561 2012-03-01  Bruno Haible  <bruno@clisp.org>
2562
2563         Tests for module 'expl-ieee'.
2564         * modules/expl-ieee-tests: New file.
2565         * tests/test-expl-ieee.c: New file.
2566
2567         New module 'expl-ieee'.
2568         * modules/expl-ieee: New file.
2569
2570         Tests for module 'exp-ieee'.
2571         * modules/exp-ieee-tests: New file.
2572         * tests/test-exp-ieee.c: New file.
2573
2574         New module 'exp-ieee'.
2575         * modules/exp-ieee: New file.
2576
2577         Tests for module 'expf-ieee'.
2578         * modules/expf-ieee-tests: New file.
2579         * tests/test-expf-ieee.c: New file.
2580         * tests/test-exp-ieee.h: New file.
2581
2582         New module 'expf-ieee'.
2583         * modules/expf-ieee: New file.
2584
2585 2012-02-29  Bruno Haible  <bruno@clisp.org>
2586
2587         cbrtl-ieee: Work around test failure on IRIX 6.5.
2588         * m4/cbrtl-ieee.m4: New file.
2589         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
2590         test whether cbrtl works with a minus zero argument. Replace it if not.
2591         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
2592         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
2593         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
2594         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
2595         (Depends-on): Update conditions.
2596         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
2597         m4/signbit.m4.
2598         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
2599         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
2600         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
2601
2602         Tests for module 'cbrtl-ieee'.
2603         * modules/cbrtl-ieee-tests: New file.
2604         * tests/test-cbrtl-ieee.c: New file.
2605
2606         New module 'cbrtl-ieee'.
2607         * modules/cbrtl-ieee: New file.
2608
2609         Tests for module 'cbrt-ieee'.
2610         * modules/cbrt-ieee-tests: New file.
2611         * tests/test-cbrt-ieee.c: New file.
2612
2613         New module 'cbrt-ieee'.
2614         * modules/cbrt-ieee: New file.
2615
2616         Tests for module 'cbrtf-ieee'.
2617         * modules/cbrtf-ieee-tests: New file.
2618         * tests/test-cbrtf-ieee.c: New file.
2619         * tests/test-cbrt-ieee.h: New file.
2620
2621         New module 'cbrtf-ieee'.
2622         * modules/cbrtf-ieee: New file.
2623
2624 2012-02-29  Bruno Haible  <bruno@clisp.org>
2625
2626         cbrtf: Work around bug in IRIX 6.5 system function.
2627         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
2628         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
2629         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
2630         work.
2631         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
2632         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
2633         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
2634         (Depends-on): Update conditions.
2635         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
2636
2637 2012-02-29  Bruno Haible  <bruno@clisp.org>
2638
2639         Tests for module 'cbrtl'.
2640         * modules/cbrtl-tests: New file.
2641         * tests/test-cbrtl.c: New file.
2642
2643         New module 'cbrtl'.
2644         * lib/math.in.h (cbrtl): New declaration.
2645         * lib/cbrtl.c: New file.
2646         * m4/cbrtl.m4: New file.
2647         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
2648         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
2649         HAVE_DECL_CBRTL.
2650         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
2651         HAVE_DECL_CBRTL.
2652         * modules/cbrtl: New file.
2653         * tests/test-math-c++.cc: Check the declaration of cbrtl.
2654         * doc/posix-functions/cbrtl.texi: Mention the new module.
2655
2656 2012-02-29  Bruno Haible  <bruno@clisp.org>
2657
2658         Tests for module 'cbrtf'.
2659         * modules/cbrtf-tests: New file.
2660         * tests/test-cbrtf.c: New file.
2661
2662         New module 'cbrtf'.
2663         * lib/math.in.h (cbrtf): New declaration.
2664         * lib/cbrtf.c: New file.
2665         * m4/cbrtf.m4: New file.
2666         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
2667         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
2668         HAVE_DECL_CBRTF.
2669         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
2670         HAVE_DECL_CBRTF.
2671         * modules/cbrtf: New file.
2672         * tests/test-math-c++.cc: Check the declaration of cbrtf.
2673         * doc/posix-functions/cbrtf.texi: Mention the new module.
2674
2675 2012-02-29  Bruno Haible  <bruno@clisp.org>
2676
2677         cbrt: Provide replacement on MSVC and Minix.
2678         * lib/math.in.h (cbrt): New declaration.
2679         * lib/cbrt.c: New file.
2680         * m4/cbrt.m4: New file.
2681         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
2682         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
2683         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
2684         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
2685         (Depends-on): Add dependencies.
2686         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
2687         * tests/test-math-c++.cc: Check the declaration of cbrt.
2688         * doc/posix-functions/cbrt.texi: Mention that the module provides a
2689         replacement.
2690
2691 2012-02-29  Bruno Haible  <bruno@clisp.org>
2692
2693         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
2694         * m4/hypotl-ieee.m4: New file.
2695         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
2696         test whether hypotl works with mixed NaN and Infinity arguments.
2697         Replace it if not.
2698         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
2699         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
2700         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
2701         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
2702         (Depends-on): Update conditions.
2703         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
2704         (Depends-on): Add hypot-ieee.
2705         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
2706         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
2707
2708         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
2709         * m4/hypotf-ieee.m4: New file.
2710         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
2711         test whether hypotf works with mixed NaN and Infinity arguments.
2712         Replace it if not.
2713         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
2714         (Depends-on): Add hypot-ieee.
2715         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
2716         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
2717
2718         hypot-ieee: Work around test failure on OSF/1 and native Windows.
2719         * lib/math.in.h (hypot): New declaration.
2720         * lib/hypot.c: New file.
2721         * m4/hypot-ieee.m4: New file.
2722         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
2723         whether hypot works with mixed NaN and Infinity arguments. Replace it
2724         if not.
2725         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
2726         REPLACE_HYPOT.
2727         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
2728         * modules/hypot (Files): Add lib/hypot.c.
2729         (Depends-on): Add dependencies.
2730         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
2731         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
2732         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
2733         * tests/test-math-c++.cc: Check the declaration of hypot.
2734         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
2735
2736         Tests for module 'hypotl-ieee'.
2737         * modules/hypotl-ieee-tests: New file.
2738         * tests/test-hypotl-ieee.c: New file.
2739
2740         New module 'hypotl-ieee'.
2741         * modules/hypotl-ieee: New file.
2742
2743         Tests for module 'hypot-ieee'.
2744         * modules/hypot-ieee-tests: New file.
2745         * tests/test-hypot-ieee.c: New file.
2746
2747         New module 'hypot-ieee'.
2748         * modules/hypot-ieee: New file.
2749
2750         Tests for module 'hypotf-ieee'.
2751         * modules/hypotf-ieee-tests: New file.
2752         * tests/test-hypotf-ieee.c: New file.
2753         * tests/test-hypot-ieee.h: New file.
2754
2755         New module 'hypotf-ieee'.
2756         * modules/hypotf-ieee: New file.
2757
2758 2012-02-29  Bruno Haible  <bruno@clisp.org>
2759
2760         Remove unused variables.
2761         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
2762         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2763         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
2764         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2765
2766 2012-02-29  Eric Blake  <eblake@redhat.com>
2767
2768         termios: fix pid_t always, not just for tcgetsid
2769         * doc/posix-headers/termios.texi (termios.h): Mention problem.
2770         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
2771         just when building tcgetsid.
2772
2773 2012-02-29  Bruno Haible  <bruno@clisp.org>
2774
2775         Tests for module 'hypotl'.
2776         * modules/hypotl-tests: New file.
2777         * tests/test-hypotl.c: New file.
2778
2779         New module 'hypotl'.
2780         * lib/math.in.h (hypotl): New declaration.
2781         * lib/hypotl.c: New file.
2782         * m4/hypotl.m4: New file.
2783         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2784         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
2785         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
2786         * modules/hypotl: New file.
2787         * tests/test-math-c++.cc: Check the hypotl declaration.
2788         * doc/posix-functions/hypotl.texi: Mention the new module.
2789
2790 2012-02-29  Eric Blake  <eblake@redhat.com>
2791
2792         tcgetsid: fix cygwin header bug
2793         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
2794
2795         docs: update cygwin progress
2796         * doc/posix-functions/llround.texi (llround): Added in cygwin
2797         1.7.8.
2798         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
2799         * doc/glibc-functions/program_invocation_name.texi
2800         (program_invocation_name): Likewise.
2801         * doc/glibc-functions/program_invocation_short_name.texi
2802         (program_invocation_short_name): Likewise.
2803         * doc/glibc-functions/madvise.texi (madvise): Likewise.
2804         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
2805         Likewise.
2806         * doc/posix-functions/pthread_spin_destroy.texi
2807         (pthread_spin_destroy): Added in cygwin 1.7.10.
2808         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
2809         Likewise.
2810         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
2811         Likewise.
2812         * doc/posix-functions/pthread_spin_trylock.texi
2813         (pthread_spin_trylock): Likewise.
2814         * doc/posix-functions/pthread_spin_unlock.texi
2815         (pthread_spin_unlock): Likewise.
2816         * doc/posix-functions/pthread_setschedprio.texi
2817         (pthread_setschedprio): Likewise.
2818         * doc/posix-functions/pthread_attr_getstack.texi
2819         (pthread_attr_getstack): Likewise.
2820         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
2821         (pthread_attr_getstackaddr): Likewise.
2822         * doc/glibc-functions/pthread_getattr_np.texi
2823         (pthread_getattr_np): Likewise.
2824         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
2825         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
2826         * doc/posix-functions/clock_settime.texi (clock_settime):
2827         Likewise.
2828         * doc/posix-functions/pthread_attr_getguardsize.texi
2829         (pthread_attr_getguardsize): Likewise.
2830         * doc/posix-functions/pthread_attr_setguardsize.texi
2831         (pthread_attr_setguardsize): Likewise.
2832         * doc/posix-functions/pthread_attr_setstack.texi
2833         (pthread_attr_setstack): Likewise.
2834         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
2835         (pthread_attr_setstackaddr): Likewise.
2836         * doc/posix-functions/clock_getcpuclockid.texi
2837         (clock_getcpuclockid): Likewise.
2838         * doc/posix-functions/pthread_getcpuclockid.texi
2839         (pthread_getcpuclockid): Likewise.
2840         * doc/glibc-functions/error.texi (error): Likewise.
2841         * doc/glibc-functions/error_at_line.texi (error_at_line):
2842         Likewise.
2843         * doc/glibc-functions/error_message_count.texi
2844         (error_message_count): Likewise.
2845         * doc/glibc-functions/error_one_per_line.texi
2846         (error_one_per_line): Likewise.
2847         * doc/glibc-functions/error_print_progname.texi
2848         (error_print_progname): Likewise.
2849         * doc/posix-functions/pthread_condattr_getclock.texi
2850         (pthread_condattr_getclock): Likewise.
2851         * doc/posix-functions/pthread_condattr_setclock.texi
2852         (pthread_condattr_setclock): Likewise.
2853         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
2854         Likewise.
2855         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
2856         * doc/glibc-functions/getpt.texi (getpt): Likewise.
2857         * doc/glibc-functions/get_current_dir_name.texi
2858         (get_current_dir_name): Likewise.
2859         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
2860         Likewise.
2861         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
2862         wrong return type.
2863         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
2864         1.7.11.
2865
2866 2012-02-29  Bruno Haible  <bruno@clisp.org>
2867
2868         Tests for module 'hypotf'.
2869         * modules/hypotf-tests: New file.
2870         * tests/test-hypotf.c: New file.
2871
2872         New module 'hypotf'.
2873         * lib/math.in.h (hypotf): New declaration.
2874         * lib/hypotf.c: New file.
2875         * m4/hypotf.m4: New file.
2876         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2877         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
2878         REPLACE_HYPOTF.
2879         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
2880         REPLACE_HYPOTF.
2881         * modules/hypotf: New file.
2882         * tests/test-math-c++.cc: Check the hypotf declaration.
2883         * doc/posix-functions/hypotf.texi: Mention the new module.
2884
2885         hypot: Prepare for hypotf module.
2886         * m4/hypot.m4: New file.
2887         * modules/hypot (Files): Add m4/hypot.m4.
2888         (configure.ac): Invoke gl_FUNC_HYPOT.
2889
2890 2012-02-29  Bruno Haible  <bruno@clisp.org>
2891
2892         hypot tests: More tests.
2893         * tests/test-hypot.c: Include <float.h>.
2894         (main): Add tests about overflow and underflow.
2895
2896 2012-02-29  Bruno Haible  <bruno@clisp.org>
2897
2898         math code: Add comments.
2899         * lib/acosl.c: Add comment about related glibc source files.
2900         * lib/asinl.c: Likewise.
2901         * lib/atanl.c: Likewise.
2902         * lib/expl.c: Likewise.
2903         * lib/logl.c: Likewise.
2904         * lib/sincosl.c: Likewise.
2905         * lib/sinl.c: Likewise.
2906         * lib/tanl.c: Likewise.
2907         * lib/trigl.c: Likewise.
2908         * lib/cosl.c: Likewise. Fix comments.
2909
2910 2012-02-28  Bruno Haible  <bruno@clisp.org>
2911
2912         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
2913         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
2914         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
2915         HUGE_VALL are defined.
2916         (numeric_equald): Renamed from numeric_equal.
2917         (numeric_equalf, numeric_equall): New functions.
2918         (main): Check also HUGE_VALF, HUGE_VALL.
2919         * modules/math-tests (Files): Add tests/macros.h.
2920         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
2921         HUGE_VALL.
2922
2923 2012-02-28  Bruno Haible  <bruno@clisp.org>
2924
2925         doc: Move ISO C11 feature notes into POSIX chapters.
2926         * doc/posix-functions/aligned_alloc.texi: Renamed from
2927         doc/glibc-functions/aligned_alloc.texi.
2928         * doc/posix-functions/quick_exit.texi: Renamed from
2929         doc/glibc-functions/quick_exit.texi.
2930         * doc/posix-headers/uchar.texi: Renamed from
2931         doc/glibc-headers/uchar.texi.
2932         * doc/posix-functions/c16rtomb.texi: Renamed from
2933         doc/glibc-functions/c16rtomb.texi.
2934         * doc/posix-functions/c32rtomb.texi: Renamed from
2935         doc/glibc-functions/c32rtomb.texi.
2936         * doc/posix-functions/mbrtoc16.texi: Renamed from
2937         doc/glibc-functions/mbrtoc16.texi.
2938         * doc/posix-functions/mbrtoc32.texi: Renamed from
2939         doc/glibc-functions/mbrtoc32.texi.
2940         * doc/gnulib.texi: Update.
2941         (Glibc uchar.h): Remove section.
2942         Suggested by Eric Blake.
2943
2944 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
2945
2946         stdnoreturn: port to MSVC better
2947         MSVC standard headers use __declspec(noreturn), so #define noreturn
2948         to empty on that platform.  Reported by Bruno Haible in
2949         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
2950         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
2951         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
2952
2953 2012-02-28  Bruno Haible  <bruno@clisp.org>
2954
2955         doc: Mention new glibc headers and functions.
2956         * doc/glibc-headers/uchar.texi: New file.
2957         * doc/glibc-functions/aligned_alloc.texi: New file.
2958         * doc/glibc-functions/c16rtomb.texi: New file.
2959         * doc/glibc-functions/c32rtomb.texi: New file.
2960         * doc/glibc-functions/clock_adjtime.texi: New file.
2961         * doc/glibc-functions/fanotify_init.texi: New file.
2962         * doc/glibc-functions/fanotify_mark.texi: New file.
2963         * doc/glibc-functions/inet6_opt_append.texi: New file.
2964         * doc/glibc-functions/inet6_opt_find.texi: New file.
2965         * doc/glibc-functions/inet6_opt_finish.texi: New file.
2966         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
2967         * doc/glibc-functions/inet6_opt_init.texi: New file.
2968         * doc/glibc-functions/inet6_opt_next.texi: New file.
2969         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
2970         * doc/glibc-functions/inet6_rth_add.texi: New file.
2971         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
2972         * doc/glibc-functions/inet6_rth_init.texi: New file.
2973         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
2974         * doc/glibc-functions/inet6_rth_segments.texi: New file.
2975         * doc/glibc-functions/inet6_rth_space.texi: New file.
2976         * doc/glibc-functions/login.texi: New file.
2977         * doc/glibc-functions/mbrtoc16.texi: New file.
2978         * doc/glibc-functions/mbrtoc32.texi: New file.
2979         * doc/glibc-functions/name_to_handle_at.texi: New file.
2980         * doc/glibc-functions/ntp_gettimex.texi: New file.
2981         * doc/glibc-functions/open_by_handle_at.texi: New file.
2982         * doc/glibc-functions/prlimit.texi: New file.
2983         * doc/glibc-functions/process_vm_readv.texi: New file.
2984         * doc/glibc-functions/process_vm_writev.texi: New file.
2985         * doc/glibc-functions/recvmmsg.texi: New file.
2986         * doc/glibc-functions/scandirat.texi: New file.
2987         * doc/glibc-functions/sendmmsg.texi: New file.
2988         * doc/glibc-functions/setns.texi: New file.
2989         * doc/glibc-functions/timespec_get.texi: New file.
2990         * doc/gnulib.texi: Include them.
2991         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
2992         sections.
2993         Reported by Eric Blake.
2994
2995 2012-02-28  Bruno Haible  <bruno@clisp.org>
2996
2997         Avoid compilation errors with MSVC option -fp:strict.
2998         * lib/floor.c: Use MSVC specific pragma fenv_access.
2999         * lib/ceil.c: Likewise.
3000         * lib/trunc.c: Likewise.
3001         * lib/round.c: Likewise.
3002         * lib/rint.c: Likewise.
3003         * lib/fma.c: Likewise.
3004         * lib/integer_length.c: Likewise.
3005         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3006         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3007         * tests/test-floor2.c: Likewise.
3008         * tests/test-floorf2.c: Likewise.
3009         * tests/test-ceil2.c: Likewise.
3010         * tests/test-ceilf2.c: Likewise.
3011         * tests/test-trunc2.c: Likewise.
3012         * tests/test-truncf2.c: Likewise.
3013         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3014
3015 2012-02-27  Bruno Haible  <bruno@clisp.org>
3016
3017         Tests for module 'sqrtl-ieee'.
3018         * modules/sqrtl-ieee-tests: New file.
3019         * tests/test-sqrtl-ieee.c: New file.
3020
3021         New module 'sqrtl-ieee'.
3022         * modules/sqrtl-ieee: New file.
3023
3024         Tests for module 'sqrt-ieee'.
3025         * modules/sqrt-ieee-tests: New file.
3026         * tests/test-sqrt-ieee.c: New file.
3027
3028         New module 'sqrt-ieee'.
3029         * modules/sqrt-ieee: New file.
3030
3031         Tests for module 'sqrtf-ieee'.
3032         * modules/sqrtf-ieee-tests: New file.
3033         * tests/test-sqrtf-ieee.c: New file.
3034         * tests/test-sqrt-ieee.h: New file.
3035
3036         New module 'sqrtf-ieee'.
3037         * modules/sqrtf-ieee: New file.
3038
3039 2012-02-27  Bruno Haible  <bruno@clisp.org>
3040
3041         remainderl-ieee: Work around test failure on OSF/1.
3042         * m4/remainderl-ieee.m4: New file.
3043         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
3044         present, test whether remainderl works with a zero second argument.
3045         Replace it if not.
3046         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
3047         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
3048         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
3049         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
3050         (Depends-on): Update conditions.
3051         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
3052         (Depends-on): Add remainder-ieee.
3053         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
3054         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
3055         module.
3056
3057         remainderf-ieee: Work around test failure on OSF/1.
3058         * m4/remainderf-ieee.m4: New file.
3059         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
3060         present, test whether remainderf works with a zero second argument.
3061         Replace it if not.
3062         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
3063         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
3064         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
3065         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
3066         (Depends-on): Update conditions.
3067         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
3068         (Depends-on): Add remainder-ieee.
3069         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
3070         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
3071         module.
3072
3073         remainder-ieee: Work around test failure on OSF/1.
3074         * m4/remainder-ieee.m4: New file.
3075         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
3076         present, test whether remainder works with a zero second argument.
3077         Replace it if not.
3078         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
3079         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
3080         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
3081         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
3082         (Depends-on): Update dependencies.
3083         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
3084         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
3085         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
3086
3087         Tests for module 'remainderl-ieee'.
3088         * modules/remainderl-ieee-tests: New file.
3089         * tests/test-remainderl-ieee.c: New file.
3090
3091         New module 'remainderl-ieee'.
3092         * modules/remainderl-ieee: New file.
3093
3094         Tests for module 'remainder-ieee'.
3095         * modules/remainder-ieee-tests: New file.
3096         * tests/test-remainder-ieee.c: New file.
3097
3098         New module 'remainder-ieee'.
3099         * modules/remainder-ieee: New file.
3100
3101         Tests for module 'remainderf-ieee'.
3102         * modules/remainderf-ieee-tests: New file.
3103         * tests/test-remainderf-ieee.c: New file.
3104         * tests/test-remainder-ieee.h: New file.
3105
3106         New module 'remainderf-ieee'.
3107         * modules/remainderf-ieee: New file.
3108
3109 2012-02-27  Bruno Haible  <bruno@clisp.org>
3110
3111         modff, modfl: Fix configure syntax error.
3112         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
3113         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3114
3115 2012-02-27  Bruno Haible  <bruno@clisp.org>
3116
3117         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
3118         * m4/fmodl-ieee.m4: New file.
3119         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
3120         whether fmodl works with zero arguments. Replace it if not.
3121         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
3122         (Depends-on): Add fmod-ieee.
3123         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
3124         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
3125
3126         fmodf-ieee: Work around test failure on OSF/1.
3127         * m4/fmodf-ieee.m4: New file.
3128         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
3129         whether fmodf works with zero arguments. Replace it if not.
3130         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
3131         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
3132         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
3133         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
3134         (Depends-on): Update dependencies.
3135         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
3136         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
3137         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
3138
3139         fmodf-ieee: Work around test failure on MSVC 9.
3140         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
3141         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
3142
3143         fmod-ieee: Work around test failures on OSF/1, mingw.
3144         * m4/fmod-ieee.m4: New file.
3145         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
3146         whether fmod works with zero arguments. Replace it if not.
3147         * lib/math.in.h (fmod): New declaration.
3148         * lib/fmod.c: New file.
3149         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
3150         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
3151         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
3152         * modules/fmod (Files): Add lib/fmod.c.
3153         (Depends-on): Add math, isinf, trunc, fma.
3154         (configure.ac): Arrange to compile lib/fmod.c if needed.
3155         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
3156         m4/signbit.m4.
3157         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
3158         * tests/test-math-c++.cc: Check the declaration of fmod.
3159         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
3160
3161         fmodl-ieee: Fix test failures.
3162         * lib/fmodl.c (fmodl): Treat Inf specially.
3163         * modules/fmodl (Depends-on): Add isinf.
3164
3165         Tests for module 'fmodl-ieee'.
3166         * modules/fmodl-ieee-tests: New file.
3167         * tests/test-fmodl-ieee.c: New file.
3168
3169         New module 'fmodl-ieee'.
3170         * modules/fmodl-ieee: New file.
3171
3172         Tests for module 'fmod-ieee'.
3173         * modules/fmod-ieee-tests: New file.
3174         * tests/test-fmod-ieee.c: New file.
3175
3176         New module 'fmod-ieee'.
3177         * modules/fmod-ieee: New file.
3178
3179         Tests for module 'fmodf-ieee'.
3180         * modules/fmodf-ieee-tests: New file.
3181         * tests/test-fmodf-ieee.c: New file.
3182         * tests/test-fmod-ieee.h: New file.
3183
3184         New module 'fmodf-ieee'.
3185         * modules/fmodf-ieee: New file.
3186
3187 2012-02-27  Bruno Haible  <bruno@clisp.org>
3188
3189         Tests for module 'rintl-ieee'.
3190         * modules/rintl-ieee-tests: New file.
3191         * tests/test-rintl-ieee.c: New file.
3192
3193         New module 'rintl-ieee'.
3194         * modules/rintl-ieee: New file.
3195
3196         Tests for module 'rint-ieee'.
3197         * modules/rint-ieee-tests: New file.
3198         * tests/test-rint-ieee.c: New file.
3199
3200         New module 'rint-ieee'.
3201         * modules/rint-ieee: New file.
3202
3203         Tests for module 'rintf-ieee'.
3204         * modules/rintf-ieee-tests: New file.
3205         * tests/test-rintf-ieee.c: New file.
3206         * tests/test-rint-ieee.h: New file.
3207
3208         New module 'rintf-ieee'.
3209         * modules/rintf-ieee: New file.
3210
3211 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
3212
3213         regex: re_search etc. should return -2 when memory exhausted
3214         This bug was uncovered when testing 'grep'.  Without the fix,
3215         re_search and friends return -1 when memory is exhausted, but -1
3216         means no match, and this causes grep to falsely report no-match
3217         instead of memory-exhaustion.  See
3218         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
3219         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
3220         trouble; this can occur if re_search_internal ran out of memory.
3221
3222 2012-02-26  Bruno Haible  <bruno@clisp.org>
3223
3224         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
3225         * m4/modfl-ieee.m4: New file.
3226         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
3227         whether modfl works with Inf. Replace it if not.
3228         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
3229         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
3230         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
3231         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
3232         (Depends-on): Update dependencies.
3233         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
3234         m4/signbit.m4.
3235         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
3236         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
3237
3238         modfl-ieee: Fix dependencies.
3239         * modules/modfl-ieee (Depends-on): Add modf-ieee.
3240
3241         modfl-ieee: Fix test failures.
3242         * lib/modfl.c (modfl): Treat NaN and Inf specially.
3243         * modules/modfl (Depends-on): Add isfinite, isinf.
3244
3245         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
3246         * m4/modff-ieee.m4: New file.
3247         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
3248         whether modff works with NaN and Inf. Replace it if not.
3249         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
3250         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
3251         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
3252         * modules/modff (configure.ac): Consider REPLACE_MODFF.
3253         (Depends-on): Update dependencies.
3254         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
3255         m4/signbit.m4.
3256         (Depends-on): Add modf-ieee.
3257         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
3258         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
3259
3260         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
3261         * m4/modf-ieee.m4: New file.
3262         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
3263         whether modf works with NaN and Inf. Replace it if not.
3264         * lib/math.in.h (modf): New declaration.
3265         * lib/modf.c: New file.
3266         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
3267         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
3268         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
3269         * modules/modf (Files): Add lib/modf.c.
3270         (Depends-on): Add math, isfinite, trunc, isinf.
3271         (configure.ac): Addrange to compile lib/modf.c if needed.
3272         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
3273         m4/signbit.m4.
3274         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
3275         * tests/test-math-c++.cc: Check the declaration of modf.
3276         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
3277
3278         Tests for module 'modfl-ieee'.
3279         * modules/modfl-ieee-tests: New file.
3280         * tests/test-modfl-ieee.c: New file.
3281
3282         New module 'modfl-ieee'.
3283         * modules/modfl-ieee: New file.
3284
3285         Tests for module 'modf-ieee'.
3286         * modules/modf-ieee-tests: New file.
3287         * tests/test-modf-ieee.c: New file.
3288
3289         New module 'modf-ieee'.
3290         * modules/modf-ieee: New file.
3291
3292         Tests for module 'modff-ieee'.
3293         * modules/modff-ieee-tests: New file.
3294         * tests/test-modff-ieee.c: New file.
3295         * tests/test-modf-ieee.h: New file.
3296
3297         New module 'modff-ieee'.
3298         * modules/modff-ieee: New file.
3299
3300 2012-02-26  Bruno Haible  <bruno@clisp.org>
3301
3302         Tests for module 'fabsl-ieee'.
3303         * modules/fabsl-ieee-tests: New file.
3304         * tests/test-fabsl-ieee.c: New file.
3305
3306         New module 'fabsl-ieee'.
3307         * modules/fabsl-ieee: New file.
3308
3309         Tests for module 'fabs-ieee'.
3310         * modules/fabs-ieee-tests: New file.
3311         * tests/test-fabs-ieee.c: New file.
3312
3313         New module 'fabs-ieee'.
3314         * modules/fabs-ieee: New file.
3315
3316         Tests for module 'fabsf-ieee'.
3317         * modules/fabsf-ieee-tests: New file.
3318         * tests/test-fabsf-ieee.c: New file.
3319         * tests/test-fabs-ieee.h: New file.
3320
3321         New module 'fabsf-ieee'.
3322         * modules/fabsf-ieee: New file.
3323
3324 2012-02-26  Bruno Haible  <bruno@clisp.org>
3325
3326         Tests for module 'fmal-ieee'.
3327         * modules/fmal-ieee-tests: New file.
3328         * tests/test-fmal-ieee.c: New file.
3329
3330         New module 'fmal-ieee'.
3331         * modules/fmal-ieee: New file.
3332
3333         Tests for module 'fma-ieee'.
3334         * modules/fma-ieee-tests: New file.
3335         * tests/test-fma-ieee.c: New file.
3336
3337         New module 'fma-ieee'.
3338         * modules/fma-ieee: New file.
3339
3340         Tests for module 'fmaf-ieee'.
3341         * modules/fmaf-ieee-tests: New file.
3342         * tests/test-fmaf-ieee.c: New file.
3343         * tests/test-fma-ieee.h: New file.
3344
3345         New module 'fmaf-ieee'.
3346         * modules/fmaf-ieee: New file.
3347
3348 2012-02-26  Bruno Haible  <bruno@clisp.org>
3349
3350         Tests for module 'ldexpl-ieee'.
3351         * modules/ldexpl-ieee-tests: New file.
3352         * tests/test-ldexpl-ieee.c: New file.
3353
3354         New module 'ldexpl-ieee'.
3355         * modules/ldexpl-ieee: New file.
3356
3357         Tests for module 'ldexp-ieee'.
3358         * modules/ldexp-ieee-tests: New file.
3359         * tests/test-ldexp-ieee.c: New file.
3360
3361         New module 'ldexp-ieee'.
3362         * modules/ldexp-ieee: New file.
3363
3364         Tests for module 'ldexpf-ieee'.
3365         * modules/ldexpf-ieee-tests: New file.
3366         * tests/test-ldexpf-ieee.c: New file.
3367         * tests/test-ldexp-ieee.h: New file.
3368
3369         New module 'ldexpf-ieee'.
3370         * modules/ldexpf-ieee: New file.
3371
3372 2012-02-26  Bruno Haible  <bruno@clisp.org>
3373
3374         Refactor frexp*-ieee tests.
3375         * tests/test-frexp-ieee.h: New file.
3376         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
3377         (main): Just call test_function.
3378         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
3379         (main): Just call test_function.
3380         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
3381         (main): Just call test_function.
3382         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
3383         * modules/frexp-ieee-tests (Files): Likewise.
3384         * modules/frexpl-ieee-tests (Files): Likewise.
3385
3386         Tests for module 'frexpl-ieee'.
3387         * modules/frexpl-ieee-tests: New file.
3388         * tests/test-frexpl-ieee.c: New file.
3389
3390         New module 'frexpl-ieee'.
3391         * modules/frexpl-ieee: New file.
3392
3393         Tests for module 'frexp-ieee'.
3394         * modules/frexp-ieee-tests: New file.
3395         * tests/test-frexp-ieee.c: New file.
3396
3397         New module 'frexp-ieee'.
3398         * modules/frexp-ieee: New file.
3399
3400         Tests for module 'frexpf-ieee'.
3401         * modules/frexpf-ieee-tests: New file.
3402         * tests/test-frexpf-ieee.c: New file.
3403
3404         New module 'frexpf-ieee'.
3405         * modules/frexpf-ieee: New file.
3406
3407 2012-02-26  Bruno Haible  <bruno@clisp.org>
3408
3409         roundl-ieee tests: More tests.
3410         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3411         (main): Add tests for [MX] shaded specification in POSIX.
3412         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3413         (Depends-on): Add isnanl-nolibm.
3414
3415         round-ieee tests: More tests.
3416         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3417         (main): Add tests for [MX] shaded specification in POSIX.
3418         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3419         (Depends-on): Add isnand-nolibm.
3420
3421         roundf-ieee tests: More tests.
3422         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3423         (main): Add tests for [MX] shaded specification in POSIX.
3424         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3425         (Depends-on): Add isnanf-nolibm.
3426
3427         truncl-ieee tests: More tests.
3428         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3429         (main): Add tests for [MX] shaded specification in POSIX.
3430         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3431         (Depends-on): Add isnanl-nolibm.
3432
3433         trunc-ieee tests: More tests.
3434         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3435         (main): Add tests for [MX] shaded specification in POSIX.
3436         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3437         (Depends-on): Add isnand-nolibm.
3438
3439         truncf-ieee tests: More tests.
3440         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3441         (main): Add tests for [MX] shaded specification in POSIX.
3442         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3443         (Depends-on): Add isnanf-nolibm.
3444
3445         ceill-ieee tests: More tests.
3446         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3447         (main): Add tests for [MX] shaded specification in POSIX.
3448         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3449         (Depends-on): Add isnanl-nolibm.
3450
3451         ceil-ieee tests: More tests.
3452         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3453         (main): Add tests for [MX] shaded specification in POSIX.
3454         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3455         (Depends-on): Add isnand-nolibm.
3456
3457         ceilf-ieee tests: More tests.
3458         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3459         (main): Add tests for [MX] shaded specification in POSIX.
3460         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3461         (Depends-on): Add isnanf-nolibm.
3462
3463         floorl-ieee tests: More tests.
3464         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3465         (main): Add tests for [MX] shaded specification in POSIX.
3466         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3467         (Depends-on): Add isnanl-nolibm.
3468
3469         floor-ieee tests: More tests.
3470         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3471         (main): Add tests for [MX] shaded specification in POSIX.
3472         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3473         (Depends-on): Add isnand-nolibm.
3474
3475         floorf-ieee tests: More tests.
3476         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3477         (main): Add tests for [MX] shaded specification in POSIX.
3478         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3479         (Depends-on): Add isnanf-nolibm.
3480
3481 2012-02-26  Bruno Haible  <bruno@clisp.org>
3482
3483         fpieee: More comments.
3484         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
3485
3486 2012-02-25  Bruno Haible  <bruno@clisp.org>
3487
3488         Tests for module 'log10l'.
3489         * modules/log10l-tests: New file.
3490         * tests/test-log10l.c: New file.
3491         * tests/test-math-c++.cc: Check the declaration of log10l.
3492
3493         New module 'log10l'.
3494         * lib/math.in.h (log10l): New declaration.
3495         * lib/log10l.c: New file.
3496         * m4/log10l.m4: New file.
3497         * modules/log10l: New file.
3498         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
3499         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
3500         HAVE_DECL_LOG10L.
3501         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
3502         HAVE_DECL_LOG10L.
3503         * doc/posix-functions/log10l.texi: Mention the new module.
3504
3505 2012-02-25  Bruno Haible  <bruno@clisp.org>
3506
3507         fmodl, remainder*: Avoid wrong results due to rounding errors.
3508         * lib/fmodl.c (fmodl): Correct the result if it is not within the
3509         expected bounds.
3510         * lib/remainderf.c (remainderf): Likewise.
3511         * lib/remainder.c (remainder): Likewise.
3512         * lib/remainderl.c (remainderl): Likewise.
3513
3514 2012-02-25  Bruno Haible  <bruno@clisp.org>
3515
3516         Tests for module 'remainderl'.
3517         * modules/remainderl-tests: New file.
3518         * tests/test-remainderl.c: New file.
3519         * tests/test-math-c++.cc: Check the declaration of remainderl.
3520
3521         New module 'remainderl'.
3522         * lib/math.in.h (remainderl): New declaration.
3523         * lib/remainderl.c: New file.
3524         * m4/remainderl.m4: New file.
3525         * modules/remainderl: New file.
3526         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
3527         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
3528         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
3529         HAVE_REMAINDERL.
3530         * doc/posix-functions/remainderl.texi: Mention the new module.
3531
3532 2012-02-25  Bruno Haible  <bruno@clisp.org>
3533
3534         Tests for module 'remainderf'.
3535         * modules/remainderf-tests: New file.
3536         * tests/test-remainderf.c: New file.
3537         * tests/test-math-c++.cc: Check the declaration of remainderf.
3538
3539         New module 'remainderf'.
3540         * lib/math.in.h (remainderf): New declaration.
3541         * lib/remainderf.c: New file.
3542         * m4/remainderf.m4: New file.
3543         * modules/remainderf: New file.
3544         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
3545         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
3546         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
3547         HAVE_REMAINDERF.
3548         * doc/posix-functions/remainderf.texi: Mention the new module.
3549
3550 2012-02-25  Bruno Haible  <bruno@clisp.org>
3551
3552         remainder: Support for MSVC.
3553         * lib/math.in.h (remainder): New declaration.
3554         * lib/remainder.c: New file.
3555         * m4/remainder.m4: New file.
3556         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
3557         (Depends-on): Add math, round, fma.
3558         (configure.ac): Use results of gl_FUNC_REMAINDER.
3559         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
3560         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
3561         HAVE_DECL_REMAINDER.
3562         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
3563         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
3564         * tests/test-math-c++.cc: Check the declaration of remainder.
3565         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
3566         problems are fixed.
3567
3568 2012-02-25  Bruno Haible  <bruno@clisp.org>
3569
3570         Tests for module 'fmodl'.
3571         * modules/fmodl-tests: New file.
3572         * tests/test-fmodl.c: New file.
3573         * tests/test-math-c++.cc: Check the declaration of fmodl.
3574
3575         New module 'fmodl'.
3576         * lib/math.in.h (fmodl): New declaration.
3577         * lib/fmodl.c: New file.
3578         * m4/fmodl.m4: New file.
3579         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
3580         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
3581         REPLACE_FMODL.
3582         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
3583         REPLACE_FMODL.
3584         * modules/fmodl: New file.
3585         * doc/posix-functions/fmodl.texi: Mention the new module.
3586
3587 2012-02-25  Bruno Haible  <bruno@clisp.org>
3588
3589         Tests for module 'modfl'.
3590         * modules/modfl-tests: New file.
3591         * tests/test-modfl.c: New file.
3592         * tests/test-math-c++.cc: Check the declaration of modfl.
3593
3594         New module 'modfl'.
3595         * lib/math.in.h (modfl): New declaration.
3596         * lib/modfl.c: New file.
3597         * m4/modfl.m4: New file.
3598         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
3599         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
3600         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
3601         * modules/modfl: New file.
3602         * doc/posix-functions/modfl.texi: Mention the new module.
3603
3604 2012-02-25  Bruno Haible  <bruno@clisp.org>
3605
3606         Tests for module 'fabsl'.
3607         * modules/fabsl-tests: New file.
3608         * tests/test-fabsl.c: New file.
3609         * tests/test-math-c++.cc: Check the declaration of fabsl.
3610
3611         New module 'fabsl'.
3612         * lib/math.in.h (fabsl): New declaration.
3613         * lib/fabsl.c: New file.
3614         * m4/fabsl.m4: New file.
3615         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
3616         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
3617         REPLACE_FABSL.
3618         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
3619         REPLACE_FABSL.
3620         * modules/fabsl: New file.
3621         * doc/posix-functions/fabsl.texi: Mention the new module.
3622
3623 2012-02-25  Bruno Haible  <bruno@clisp.org>
3624
3625         fabs tests: More tests.
3626         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
3627         (zero): New variable.
3628         (main): Add tests for signed zero.
3629         * modules/fabs-tests (Files): Add tests/minus-zero.h.
3630
3631         fabsf tests: More tests.
3632         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
3633         (zero): New variable.
3634         (main): Add tests for signed zero.
3635         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
3636
3637 2012-02-24  Bruno Haible  <bruno@clisp.org>
3638
3639         atanl: Provide function definition on MSVC.
3640         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
3641         function pointer.
3642         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
3643
3644 2012-02-24  Bruno Haible  <bruno@clisp.org>
3645
3646         acosl: Provide function definition on MSVC.
3647         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
3648         function pointer.
3649         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
3650
3651 2012-02-24  Bruno Haible  <bruno@clisp.org>
3652
3653         asinl: Provide function definition on MSVC.
3654         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
3655         function pointer.
3656         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
3657
3658 2012-02-24  Bruno Haible  <bruno@clisp.org>
3659
3660         tanl: Provide function definition on MSVC.
3661         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
3662         function pointer.
3663         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
3664
3665 2012-02-24  Bruno Haible  <bruno@clisp.org>
3666
3667         cosl: Provide function definition on MSVC.
3668         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
3669         function pointer.
3670         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
3671
3672 2012-02-24  Bruno Haible  <bruno@clisp.org>
3673
3674         sinl: Provide function definition on MSVC.
3675         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
3676         function pointer.
3677         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
3678
3679 2012-02-24  Bruno Haible  <bruno@clisp.org>
3680
3681         logl: Provide function definition on MSVC.
3682         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
3683         function pointer.
3684         * lib/math.in.h (logl): Undefine if it does not exist as a function.
3685
3686 2012-02-24  Bruno Haible  <bruno@clisp.org>
3687
3688         expl: Provide function definition on MSVC.
3689         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
3690         function pointer.
3691         * lib/math.in.h (expl): Undefine if it does not exist as a function.
3692
3693 2012-02-24  Bruno Haible  <bruno@clisp.org>
3694
3695         sqrtl: Provide function definition on MSVC.
3696         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
3697         a function pointer.
3698         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
3699
3700 2012-02-24  Bruno Haible  <bruno@clisp.org>
3701
3702         ceill: Provide function definition on MSVC.
3703         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
3704         used as a function pointer.
3705         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
3706
3707 2012-02-24  Bruno Haible  <bruno@clisp.org>
3708
3709         floorl: Provide function definition on MSVC.
3710         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
3711         used as a function pointer.
3712         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
3713
3714 2012-02-24  Bruno Haible  <bruno@clisp.org>
3715
3716         ceilf: Provide function definition on MSVC.
3717         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
3718         used as a function pointer.
3719         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
3720
3721 2012-02-24  Bruno Haible  <bruno@clisp.org>
3722
3723         floorf: Provide function definition on MSVC.
3724         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
3725         used as a function pointer.
3726         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
3727
3728 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3729
3730         stdnoreturn: new module
3731         This implements a replacement for C11's <stdnoreturn.h>.
3732         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
3733         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
3734         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
3735         * tests/test-stdnoreturn.c: New files.
3736
3737 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
3738
3739         regex: fix false multibyte matches in some regular expressions
3740         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
3741         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
3742         * lib/regex_internal.c (re_string_skip_chars):
3743         Fix miscomputation of remain_len that may cause incomplete
3744         multi-byte character and false match.
3745
3746 2012-02-24  Jim Meyering  <meyering@redhat.com>
3747
3748         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
3749         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
3750         uses with "==" *before* the call, e.g., 0 == strcmp (...)
3751         Remove now-unnecessary str''cmp obfuscation.
3752         Suggested by Akim Demaille.
3753
3754 2012-02-24  Bruno Haible  <bruno@clisp.org>
3755
3756         streq: Rename macro.
3757         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
3758         * NEWS: Mention the change.
3759         * lib/mbrtowc.c (mbrtowc): Update.
3760         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
3761         * lib/wcwidth.c (wcwidth): Update.
3762         Suggested by Akim Demaille and Jim Meyering.
3763
3764 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3765
3766         regex: fix typo in definition of MIN
3767         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
3768         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
3769
3770 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3771             Bruno Haible  <bruno@clisp.org>
3772
3773         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
3774         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
3775         entries into a stack-allocated buffer directly.
3776         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
3777
3778 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3779             Bruno Haible  <bruno@clisp.org>
3780
3781         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
3782
3783          - There were several instances of this pattern:
3784
3785              for (;;) {
3786                n = acl (f, GETACLCNT, 0, NULL);
3787                [ allocate an array A of size N ]
3788                if (acl (f, GETACL, n, a) == n)
3789                  break;
3790              }
3791
3792            This loop might never terminate if some other process is constantly
3793            manipulating the file's ACL.  The loop should be rewritten to
3794            terminate.
3795
3796          - The acl (... GETACLNT ...) call is merely an optimization; its value
3797            is merely a hint as to how big to make the array.  A better
3798            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
3799            and just guess a reasonably-big size, growing the size and trying
3800            again if it's not large enough.  This guarantees termination, and
3801            saves a system call.
3802
3803         * lib/acl-internal.h: Include <limits.h>.
3804         (MIN, SIZE_MAX): New macros.
3805         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
3806         a stack-allocated buffer, and use malloc if it does not fit. Don't
3807         use GETACLCNT.
3808         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3809
3810 2012-02-19  Bruno Haible  <bruno@clisp.org>
3811
3812         acl: Fix endless loop on Solaris with vxfs.
3813         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
3814         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
3815         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3816         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
3817         * tests/test-sameacls.c (main)[Solaris]: Likewise.
3818         Reported by Bill Jones in
3819         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
3820
3821 2012-02-19  Bruno Haible  <bruno@clisp.org>
3822
3823         acl: Fix copy-acl test failure on Solaris 11 2011-11.
3824         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
3825         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
3826         that this function returns 0 in some more cases.
3827
3828 2012-02-19  Bruno Haible  <bruno@clisp.org>
3829
3830         acl: Update doc references.
3831         * doc/acl-resources.txt: Update links to Solaris documentation.
3832
3833 2012-02-19  Bruno Haible  <bruno@clisp.org>
3834
3835         Fix test failure in many locales on Solaris 11.
3836         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
3837         'tr' arguments.
3838         * tests/test-pipe-filter-ii1.c (main): Likewise.
3839         * build-aux/bootstrap (check_versions): Run 'tr' command with range
3840         expressions in the C locale.
3841         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
3842         * m4/host-os.m4 (gl_HOST_OS): Likewise.
3843
3844 2012-02-19  Bruno Haible  <bruno@clisp.org>
3845
3846         gnulib-tool: Improve usage message.
3847         * gnulib-tool (func_usage): Move doc of --help and --version to the
3848         section "Operation modes".
3849
3850 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
3851
3852         README-release: make it easier to execute commands
3853         * top/README-release: break commands out on to separate lines.
3854
3855 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3856
3857         GNUmakefile: simplify detection of unconfigured trees
3858         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
3859         whether the tree make is being run from is already configured or
3860         not.  Related simplifications.
3861
3862 2012-02-13  Simon Josefsson  <simon@josefsson.org>
3863
3864         * gnulib-tool (func_usage): Document --help and --version.
3865
3866 2012-02-11  Jim Meyering  <meyering@redhat.com>
3867
3868         bootstrap: don't exit 0 upon gnulib-tool failure
3869         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
3870         its exit status, not 0.
3871
3872 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
3873
3874         README-release: various improvements
3875         * top/README-release: Give a command to push changes for the
3876         release.  Add "distcheck" to list of other pre-release checks.
3877         Fix instance of "make stable" which should be "make TYPE".
3878
3879 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3880
3881         maint: replace FSF snail-mail addresses with URLs
3882         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
3883         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
3884         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
3885         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
3886         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
3887         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
3888         * lib/check-version.c, lib/check-version.h, lib/config.charset:
3889         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
3890         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
3891         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
3892         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
3893         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
3894         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
3895         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
3896         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
3897         * lib/glthread/thread.c, lib/glthread/thread.h:
3898         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
3899         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
3900         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
3901         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
3902         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
3903         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
3904         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
3905         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
3906         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
3907         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
3908         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
3909         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
3910         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
3911         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
3912         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
3913         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
3914         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
3915         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
3916         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
3917         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
3918         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
3919         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
3920         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
3921         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
3922         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
3923         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
3924         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
3925         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
3926         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
3927         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
3928         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
3929         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
3930         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
3931         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
3932         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
3933         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
3934         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
3935         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
3936         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
3937         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
3938         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
3939         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
3940         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
3941         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
3942         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
3943         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
3944         * tests/test-poll.c, tests/test-quotearg-simple.c:
3945         * tests/test-quotearg.c, tests/test-quotearg.h:
3946         * tests/test-round-ieee.c, tests/test-round1.c:
3947         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
3948         * tests/test-roundl-ieee.c, tests/test-roundl.c:
3949         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
3950         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
3951         * tests/test-strerror.c, tests/test-strerror_r.c:
3952         * tests/test-strsignal.c, tests/test-strverscmp.c:
3953         * tests/test-xmemdup0.c:
3954         Replace FSF snail mail addresses with URLs, as per GNU coding
3955         standards.  See glibc bug
3956         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
3957
3958 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3959
3960         README-release: capitalize a word and split a line
3961         * top/README-release: Fix punctuation and spacing.
3962
3963 2012-02-08  Akim Demaille  <demaille@gostai.com>
3964
3965         fatal-signal: use C prototypes (with explicit void).
3966         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
3967         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
3968
3969 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3970
3971         regex: spelling fix
3972         * lib/regexec.c: spelling fix
3973
3974         regex: rely on stdint.h for SIZE_MAX
3975         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
3976
3977 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3978
3979         regex: merge glibc changes
3980
3981         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
3982         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
3983         (init_word_char): Work even if bitset words are not exactly 32 or
3984         64 bits wide.  Don't assume there are no padding bits.
3985         * lib/regex.c [_LIBC]: Do not include <config.h>.
3986         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
3987         and -Wtype-limits.
3988         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
3989         needless disagreement with glibc.  All uses changed.  Define it to
3990         1 only if _GNU_SOURCE, to match glibc.
3991         (_REG_RM_NAME): Remove; no longer needed, since the names in
3992         question are now all protected by __USE_GNU.
3993         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
3994         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
3995         * lib/regex_internal.h (MIN): New macro.
3996
3997         2012-01-03 Ulrich Drepper <drepper@gmail.com>
3998         * lib/regcomp.c (init_word_char): Optimize regex a bit.
3999
4000         2011-12-30 Jakub Jelinek <jakub@redhat.com>
4001         * lib/regex_internal.c (re_string_fetch_byte_case):
4002         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
4003         is miscompiled, and it turns out it is because of an incorrect
4004         attribute on re_string_fetch_byte_case.  Unlike
4005         re_string_peek_byte_case, this one is really not pure, it modifies
4006         memory (increments pstr->cur_idx), and with the pure attribute GCC
4007         assumed it doesn't and it cached the presumed value of
4008         regexp->cur_idx in a variable across the
4009          for (;; ++i)
4010            {
4011              if (i >= BRACKET_NAME_BUF_SIZE)
4012                return REG_EBRACK;
4013              if (token->type == OP_OPEN_CHAR_CLASS)
4014                ch = re_string_fetch_byte_case (regexp);
4015              else
4016                ch = re_string_fetch_byte (regexp);
4017              if (re_string_eoi(regexp))
4018                return REG_EBRACK;
4019              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
4020                break;
4021              elem->opr.name[i] = ch;
4022            }
4023
4024         2011-11-29 Andreas Schwab <schwab@redhat.com>
4025         * lib/regcomp.c (build_equiv_class):
4026         Fix access after end of search string in regex matcher.
4027
4028         2011-11-12 Ulrich Drepper <drepper@redhat.com>
4029         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
4030
4031         2011-10-12 Ulrich Drepper <drepper@redhat.com>
4032         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
4033
4034         2011-10-11 Ulrich Drepper <drepper@redhat.com>
4035         * lib/regcomp.c (parse_branch, parse_sub_exp):
4036         More regex memory leak fixes and tests.
4037         (parse_sub_exp, parse_bracket_exp):
4038         Fix memory leak for some invalid regular expressions.
4039
4040         2011-05-28 Ulrich Drepper <drepper@gmail.com>
4041         * lib/regex_internal.c, lib/regexec.c:
4042         Fix unnecessary overallocation due to incomplete character.  When
4043         incomplete characters are found at the end of a string the code
4044         ran amok and allocated lots of memory.  Stricter limits are now in
4045         place.
4046
4047         2011-05-20 Reuben Thomas <rrt@sc3d.org>
4048         * lib/regex.h: Update documentation.
4049
4050         2011-05-16 Aharon Robbins <arnold@skeeve.com>
4051         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
4052
4053         2010-05-05 Andreas Schwab <schwab@redhat.com>
4054         * lib/regexec.c (find_collation_sequence_value):
4055         Fix lookup of collation sequence value during regexp matching.
4056
4057         2010-01-22 Ulrich Drepper <drepper@redhat.com>
4058         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
4059
4060         2008-01-16 Ulrich Drepper <drepper@redhat.com>
4061         * lib/regex.h: Cleanup namespace.
4062
4063         2007-11-26 Ulrich Drepper <drepper@redhat.com>
4064         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
4065
4066         2007-08-26 Ulrich Drepper <drepper@redhat.com>
4067         * lib/regex_internal.h: Prevent some declarations and definitions
4068         to be seen when used in tests.
4069
4070         2005-05-06 Ulrich Drepper <drepper@redhat.com>
4071         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
4072         __libc_lock_* macros if not _LIBC.
4073         (struct re_dfa_t): Add lock.
4074
4075 2012-02-07  Eric Blake  <eblake@redhat.com>
4076
4077         maint.mk: also prohibit lower-case @var@
4078         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
4079         lower case, like @top_srcdir@.
4080
4081 2012-02-04  Eric Blake  <eblake@redhat.com>
4082
4083         canonicalize: avoid uninitialized memory use
4084         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
4085         random '/' left in dest.
4086         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
4087
4088 2012-02-04  Bruno Haible  <bruno@clisp.org>
4089
4090         isatty: Fix test failure of ptsname_r on native Windows.
4091         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
4092         and don't set errno.
4093         (isatty): Test first whether fd is valid. Set errno when returning 0.
4094
4095 2012-02-04  Bruno Haible  <bruno@clisp.org>
4096
4097         spawn-pipe tests: Fix a NULL program name in a diagnostic.
4098         * tests/test-spawn-pipe-main.c: Include progname.h.
4099         (main): Invoke set_program_name.
4100         * modules/spawn-pipe-tests (Depends-on): Add progname.
4101
4102         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
4103         * tests/test-nonblocking-socket-main.c: Include progname.h.
4104         (main): Invoke set_program_name.
4105         * modules/nonblocking-socket-tests (Depends-on): Add progname.
4106
4107         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
4108         * tests/test-nonblocking-pipe-main.c: Include progname.h.
4109         (main): Invoke set_program_name.
4110         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
4111
4112 2012-02-04  Eric Blake  <eblake@redhat.com>
4113
4114         canonicalize-lgpl: fix // handling
4115         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
4116
4117         canonicalize: fix // handling
4118         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
4119         /// to //, since only // is special.
4120
4121 2012-02-04  Bruno Haible  <bruno@clisp.org>
4122
4123         ioctl: Fix test failure on native Windows.
4124         * lib/ioctl.c: Include msvc-nothrow.h.
4125         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
4126
4127 2012-02-04  Bruno Haible  <bruno@clisp.org>
4128
4129         fsync: Avoid test failure on native Windows.
4130         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
4131         read-only.
4132
4133 2012-02-04  Bruno Haible  <bruno@clisp.org>
4134
4135         sys_select: Avoid syntax error on OpenBSD 5.0.
4136         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
4137         currently being included, just include the system's <sys/select.h>.
4138
4139 2012-02-04  Bruno Haible  <bruno@clisp.org>
4140
4141         sys_select: Avoid syntax error on OpenBSD 5.0.
4142         * lib/sys_select.in.h: Include <signal.h> only after the include_next
4143         <sys/select.h>, not before.
4144         Reported by Jiri B <jirib@devio.us>.
4145
4146 2012-02-04  Bruno Haible  <bruno@clisp.org>
4147
4148         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
4149         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
4150         global variables.
4151         * tests/test-get-rusage-data.c (main): Likewise.
4152         Reported by Jim Meyering.
4153
4154 2012-02-04  Bruno Haible  <bruno@clisp.org>
4155
4156         stdioext: Fix last commit.
4157         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
4158
4159 2012-02-03  Bruno Haible  <bruno@clisp.org>
4160
4161         stdioext: Add tentative support for Plan9.
4162         * lib/stdio-impl.h: Include <errno.h>.
4163         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
4164         * lib/freadable.c (freadable): Likewise.
4165         * lib/fwritable.c (fwritable): Likewise.
4166         * lib/fbufmode.c (fbufmode): Likewise.
4167         * lib/freading.c (freading): Likewise.
4168         * lib/fwriting.c (fwriting): Likewise.
4169         * lib/freadptr.c (freadptr): Likewise.
4170         * lib/freadseek.c (freadptrinc): Likewise.
4171         * lib/freadahead.c (freadahead): Likewise.
4172         * lib/fpurge.c (fpurge): Likewise.
4173         * lib/fseeko.c (rpl_fseeko): Likewise.
4174         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
4175         Reported by Jens Staal <staal1978@gmail.com>.
4176
4177 2012-02-02  Jim Meyering  <meyering@redhat.com>
4178
4179         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
4180         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
4181         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
4182         not even to try to add the attribute.  Instead, add a pragma to suppress
4183         the suggestion/warning.
4184
4185 2012-01-31  Karl Berry  <karl@gnu.org>
4186
4187         setstate doc: typo.
4188         * doc/posix-functions/setstate.texi (setstate): { not (.
4189
4190 2012-01-31  Bruno Haible  <bruno@clisp.org>
4191
4192         popen: Make more robust on Windows.
4193         * lib/popen.c: On native Windows, use the _popen based code even if
4194         HAVE_POPEN is set.
4195         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
4196         environment variable on native Windows.
4197
4198 2012-01-30  Bruno Haible  <bruno@clisp.org>
4199
4200         pclose: Fix typo.
4201         * lib/stdio.in.h (pclose): Fix typo in warning message.
4202
4203 2012-01-30  Bruno Haible  <bruno@clisp.org>
4204
4205         doc about getlogin_r, setstate.
4206         * doc/posix-functions/getlogin_r.texi: List the incompatible
4207         declaration problem under "not fixed by gnulib".
4208         * doc/posix-functions/setstate.texi: Mention incompatible declaration
4209         problem on Solaris 11 and other platforms.
4210
4211 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
4212             Bruno Haible  <bruno@clisp.org>
4213
4214         poll tests: Make test more robust.
4215         * tests/test-poll.c: Include macros.h.
4216         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
4217         return value of various I/O operations.
4218         * modules/poll-tests (Files): Add tests/macros.h.
4219
4220 2012-01-30  Bruno Haible  <bruno@clisp.org>
4221
4222         sys_stat: Fix support for mingw64 and MSVC.
4223         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
4224         header files already do it.
4225         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
4226         stat itself.
4227         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4228
4229 2012-01-30  Bruno Haible  <bruno@clisp.org>
4230
4231         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
4232         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
4233         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
4234
4235 2012-01-29  Bruno Haible  <bruno@clisp.org>
4236
4237         quotearg: Fix test failure on MacOS X 10.5.
4238         * tests/test-quotearg-simple.c: Include localcharset.h.
4239         (main): If the locale encoding is not ASCII, bypass the tests of
4240         locale_quoting_style and clocale_quoting_style.
4241         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
4242
4243 2012-01-29  Jim Meyering  <meyering@redhat.com>
4244
4245         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
4246         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
4247         detect uses of canonicalize_file_name.
4248
4249 2012-01-28  Bruno Haible  <bruno@clisp.org>
4250
4251         test-framework-sh: Fix test failure with AIX 7.1 diff.
4252         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
4253         in column 1, like 'diff -c' does.
4254         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
4255         whether 'diff -u' is used. Instead, test whether the output contains
4256         some '@' character.
4257
4258 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4259
4260         strtoimax: eliminate need for stdint.h, inttypes.h checks
4261         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
4262         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
4263         the prerequisites for a recently-introduced strtoimax test.
4264         I guess this might cause strtoimax to be replaced when not
4265         strictly necessary on older hosts, but this shouldn't introduce
4266         any bugs and it should make Emacs 'configure' faster on typical
4267         modern hosts.  Problem discovered when importing the latest gnulib
4268         to an Emacs test version.
4269         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
4270
4271 2012-01-28  Bruno Haible  <bruno@clisp.org>
4272
4273         sys_time: Override 'struct timeval' on some native Windows platforms.
4274         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
4275         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
4276         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
4277         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
4278         needs to be overridden.
4279         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
4280         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
4281         * tests/test-sys_select.c: Check that the tv_sec member has the same
4282         size as a 'time_t'.
4283         * tests/test-sys_time.c: Likewise.
4284         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
4285         is set, set also REPLACE_GETTIMEOFDAY.
4286         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
4287         convert the resulting 'struct timeval' before returning.
4288         * lib/select.c: Include <sys/time.h>.
4289         (select, timeval): Undefine at the right place.
4290         * modules/select (Depends-on): Add sys_time.
4291         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
4292         some Windows platforms.
4293         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4294
4295 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4296
4297         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
4298         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
4299         an integer.
4300         * lib/fcntl.c (dupfd): Likewise.
4301         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
4302
4303 2012-01-28  Bruno Haible  <bruno@clisp.org>
4304
4305         fcntl: Avoid compilation error on native Windows.
4306         * modules/fcntl (Depends-on): Add 'close'.
4307
4308 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4309
4310         select, poll, isatty: Avoid warnings on x86_64 mingw64.
4311         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
4312         pointer to an integer.
4313         * lib/poll.c (IsConsoleHandle): Likewise.
4314         * lib/isatty.c (IsConsoleHandle): Likewise.
4315
4316 2012-01-28  Jim Meyering  <meyering@redhat.com>
4317
4318         doc: clarify README-release
4319         * top/README-release: Clarify: you should make a point to have
4320         the latest stable versions of build tools in your PATH, and the
4321         reference to buildreq is solely for its list of tool names, not
4322         for its minimal-functional version numbers.
4323         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
4324
4325         maint.mk: use more readable (yet functionally equivalent) quoting
4326         It is common to quote a single quote in a single quoted string like
4327         this:  '...'\''...'.  Unless you know the idiom, that looks like
4328         gibberish, so prefer to double-quote the string when possible.
4329         Then you can use a more readable, lone single quote: "...'..."
4330         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
4331         "don't" is more readable than the equivalent 'don'\''t'.
4332         (sc_cast_of_x_alloc_return_value): Likewise.
4333         (sc_cast_of_alloca_return_value): Likewise.
4334         (sc_makefile_path_separator_check): Similar: use ":" in '...',
4335         rather than '\'':'\''.
4336
4337 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4338
4339         stdalign: relax _Alignof and tighten _Alignas test
4340         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
4341         as it was too strict: alignof must divide offsetof, but it need
4342         not equal offsetof.  Inspired by Joseph S. Myers's comment
4343         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
4344         Conversely, tighten the _Alignas test a bit, as the resulting
4345         alignment must be exactly 8.
4346
4347 2012-01-27  Bruno Haible  <bruno@clisp.org>
4348
4349         stdalign: Document the last change.
4350         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
4351
4352 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4353
4354         stdalign: check that alignof and offsetof are consistent
4355         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
4356         Problem reported for gnulib by Richard W.M. Jones in
4357         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
4358
4359 2012-01-27  Jim Meyering  <meyering@redhat.com>
4360
4361         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
4362         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
4363         convert a sequence with gaps to the minimal containing range.
4364         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
4365         * tests/test-update-copyright.sh: Test for this.
4366         The FSF confirmed it is ok to do this, assuming there is at
4367         least one significant change per year in the affected range:
4368         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
4369
4370 2012-01-26  Bruno Haible  <bruno@clisp.org>
4371
4372         pipe2: refine doc about thread-safety
4373         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
4374         multithread-safety problem.
4375         * doc/glibc-functions/accept4.texi: Likewise.
4376
4377 2012-01-26  Bruno Haible  <bruno@clisp.org>
4378
4379         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
4380         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
4381         In the test program, include <fcntl.h>, for O_RDONLY.
4382
4383 2012-01-26  Eric Blake  <eblake@redhat.com>
4384
4385         pipe2: document lack of thread-safety in replacement
4386         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
4387         issue in replacement.
4388         * doc/glibc-functions/accept4.texi (accept4): Likewise.
4389         Based on a report by Eric Wong.
4390
4391 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4392             Bruno Haible  <bruno@clisp.org>
4393
4394         malloca: Avoid warnings on x86_64 mingw64.
4395         * lib/malloca.c: Include <stdint.h>.
4396         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
4397         * modules/malloca (Depends-on): Add stdint.
4398         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
4399
4400 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
4401
4402         obstack: remove __STDC__ conditionals
4403         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
4404         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
4405         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
4406         m4/include_next.m4 as the only gnulib-maintained places that still
4407         refer to __STDC__.
4408
4409 2012-01-24  Bruno Haible  <bruno@clisp.org>
4410
4411         havelib: Modern quoting.
4412         * build-aux/config.rpath: Quote 'like this', not `like this', as per
4413         the recent change to the GNU coding standards.
4414
4415 2012-01-24  Bruno Haible  <bruno@clisp.org>
4416
4417         stdint: Improve support for Android.
4418         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
4419         Reported by Simon Josefsson <simon@josefsson.org>.
4420
4421 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4422
4423         doc: omit trailing empty lines from INSTALL etc.
4424         * doc/Makefile (INSTALL): Omit trailing empty lines.
4425         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
4426         omit trailing empty lines.  This simplifies the build procedure.
4427
4428 2012-01-23  Jim Meyering  <meyering@redhat.com>
4429
4430         tests: avoid spurious warnings about gl_sockets_startup
4431         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
4432         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
4433         reporting a "statement with no effect".
4434         * tests/test-accept.c (main): Mark as "(void)".
4435         * tests/test-accept4.c (main): Likewise.
4436         * tests/test-bind.c (main): Likewise.
4437         * tests/test-connect.c (main): Likewise.
4438         * tests/test-getpeername.c (main): Likewise.
4439         * tests/test-getsockname.c (main): Likewise.
4440         * tests/test-getsockopt.c (main): Likewise.
4441         * tests/test-listen.c (main): Likewise.
4442         * tests/test-recv.c (main): Likewise.
4443         * tests/test-recvfrom.c (main): Likewise.
4444         * tests/test-send.c (main): Likewise.
4445         * tests/test-sendto.c (main): Likewise.
4446         * tests/test-setsockopt.c (main): Likewise.
4447         * tests/test-shutdown.c (main): Likewise.
4448
4449 2012-01-21  Bruno Haible  <bruno@clisp.org>
4450
4451         locale-fr.m4: Fix for Android.
4452         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
4453         failure of the test program on Bionic libc.
4454
4455 2012-01-21  Jim Meyering  <meyering@redhat.com>
4456
4457         bootstrap: fail when bootstrap_post_import_hook fails
4458         Otherwise, it's far too easy to miss diagnostics emitted
4459         between gnulib-tool's output and that of running configure.
4460         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
4461
4462 2012-01-17  Jim Meyering  <meyering@redhat.com>
4463
4464         maint: enable sc_trailing_blank
4465         * build-aux/pmccabe.css: Remove trailing blanks.
4466         * doc/acl-cygwin.txt: Likewise.
4467         * doc/gnu-oids.texi: Likewise
4468         * cfg.mk: Enable sc_trailing_blank.
4469         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
4470
4471 2012-01-17  Jim Meyering  <meyering@redhat.com>
4472
4473         maint: enable sc_prohibit_openat_without_use
4474         * cfg.mk: Enable sc_prohibit_openat_without_use.
4475         Exempt lib/selinux-at.c.
4476
4477 2012-01-17  Jim Meyering  <meyering@redhat.com>
4478
4479         maint: enable sc_prohibit_cloexec_without_use
4480         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
4481         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
4482
4483 2012-01-17  Jim Meyering  <meyering@redhat.com>
4484
4485         maint: enable sc_prohibit_intprops_without_use
4486         * cfg.mk: Enable sc_prohibit_intprops_without_use
4487         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
4488
4489 2012-01-17  Jim Meyering  <meyering@redhat.com>
4490
4491         maint: enable sc_prohibit_hash_pjw_without_use
4492         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
4493         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
4494         to match any use of \<hash_pjw\>, i.e., not necessarily with a
4495         following " (".
4496
4497 2012-01-17  Jim Meyering  <meyering@redhat.com>
4498
4499         maint: enable double-word-prohibiting rule
4500         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
4501         Exempt three files.
4502
4503 2012-01-17  Jim Meyering  <meyering@redhat.com>
4504
4505         maint: remove empty lines at EOF, but excluding modules/*
4506         Apply syntax rules at home as well as abroad.  Most changes
4507         were induced by running this:
4508           make srcdir=. _build-aux=build-aux -f top/maint.mk \
4509             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
4510             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
4511         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
4512         Exempt modules/* and two binary files.
4513         Also exempt doc/INSTALL*, per request from Bruno Haible.
4514         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
4515         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
4516         * doc/Copyright/request-assign.future: Likewise.
4517         * doc/Copyright/request-disclaim.changes: Likewise.
4518         * doc/INSTALL: Likewise.
4519         * doc/INSTALL.ISO: Likewise.
4520         * doc/INSTALL.UTF-8: Likewise.
4521         * doc/acl-cygwin.txt: Likewise.
4522         * doc/acl-resources.txt: Likewise.
4523         * doc/fdl-1.2.texi: Likewise.
4524         * doc/fdl-1.3.texi: Likewise.
4525         * doc/fdl.texi: Likewise.
4526         * lib/argp-pin.c: Likewise.
4527         * lib/round.c: Likewise.
4528         * lib/unicase/u16-totitle.c: Likewise.
4529         * lib/unictype/block_test.c: Likewise.
4530         * lib/uninorm/canonical-decomposition.c: Likewise.
4531         * m4/README: Likewise.
4532         * m4/relocatable-lib.m4: Likewise.
4533         * tests/test-isnand-nolibm.c: Likewise.
4534         * tests/test-isnand.c: Likewise.
4535         * tests/uninorm/NormalizationTest.txt: Likewise.
4536
4537 2012-01-17  Jim Meyering  <meyering@redhat.com>
4538
4539         maint: add framework to run syntax-check rules against gnulib sources
4540         * cfg.mk: New file, to disable all currently-failing tests.
4541         We'll enable them one by one, as they are made to pass.
4542         * Makefile (sc_maint): New rule.
4543
4544 2012-01-21  Bruno Haible  <bruno@clisp.org>
4545
4546         stdint: Add support for Android.
4547         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
4548         include the system's <stdint.h>.
4549         Reported by Simon Josefsson <simon@josefsson.org>.
4550
4551 2012-01-19  Jim Meyering  <meyering@redhat.com>
4552
4553         bootstrap: add bootstrap_post_import_hook
4554         Bison does still need something like the gnulib_mk_hook whose
4555         invocation I had to remove along with slurp in commit 767ccd40.
4556         Technically, we could get along without it, but doing so would
4557         have required living with a warning and a mandatory post-bootstrap
4558         automake rerun.
4559         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
4560         (bootstrap_post_import_hook): New function.
4561         Invoke it after gnulib-tool --import and before autoreconf.
4562
4563 2012-01-18  Jim Meyering  <meyering@redhat.com>
4564
4565         gitlog-to-changelog: don't use "no_"-prefixed variable name
4566         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
4567         to enable both --cluster and --no-cluster.  Change variable name,
4568         s/\$no_cluster/$cluster/, and reverse usage to match.
4569
4570         gitlog-to-changelog: use "||", not "or" in expressions
4571         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
4572         expressions.
4573
4574 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
4575
4576         gitlog-to-changelog: new option --no-cluster
4577         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
4578         clustering of adjacent commit messages.
4579
4580 2012-01-17  Jim Meyering  <meyering@redhat.com>
4581
4582         maint: spell file systems with two words, not one
4583         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
4584         two words, not one.
4585
4586 2012-01-16  Jim Meyering  <meyering@redhat.com>
4587
4588         bootstrap: add a FIXME comment to ensure we eventually remove the hack
4589         * build-aux/bootstrap (gnulib_tool_options): Add comment.
4590
4591 2012-01-16  Eric Blake  <eblake@redhat.com>
4592
4593         bootstrap: cater to autoconf 2.59
4594         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
4595         is not available.
4596
4597         bootstrap: properly check for libtool
4598         * build-aux/bootstrap (libtoolize): Also run libtool when older
4599         usage is detected.
4600
4601 2012-01-15  Bruno Haible  <bruno@clisp.org>
4602
4603         Improve support for MSVC 9.
4604         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
4605         clashes on MSVC.
4606         * lib/fcntl.in.h: Likewise.
4607         * lib/stdlib.in.h: Likewise.
4608         * lib/sys_stat.in.h: Likewise.
4609
4610 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
4611
4612         gnupload: we hold the master copy of this script now
4613         For motivation and more information, see:
4614         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
4615         * build-aux/gnupload: Make it clear in the heading comments that the
4616         master copy of this file is maintained by gnulib.  Since we are at
4617         it, bump its copyright year and ...
4618         ($scriptversion): ... the date in its version.
4619         ($usage): Patches and bug reports should be sent to the gnulib list,
4620         not the automake one.
4621         * config/srclist.txt: Don't try to sync 'gnupload' from automake
4622         anymore.
4623
4624 2012-01-15  Bruno Haible  <bruno@clisp.org>
4625
4626         Fix module 'random'.
4627         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
4628         initstate, setstate are declared.
4629
4630 2012-01-14  Bruno Haible  <bruno@clisp.org>
4631
4632         Tests for module 'random'.
4633         * modules/random-tests: New file.
4634         * tests/test-random.c: New file, based on tests/test-random_r.c.
4635
4636         New module 'random'.
4637         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
4638         declarations.
4639         * lib/random.c: New file, based on glibc/stdlib/random.c.
4640         * m4/random.m4: New file.
4641         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
4642         HAVE_RANDOM.
4643         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
4644         * modules/random: New file.
4645         * config/srclist.txt: Add an entry for random.c.
4646         * doc/posix-functions/random.texi: Mention the 'random' module.
4647         * doc/posix-functions/initstate.texi: Likewise.
4648         * doc/posix-functions/setstate.texi: Likewise.
4649         * doc/posix-functions/srandom.texi: Likewise.
4650
4651 2012-01-12  Bruno Haible  <bruno@clisp.org>
4652
4653         random_r: Use common idioms.
4654         * lib/random_r.c: Include <stdlib.h> first.
4655
4656         random_r: Override incompatible API on AIX, OSF/1.
4657         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
4658         Override the system function if REPLACE_RANDOM_R is 1.
4659         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
4660         and OSF/1, set REPLACE_RANDOM_R.
4661         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
4662         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
4663         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
4664         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
4665         * doc/glibc-functions/random_r.texi: Likewise.
4666         * doc/glibc-functions/setstate_r.texi: Likewise.
4667
4668         random_r: Support for MSVC 9.
4669         * lib/random_r.c: Include stdint.h, not inttypes.h.
4670
4671 2012-01-12  Eric Blake  <eblake@redhat.com>
4672
4673         inet_ntop: guard extra work by IF_LINT
4674         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
4675         better code generation when not checking for warnings.
4676         Suggested by Paul Eggert and Jim Meyering.
4677
4678         strptime: fix regression on mingw
4679         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
4680         Fix regression.  Reported by Bruno Haible.
4681
4682 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
4683             Bruno Haible  <bruno@clisp.org>
4684
4685         copy-file: add error-code-returning variant.
4686         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
4687         (qcopy_file_preserving): New declaration.
4688         * lib/copy-file.c (qcopy_file_preserving): Renamed from
4689         copy_file_preserving. Change return type to 'int'. Don't emit an error
4690         message here.
4691         (copy_file_preserving): New function.
4692         * tests/test-copy-file.c: Include <stdlib.h>.
4693         (main): Test qcopy_file_preserving if the environment variable
4694         NO_STDERR_OUTPUT is set.
4695         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
4696         with NO_STDERR_OUTPUT
4697         * tests/test-copy-file-2.sh: Likewise.
4698
4699 2012-01-10  Bruno Haible  <bruno@clisp.org>
4700
4701         copy-file: Use 'quote' module consistently.
4702         * lib/copy-file.c (copy_file_preserving): Use quote().
4703
4704         copy-file: Refactor.
4705         * lib/copy-file.c: Include quote.h.
4706         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
4707         message here.
4708         * modules/copy-file (Depends-on): Add quote.
4709
4710         acl: Export qcopy_acl.
4711         * lib/acl.h (qcopy_acl): New declaration.
4712         * lib/copy-acl.c (qcopy_acl): Make non-static.
4713
4714         acl: Rename a local variable.
4715         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
4716
4717         acl: Align return values of copy_acl and qcopy_acl.
4718         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
4719         maybe < -1.
4720
4721 2012-01-11  Eric Blake  <eblake@redhat.com>
4722
4723         strptime: silence gcc warnings
4724         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
4725         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
4726         Reported by Daniel P. Berrange.
4727
4728         inet_ntop: silence gcc warning
4729         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
4730         Reported by Daniel P. Berrange.
4731
4732 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
4733
4734         getloadavg test: skip the test on GNU/Linux without /proc mounted
4735         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
4736         file.  When /proc is not mounted, it always fails with ENOENT.
4737         * tests/test-getloadavg.c (main): Treat ENOENT return code from
4738         getloadavg(3) the same way as ENOSYS and ENOTSUP.
4739
4740 2012-01-10  Bruno Haible  <bruno@clisp.org>
4741
4742         regex: Avoid link error on MSVC 9.
4743         * modules/regex (Depends-on): Add wctype.
4744
4745 2012-01-10  Bruno Haible  <bruno@clisp.org>
4746
4747         doc: Mention --with-tests option.
4748         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
4749         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
4750         --with-tests.
4751         Reported by Reuben Thomas.
4752
4753 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
4754
4755         users.txt: order package names lexicographically.
4756         * users.txt: Order package names lexicographically.
4757
4758 2012-01-10  Jim Meyering  <meyering@redhat.com>
4759
4760         maint.mk: fix description in comment
4761         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
4762
4763         ignore-value: remove deprecated ignore_ptr function
4764         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
4765         * NEWS: Note this.
4766
4767 2012-01-09  Jim Meyering  <meyering@redhat.com>
4768
4769         test-init.sh: avoid a subshell
4770         * tests/test-init.sh: Remove protective subshell.
4771         Suggested by Bernhard Voelker.  While a subshell is normally
4772         required to protect against older shells (Solaris, FreeBSD) that
4773         warn about a missing program before performing redirection, the
4774         shell-selection tests performed by init.sh probably exclude any
4775         offending shell.
4776
4777 2012-01-08  Bruno Haible  <bruno@clisp.org>
4778
4779         setlocale tests: Avoid test failure on Solaris 11 2011-11.
4780         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
4781         variable.
4782
4783 2012-01-08  Bruno Haible  <bruno@clisp.org>
4784
4785         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
4786         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4787         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4788         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
4789         macro.
4790         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
4791         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4792         * lib/spawn_faction_addopen.c: Add workaround implementation if
4793         HAVE_WORKING_POSIX_SPAWN.
4794         * modules/spawn (Makefile): Substitute
4795         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4796         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
4797         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
4798         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4799         (Depends-on): Update conditions.
4800         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
4801         the Solaris 11 bug.
4802
4803 2012-01-08  Bruno Haible  <bruno@clisp.org>
4804
4805         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
4806         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4807         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4808         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
4809         macro.
4810         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
4811         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4812         * lib/spawn_faction_adddup2.c: Add workaround implementation if
4813         HAVE_WORKING_POSIX_SPAWN.
4814         * modules/spawn (Makefile): Substitute
4815         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4816         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
4817         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
4818         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4819         (Depends-on): Update conditions.
4820         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
4821         the Solaris 11 bug.
4822
4823 2012-01-08  Bruno Haible  <bruno@clisp.org>
4824
4825         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
4826         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4827         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4828         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
4829         HAVE_WORKING_POSIX_SPAWN.
4830         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
4831         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
4832         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4833         * lib/spawn_faction_addclose.c: Add workaround implementation if
4834         HAVE_WORKING_POSIX_SPAWN.
4835         * modules/spawn (Makefile): Substitute
4836         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4837         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
4838         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
4839         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4840         (Depends-on): Update conditions.
4841         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
4842         the Solaris 11 bug.
4843
4844 2012-01-08  Bruno Haible  <bruno@clisp.org>
4845
4846         doc: Update for Solaris 11 2011-11.
4847         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
4848         * m4/printf.m4: Update comments.
4849
4850 2012-01-08  Bruno Haible  <bruno@clisp.org>
4851
4852         mktime: Avoid compilation error on Solaris 11.
4853         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
4854
4855 2012-01-08  Bruno Haible  <bruno@clisp.org>
4856
4857         doc: Small fix.
4858         * doc/posix-headers/nl_types.texi: Correct platforms list.
4859
4860 2012-01-08  Simon Josefsson  <simon@josefsson.org>
4861
4862         Add lgpl-3.0 module.
4863         * MODULES.html.sh (Support for building documentation): Add
4864         lgpl-3.0.
4865         * modules/lgpl-3.0: New file.
4866
4867 2012-01-08  Jim Meyering  <meyering@redhat.com>
4868
4869         select.c: indent with spaces, not TABs
4870         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
4871
4872 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4873
4874         quotearg: do not use grave accent for left quote
4875         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
4876         locale_quoting_style.
4877         (quotearg_buffer_restyled): Fix example.
4878         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
4879
4880 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4881
4882         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
4883         Most programs do not have translation catalogs for English and much
4884         less separate catalogs for British and American English.  Drop the
4885         suggestion to translators about these two, and provide it
4886         automatically for Unicode locales.  Like most programs, even those
4887         using American English, we use single quotation marks.  This conflicts
4888         with the American typographic convention, but works better when you
4889         cite the entire error message within double quotes.  It also tries not
4890         to clash with established practice and with what non-gnulib programs
4891         will usually do.
4892         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
4893         using an UTF-8 or GB-18030 locale.  The list of other locales with
4894         quotes was provided by Bruno Haible.
4895         (quotearg_buffer_restyled): Adjust instructions to translators.
4896         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
4897         text, since this would be wrong when using Unicode.
4898         * modules/quotearg: Depend on c-strcaseeq.
4899
4900 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4901
4902         quotearg: fix Wikipedia link
4903         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
4904
4905 2012-01-07  Simon Josefsson  <simon@josefsson.org>
4906
4907         Fix for mingw with MSVC9.
4908         * m4/ld-version-script.m4: Check that compiler rejects version
4909         scripts with syntax errors.  Reported by Bruno Haible
4910         <bruno@clisp.org>.
4911
4912 2012-01-06  Bruno Haible  <bruno@clisp.org>
4913
4914         Talk about "native Windows API", not "Woe32".
4915         * lib/accept4.c: Update comments to mention native Windows.
4916         * lib/execute.c: Likewise.
4917         * lib/fatal-signal.c: Likewise.
4918         * lib/localcharset.c: Likewise.
4919         * lib/nanosleep.c: Likewise.
4920         * lib/nl_langinfo.c: Likewise.
4921         * lib/pclose.c: Likewise.
4922         * lib/pipe-filter-gi.c: Likewise.
4923         * lib/pipe-filter-ii.c: Likewise.
4924         * lib/pipe.c: Likewise.
4925         * lib/pipe2.c: Likewise.
4926         * lib/popen.c: Likewise.
4927         * lib/progreloc.c: Likewise.
4928         * lib/relocatable.c: Likewise.
4929         * lib/sigaction.c: Likewise.
4930         * lib/sigprocmask.c: Likewise.
4931         * lib/spawn-pipe.h: Likewise.
4932         * lib/spawn-pipe.c: Likewise.
4933         * lib/spawni.c: Likewise.
4934         * lib/stat-time.h: Likewise.
4935         * lib/w32spawn.h: Likewise.
4936         * tests/test-isatty.c: Likewise.
4937         * lib/config.charset: More comments.
4938         * doc/gnulib-intro.texi: Mention native Windows.
4939         * doc/posix-functions/_Exit_C99.texi: Likewise.
4940         * doc/posix-headers/fcntl.texi: Likewise.
4941
4942 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
4943
4944         argp: Avoid crash if translator uses % characters in a translation.
4945         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
4946         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
4947
4948 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
4949
4950         doc: C11 and C++11 are now official
4951         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
4952         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
4953         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
4954         * modules/stdalign:
4955         Replace references to draft C1X to C11, and to draft C++0X to C++11.
4956
4957 2012-01-06  Bruno Haible  <bruno@clisp.org>
4958
4959         uc-is-grapheme-break tests: Tweak.
4960         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
4961         message.
4962
4963 2012-01-06  Bruno Haible  <bruno@clisp.org>
4964
4965         test-init.sh: correct the test for diff -u
4966         * tests/test-init.sh: Also redirect stdout to /dev/null.
4967
4968 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4969
4970         Use ', not `, for quoting output.
4971         * build-aux/announce-gen (usage, sizes, print_news_deltas)
4972         (print_changelog_deltas, get_tool_versions, main program):
4973         * build-aux/git-version-gen:
4974         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
4975         * build-aux/move-if-change (help):
4976         * build-aux/useless-if-before-free (usage, main program):
4977         * check-module (parse_module_file, usage)
4978         (find_included_lib_files, check_module):
4979         * lib/argmatch.c (main) [TEST]:
4980         * lib/argp-help.c (_help):
4981         * lib/getopt1.c (main) [TEST]:
4982         * lib/git-merge-changelog.c (usage):
4983         * lib/xstrtol-error.c (xstrtol_error):
4984         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
4985         * m4/argz.m4 (gl_FUNC_ARGZ):
4986         * m4/bison.m4 (gl_BISON):
4987         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
4988         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
4989         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
4990         * m4/fpending.m4 (gl_PREREQ_FPENDING):
4991         * m4/gc-random.m4 (gl_GC_RANDOM):
4992         * m4/intl.m4 (gt_CHECK_DECL):
4993         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
4994         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
4995         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
4996         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
4997         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
4998         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
4999         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
5000         * tests/test-dirname.c (main):
5001         * tests/test-getpass.c (main):
5002         * tests/test-iconvme.c (main):
5003         * tests/test-parse-datetime.c (LOG):
5004         * tests/test-xstrtoimax.sh:
5005         * tests/test-xstrtol.sh:
5006         * tests/test-xstrtoll.sh:
5007         * tests/test-xstrtoumax.sh:
5008         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
5009         * top/GNUmakefile (abort-due-to-no-makefile):
5010         Quote 'like this', not `like this', as per the recent change to
5011         the GNU coding standards.
5012
5013 2012-01-05  Bruno Haible  <bruno@clisp.org>
5014
5015         strtoimax: Don't force a replacement on systems where intmax_t is int.
5016         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
5017         'intmax_t' is not larger than 'int'.
5018         Reported by Pádraig Brady <P@draigBrady.com>.
5019
5020 2012-01-05  Bruno Haible  <bruno@clisp.org>
5021
5022         doc: Mention NetBSD bugs.
5023         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
5024         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
5025
5026 2012-01-05  Bruno Haible  <bruno@clisp.org>
5027
5028         strtoumax tests: Enhance tests.
5029         * tests/test-strtoumax.c (main): Add tests for large values.
5030
5031 2012-01-05  Bruno Haible  <bruno@clisp.org>
5032
5033         strtoimax: Work around AIX 5.1 bug.
5034         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
5035         definition.
5036         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
5037         Set HAVE_STRTOIMAX.
5038         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
5039         REPLACE_STRTOIMAX.
5040         * modules/inttypes-incomplete (Makefile.am): Substitute
5041         REPLACE_STRTOIMAX.
5042         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
5043         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
5044         (Depends-on): Update conditions.
5045         * tests/test-strtoimax.c (main): Add tests for large values.
5046         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
5047
5048 2012-01-05  Bruno Haible  <bruno@clisp.org>
5049
5050         inttypes: Modernize.
5051         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
5052         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
5053         (Makefile.am): Update inttypes.h rule.
5054
5055 2012-01-05  Jim Meyering  <meyering@redhat.com>
5056
5057         init.sh: don't waste a subshell just to redirect stderr
5058         * tests/init.sh: In testing for diff -u and diff -c, use a
5059         stderr-redirecting exec inside `...` rather than a subshell.
5060
5061         test-init.sh: avoid failure on HP-UX 11.00
5062         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
5063         resolves to diff -c or cmp.  Reported by Bruno Haible.
5064
5065 2012-01-05  Bruno Haible  <bruno@clisp.org>
5066
5067         Tests for module 'strtoull'.
5068         * modules/strtoull-tests: New file.
5069         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
5070
5071 2012-01-05  Bruno Haible  <bruno@clisp.org>
5072
5073         Tests for module 'strtoll'.
5074         * modules/strtoll-tests: New file.
5075         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
5076
5077 2012-01-05  Bruno Haible  <bruno@clisp.org>
5078
5079         Tests for module 'strtoul'.
5080         * modules/strtoul-tests: New file.
5081         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
5082
5083 2012-01-05  Bruno Haible  <bruno@clisp.org>
5084
5085         Tests for module 'strtol'.
5086         * modules/strtol-tests: New file.
5087         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
5088
5089 2012-01-04  Jim Meyering  <meyering@redhat.com>
5090
5091         test-init.sh: accommodate Solaris 5.10's different diff -u output
5092         * tests/test-init.sh: Also exempt @@ lines from the comparison
5093         of diff output, since Solaris 5.10 and GNU diff formats differ.
5094         Reported by Stefano Lattarini.
5095
5096 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
5097
5098         test-posixtm: don't assume signed integer wraparound
5099         * tests/test-posixtm.c (main): Don't assume wraparound semantics
5100         after signed integer overflow.  Inspired by (though it may not
5101         fix) Bruno Haible's bug report in
5102         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
5103
5104         Spell out "Windows 9x" and "Windows XP".
5105         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
5106         "Windows 9x" and "WinXP" with "Windows XP".
5107
5108 2012-01-04  Jim Meyering  <meyering@redhat.com>
5109
5110         test-vc-list-files-cvs.sh: remove obsolete comment
5111         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
5112         double exit.  Now that's all encapsulated via skip_ and Exit.
5113
5114 2012-01-04  Bruno Haible  <bruno@clisp.org>
5115
5116         Talk about "native Windows API", not "Win32".
5117         * lib/classpath.c: Update comments to mention native Windows.
5118         * lib/csharpexec.c: Likewise.
5119         * lib/dup2.c: Likewise.
5120         * lib/error.c: Likewise.
5121         * lib/fcntl.c: Likewise.
5122         * lib/filename.h: Likewise.
5123         * lib/findprog.c: Likewise.
5124         * lib/get-rusage-as.c: Likewise.
5125         * lib/get-rusage-data.c: Likewise.
5126         * lib/getpagesize.c: Likewise.
5127         * lib/javaexec.c: Likewise.
5128         * lib/msvc-inval.c: Likewise.
5129         * lib/msvc-nothrow.c: Likewise.
5130         * lib/nanosleep.c: Likewise.
5131         * lib/nonblocking.c: Likewise.
5132         * lib/printf-parse.c: Likewise.
5133         * lib/setlocale.c: Likewise.
5134         * lib/sigaction.c: Likewise.
5135         * lib/strerror_r.c: Likewise.
5136         * lib/tmpdir.c: Likewise.
5137         * lib/vasnprintf.c: Likewise.
5138         * lib/w32spawn.h: Likewise.
5139         * lib/waitpid.c: Likewise.
5140         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
5141         * m4/locale-ar.m4: Likewise.
5142         * m4/locale-fr.m4: Likewise.
5143         * m4/locale-ja.m4: Likewise.
5144         * m4/locale-tr.m4: Likewise.
5145         * m4/locale-zh.m4: Likewise.
5146         * m4/printf.m4: Likewise.
5147         * tests/test-cloexec.c: Likewise.
5148         * tests/test-copy-acl.sh: Likewise.
5149         * tests/test-copy-file.sh: Likewise.
5150         * tests/test-file-has-acl.sh: Likewise.
5151         * tests/test-set-mode-acl.sh: Likewise.
5152         * tests/test-dup-safer.c: Likewise.
5153         * tests/test-dup2.c: Likewise.
5154         * tests/test-dup3.c: Likewise.
5155         * tests/test-fcntl.c: Likewise.
5156         * tests/test-nonblocking-pipe.h: Likewise.
5157         * tests/test-nonblocking-socket.h: Likewise.
5158         * tests/test-pipe.c: Likewise.
5159         * tests/test-pipe2.c: Likewise.
5160         * tests/test-spawn-pipe-child.c: Likewise.
5161         * doc/acl-resources.txt: Likewise.
5162         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5163         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
5164         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
5165         * lib/localcharset.c: Update comments to mention native Windows.
5166         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5167         * lib/localename.c: Likewise.
5168         * lib/progreloc.c: Likewise.
5169         * lib/relocatable.c: Likewise.
5170         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5171         (windows_compute_revents): Renamed from win32_compute_revents.
5172         (windows_compute_revents_socket): Renamed from
5173         win32_compute_revents_socket.
5174         * lib/select.c: Update comments to mention native Windows.
5175         (windows_poll_handle): Renamed from win32_poll_handle.
5176         * m4/threadlib.m4: Update comments to mention native Windows.
5177         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
5178         --enable-threads=windows instead of --enable-threads=win32. Set
5179         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
5180         * lib/glthread/lock.h: Update comments to mention native Windows.
5181         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
5182         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
5183         USE_WIN32_THREADS.
5184         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
5185         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
5186         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
5187         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
5188         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
5189         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
5190         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
5191         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
5192         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
5193         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
5194         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
5195         * tests/test-tls.c: Likewise.
5196         Rationale:
5197         Microsoft renamed the "Win32 API" to "Windows API", as it is available
5198         on both 32-bit and 64-bit Windows systems.
5199         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
5200         line of distinction is between "native Windows" on one side and Unix/
5201         POSIX systems on the other side. More details in
5202         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
5203         Suggested by Paul Eggert.
5204
5205 2012-01-03  Bruno Haible  <bruno@clisp.org>
5206
5207         isatty: Support for MSVC 9.
5208         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
5209         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
5210         (_isatty_nothrow): New function.
5211         (isatty): Use it instead of _isatty.
5212         (IsConsoleHandle): Add comment, from Paolo Bonzini.
5213         * lib/poll.c (IsConsoleHandle): Likewise.
5214         * lib/select.c (IsConsoleHandle): Likewise.
5215         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
5216         (gl_PREREQ_ISATTY): New macro.
5217         * modules/isatty (Depends-on): Add msvc-inval.
5218         (configure.ac): Invoke gl_PREREQ_ISATTY.
5219
5220 2012-01-03  Jim Meyering  <meyering@redhat.com>
5221
5222         maint.mk: remove temporary transition aid from over 1.5 years ago
5223         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
5224         purpose was to aid in the transition (avoiding silent malfunction)
5225         from that old name to the new _sc_search_regexp.  This shim was
5226         added by commit 219c504b.
5227
5228         init.sh: do not try to accommodate compare arguments starting with "-"
5229         * tests/init.sh (compare_dev_null_): Do not try to accommodate
5230         compare arguments that start with "-".  Besides, we do not worry
5231         about this when invoking diff or cmp; why start now with sed?
5232         Using "--" to separate options from argument would trigger sed
5233         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
5234         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
5235
5236 2012-01-02  Bruno Haible  <bruno@clisp.org>
5237
5238         Enhance tests for module 'isatty'.
5239         * modules/isatty-tests (Depends-on): Add pipe-posix.
5240         * tests/test-isatty.c: Include <fcntl.h>.
5241         (DEV_NULL): New macro.
5242         (main): Test the resut of isatty() also on regular files, pipes, and
5243         /dev/null.
5244
5245         New module 'isatty'.
5246         * lib/unistd.in.h (isatty): New declaration.
5247         * lib/isatty.c: New file, based on an idea of
5248         Bastien Roucariès <roucaries.bastien@gmail.com>.
5249         * m4/isatty.m4: New file.
5250         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
5251         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
5252         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
5253         REPLACE_ISATTY.
5254         * modules/isatty: New file.
5255         * doc/posix-functions/isatty.texi: Mention the new module.
5256         Suggested by Paolo Bonzini.
5257
5258 2012-01-02  Bruno Haible  <bruno@clisp.org>
5259
5260         canonicalize: Tweak 2011-12-29 commit.
5261         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
5262         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
5263
5264 2012-01-02  Jim Meyering  <meyering@redhat.com>
5265
5266         gitlog-to-changelog: describe input syntax in --help output
5267         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
5268
5269         gitlog-to-changelog: fix typo in --help: show backslash before email @
5270         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
5271         in sources, but not in actual output.
5272
5273 2011-12-30  Jim Meyering  <meyering@redhat.com>
5274
5275         gitlog-to-changelog: don't malfunction when name contains %-directive
5276         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
5277         in a name string cause trouble.  E.g., with a user name of "%s",
5278         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
5279
5280 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
5281
5282         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
5283         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
5284         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
5285         the "  (tiny change)" notation that is appended to the standard
5286         ChangeLog "date  name  email" header line.
5287
5288 2012-01-01  Jim Meyering  <meyering@redhat.com>
5289
5290         test-framework-sh: init.sh: fix "make dist" failure
5291         When using gnulib-tool's --with-tests option and any module that
5292         depends on test-framework-sh, "make dist" would fail due to the
5293         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
5294         in the gltests directory, and not in the gllib/ directory.
5295         One way to work around that is to move the EXTRA_DIST += init.sh
5296         from the primary module to the -tests one:
5297         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
5298         * modules/test-framework-sh (Makefile.am): ...not here.
5299         Reported by Tom G. Christensen in
5300         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
5301
5302         version-etc: update copyright year reported by --version
5303         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
5304
5305 2011-12-31  Pádraig Brady  <P@draigBrady.com>
5306
5307         canonicalize: only stat() if required
5308         * lib/canonicalize.c (canonicalize_filename_mode):
5309         Avoid calling l?stat() when both CAN_MISSING,
5310         and CAN_NOLINKS are set, as we neither need
5311         to resolve symlinks or test component existence.
5312
5313 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
5314
5315         doc: cover st_ino issues once; add OpenVMS etc.
5316         * doc/posix-functions/stat.texi (stat):
5317         * doc/posix-functions/lstat.texi (lstat):
5318         * doc/posix-functions/fstatat.texi (fstatat):
5319         * doc/posix-functions/fstat.texi (fstat):
5320         Move general 'struct stat' stuff to sys_stat.texi,
5321         leaving behind a pointer.
5322         * doc/posix-headers/sys_stat.texi (sys/stat.h):
5323         Merge duplicate info about 'struct stat' problems into here.
5324         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
5325         and suggest partial workarounds.
5326
5327         same-inode: port to OpenVMS
5328         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
5329         three st_ino values.
5330
5331 2011-12-30  Pádraig Brady  <P@draigBrady.com>
5332
5333         canonicalize: fix references to stat() and lstat()
5334         * lib/canonicalize.c (canonicalize_filename_mode):
5335         Ensure references always resolve to a replacement
5336         function if required (even via a macro).
5337
5338 2011-12-30  Jim Meyering  <meyering@redhat.com>
5339
5340         gitlog-to-changelog: remove a little duplication
5341         * build-aux/gitlog-to-changelog (main): Grep @lines once,
5342         rather than twice.
5343
5344 2011-12-29  Pádraig Brady  <P@draigBrady.com>
5345
5346         canonicalize: add support for not resolving symlinks
5347         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
5348         indicate we don't want to follow symlinks.  Also
5349         provide CAN_MODE_MASK to aid setting these existing
5350         mutually exclusive values.
5351         * lib/canonicalize.c (canonicalize_filename_mode):
5352         Extract the flags from can_mode parameter, which
5353         are currently just used to select between stat()
5354         and lstat().  Also ensure that mutually exclusive
5355         values are flagged immediately as invalid.
5356         * tests/test-canonicalize.c: Verify symlinks are
5357         not followed, and that invalid flag combinations
5358         are diagnosed.
5359
5360 2011-12-25  Jim Meyering  <meyering@redhat.com>
5361
5362         gitlog-to-changelog: do not clump multi-paragraph entries
5363         Identical header lines (date,name,email+coauthors) are suppressed,
5364         thus putting all entries with those same characteristics under
5365         a single header.  However, when a log entry consists of two or
5366         more paragraphs, it may not be clear where it starts and ends.
5367         This change makes it so that such an entry is always separated
5368         from others by a header line, even when that header would
5369         otherwise be suppressed.
5370         * build-aux/gitlog-to-changelog: Implement the above.
5371         Inspired by a related request from Stefano Lattarini in
5372         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
5373
5374 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5375
5376         announce-gen: fix `cmd' typo in diagnostic
5377         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
5378         diagnostic: a missing '$' meant that the command was not output.
5379
5380 2011-12-23  Jim Meyering  <meyering@redhat.com>
5381
5382         test-framework-sh: distribute init.sh
5383         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
5384         Otherwise, "make -C gnulib-tests check" (at least in grep) would
5385         fail due to the lack of init.sh.
5386
5387         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
5388         * modules/atexit-tests: Rather than listing tests/init.sh,
5389         now that there's a module for it, simply depend on that new module.
5390         * modules/closein-tests: Likewise.
5391         * modules/exclude-tests: Likewise.
5392         * modules/getcwd-tests: Likewise.
5393         * modules/perror-tests: Likewise.
5394         * modules/pread-tests: Likewise.
5395         * modules/pwrite-tests: Likewise.
5396         * modules/vc-list-files-tests: Likewise.
5397         * modules/verify-tests: Likewise.
5398         * modules/xalloc-die-tests: Likewise.
5399         * modules/xstrtoimax-tests: Likewise.
5400         * modules/xstrtol-tests: Likewise.
5401         * modules/xstrtoll-tests: Likewise.
5402         * modules/xstrtoumax-tests: Likewise.
5403         * modules/yesno-tests: Likewise.
5404
5405 2011-12-22  Jim Meyering  <meyering@redhat.com>
5406
5407         test-framework-sh: add minimal tests of init.sh's compare function
5408         * modules/test-framework-sh-tests: New file.
5409         * tests/test-init.sh: New file.
5410
5411         test-framework-sh: new module
5412         * modules/test-framework-sh: New file.
5413         * MODULES.html.sh (Support for maintaining and releasing projects):
5414         List it.
5415
5416         init.sh: do not emit simulated diff output to stderr
5417         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
5418
5419 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5420
5421         .gitignore: ignore gnulib.dvi and regex.info
5422         * doc/.gitignore:add gnulib.dvi and regex.info
5423
5424 2011-12-22  Jim Meyering  <meyering@redhat.com>
5425
5426         init.sh: correct previous change
5427         * tests/init.sh (compare): My previous change was wrong.
5428         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
5429
5430         init.sh: avoid unwarranted test failure when using "set -e"
5431         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
5432         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
5433         a use like "compare exp out" would get evoke an unconditional failure.
5434
5435 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
5436
5437         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
5438         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
5439         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
5440         autoreconf that did not.
5441         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
5442         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
5443
5444 2011-12-17  Jim Meyering  <meyering@redhat.com>
5445
5446         bootstrap: remove some now-unneeded code
5447         This script arose back when gnulib-tool was young.
5448         Since then, it has seen improvements that render much of this
5449         script unnecessary.  In particular, it can now make symlinks
5450         to the files it uses.  Also, I no longer see as much value in
5451         marking files as read-only via comments.
5452         If you relied on the symlink-creation feature of the preceding
5453         version of this script, you can get most of that functionality
5454         by adding the --symlink option to the definition of
5455         gnulib_tool_option_extras in your bootstrap.conf file.
5456         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
5457         Run autopoint and libtoolize *before* gnulib-tool.
5458         After it, run an abbreviated autoreconf, rather than a loop around
5459         all tools.
5460         (slirp, bt_mark_as_generated): Remove functions.
5461
5462 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5463
5464         ftoastr: fix typo
5465         * lib/ftoastr.h: Fix misspelling in comment.
5466
5467 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
5468
5469         * top/README-release: fix punctuation.
5470
5471 2011-12-17  Jim Meyering  <meyering@redhat.com>
5472
5473         bootstrap: correct the recent buildreq change
5474         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
5475         had no effect.
5476         * build-aux/bootstrap (buildreq): Bracket each search term with
5477         "*...*", so that the shell "case" statement works as intended.
5478         Add comments.
5479
5480 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
5481
5482         build: let bootstrap resort to wget when downloading .po files
5483         * build-aux/bootstrap (download_po_files): Fallback to wget when
5484         downloading the .po files via rsync fails.  This is necessary to
5485         bootstrap from behind a strict firewall.
5486
5487 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
5488
5489         stdint: don't assume C++11 when compiling with g++
5490         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
5491         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
5492         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
5493         work also in C++ before C++11, as that improperly inhibits
5494         generating a substitute stdint.h for that case.
5495
5496 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
5497
5498         alloca: protect comment from gnulib-tool
5499         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
5500         that gnulib-tool doesn't think it's a license, and munge it to
5501         say "GCC version 3".
5502
5503 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
5504
5505         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
5506         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
5507         $(abs_top_builddir) instead of $(top_builddir).
5508
5509 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
5510
5511         strftime-tests: also test nanoseconds
5512         * tests/test-strftime.c (T): Add a test of %N.
5513
5514 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
5515
5516         inttypes, stdint: add C++11 support
5517         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
5518         when including inttypes.h and stdint.h.  Support this change to
5519         the standard.
5520         * doc/posix-headers/inttypes.texi (inttypes.h):
5521         * doc/posix-headers/stdint.texi (stdint.h): Document this.
5522         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
5523         Define if not defined already, for the benefit of pre-C++11 hosts.
5524         Define the standard format macros (e.g., PRId8) always.
5525         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
5526         Likewise, if __cpluspus.  Define the standard constant and limit
5527         macros (e.g., INT8_C, INT8_MAX) always.
5528         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
5529         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
5530         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
5531         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
5532         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
5533         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
5534         Likewise.
5535
5536 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
5537
5538         nonblocking tests: Fix test failure on Linux/PPC.
5539         Suggested by Prerna Saxena in
5540         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
5541         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
5542         Set to 1100000.
5543
5544 2011-12-12  Jim Meyering  <meyering@redhat.com>
5545
5546         argmatch: don't hard-code `' when listing valid option arguments
5547         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
5548         use the quote function to add quotes.  Use fputs rather than
5549         fprintf for the format string with no format directive.
5550
5551 2011-12-07  Eric Blake  <eblake@redhat.com>
5552
5553         bootstrap: detect tools required by gnulib-tool
5554         * build-aux/bootstrap (buildreq): Provide minimum implicit
5555         dependencies.
5556         * DEPENDENCIES: Mention patch as a prereq.
5557
5558 2011-12-04  Bruno Haible  <bruno@clisp.org>
5559
5560         sethostname: Port to Windows platforms.
5561         * lib/sethostname.c: Provide an alternate implementation for Windows
5562         platforms.
5563         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
5564         (main): Skip the test if sethostname() fails with EPERM. On Windows
5565         platforms, don't check the result of gethostname().
5566
5567 2011-12-04  Bruno Haible  <bruno@clisp.org>
5568             Jim Meyering  <meyering@redhat.com>
5569
5570         tests: Avoid spurious error message on platforms without mktemp program.
5571         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
5572
5573 2011-12-04  Bruno Haible  <bruno@clisp.org>
5574
5575         sethostname: Fix documentation.
5576         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
5577         "not fixed" section.
5578
5579 2011-12-03  Bruno Haible  <bruno@clisp.org>
5580
5581         gnulib-tool: Verify that the License field is present and non-empty.
5582         * gnulib-tool (func_get_license_raw): New function, extracted from
5583         func_get_license.
5584         (func_get_license): Use it. Warn if the module is not a test module and
5585         has no license.
5586         Suggested by Jim Meyering.
5587
5588 2011-12-03  Bruno Haible  <bruno@clisp.org>
5589
5590         sethostname tests: Fix link error on mingw.
5591         * tests/test-sethostname1.c: New file, extracted from
5592         tests/test-sethostname.c.
5593         * tests/test-sethostname2.c: New file, extracted from
5594         tests/test-sethostname.c.
5595         * tests/test-sethostname.c: Remove file.
5596         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
5597         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
5598         (Depends-on): Add gethostname.
5599         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
5600         Link the latter with $(GETHOSTNAME_LIB).
5601
5602         sethostname tests: Fix compilation error on mingw.
5603         * tests/test-sethostname.c: Don't include <sys/types.h>.
5604         (geteuid): Use a dummy value without uid_t.
5605         * modules/sethostname-tests (Depends-on): Remove sys_types.
5606
5607         sethostname tests: Avoid a gcc warning.
5608         * tests/test-sethostname.c (main): Remove an unused variable.
5609
5610         Tweak last commit.
5611         * modules/sethostname-tests (Files): Sort by decreasing importance.
5612         (configure.ac): Check for geteuid.
5613         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
5614         the test when there's nothing to test. Drop an unnecessary cast.
5615         Improve an error message. Verify that the final sethostname() call
5616         succeeds.
5617
5618 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5619
5620         Add a test suite for the sethostname module.
5621         * modules/sethostname-tests: New file.  A test program
5622         for the sethostname module.
5623         * tests/test-sethostname.c: Likewise.
5624
5625 2011-12-03  Bruno Haible  <bruno@clisp.org>
5626
5627         Tweak last commit.
5628         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
5629         Fix preprocessor directives indentation. Fix typos.
5630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
5631         * modules/unistd (Makefile): Likewise.
5632
5633 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5634
5635         Integrate the sethostname module into unistd.
5636         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
5637         into the unistd.h header.
5638         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
5639         preprocessor directives.
5640         * modules/unistd: Setup the Makefile substitutions of the
5641         SETHOSTNAME preprocessor directives.
5642
5643 2011-12-03  Bruno Haible  <bruno@clisp.org>
5644
5645         Tweak last commit.
5646         * lib/sethostname.c: Don't include <string.h>.
5647         (sethostname): No need to copy the argument string to the stack. Don't
5648         call clearerr. Preserve errno when fprintf failed.
5649         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
5650         Don't invoke AC_REPLACE_FUNCS.
5651         * modules/sethostname (Link): Remove empty section.
5652         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
5653         failure problem.
5654
5655 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5656
5657         New module 'sethostname'.
5658         * lib/sethostname.c (sethostname): New file.  Provide sethostname
5659         for systems that lack it.
5660         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
5661         sethostname declaration and function.
5662         * modules/sethostname: New file.  Define the sethostname module.
5663
5664 2011-12-03  Bruno Haible  <bruno@clisp.org>
5665
5666         Tweak last commit.
5667         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
5668
5669 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5670
5671         Split the HOST_NAME_MAX detection into a separate m4 macro.
5672         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
5673         macro so it can be used by the pending sethostname module.
5674
5675 2011-12-03  Bruno Haible  <bruno@clisp.org>
5676
5677         Fix module descriptions syntax.
5678         * modules/argv-iter (License): Fix syntax.
5679         * modules/di-set (License): Likewise.
5680         * modules/ino-map (License): Likewise.
5681         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
5682
5683 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
5684
5685         stdalign: port to Clang 3.0
5686         Problem reported by Simon Josefsson in
5687         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
5688         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
5689         which has <stdalign.h> but which does not define alignof.
5690         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
5691
5692 2011-12-01  Eric Blake  <eblake@redhat.com>
5693
5694         mktempd: silence dd usage
5695         * build-aux/mktempd (rand_bytes): Silence dd.
5696
5697 2011-11-30  Simon Josefsson  <simon@josefsson.org>
5698
5699         manywarnings: Don't mention gcc version in docstring.
5700         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
5701         Jim Meyering <meyering@redhat.com>.
5702
5703 2011-11-30  Jim Meyering  <meyering@redhat.com>
5704
5705         hash: mark a few floating point constants with "f" suffix
5706         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
5707         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
5708         floating point constants with "f", since they're destined to be
5709         saved/used as "float"s.
5710
5711 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
5712
5713         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
5714         * tests/test-float.c (test_long_double): Correct and re-enable the
5715         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
5716
5717 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
5718
5719         Avoid subtracting two pointers that don't point into the same block.
5720         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
5721         only pointers into the same memory block are subtracted. We cannot
5722         assume that sizeof (ptrdiff_t) == sizeof (void *).
5723
5724 2011-11-29  Eric Blake  <eblake@redhat.com>
5725
5726         maint.mk: add syntax check for use of compare from init.sh
5727         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
5728         moved here from coreutils.
5729
5730         manywarnings: drop -Wunsuffixed-float-constants
5731         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
5732         '1.0D', which is the only way to silence this warning for 'double'.
5733
5734 2011-11-29  Jim Meyering  <meyering@redhat.com>
5735
5736         hash: mark compute_bucket_size with the pure attribute
5737         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
5738
5739         quotearg, propername: correct pragma guard expression
5740         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
5741         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
5742
5743 2011-11-28  Jim Meyering  <meyering@redhat.com>
5744
5745         propername: do not mark proper_name with the const attribute
5746         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
5747         since it examines data pointed to by its parameter.
5748         * lib/propername.c (proper_name): Instead, add a pragma to suppress
5749         the suggestion from -Wsuggest-attribute=const.
5750
5751         propername: mark one more function as const
5752         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
5753
5754 2011-11-27  Jim Meyering  <meyering@redhat.com>
5755
5756         mark functions with const and pure attributes
5757
5758         Mark functions per suggestions from gcc-4.6 when using these options:
5759         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
5760         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
5761         Follow these guidelines: when possible, apply the attribute to
5762         an extern declaration, not to its definition.  Apply it to the
5763         definition only when the definition is static.
5764         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
5765         * lib/argv-iter.h (argv_iter_n_args): Likewise.
5766         * lib/base64.h (isbase64): Likewise.
5767         * lib/basename-lgpl.c (last_component, base_len): Likewise.
5768         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
5769         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
5770         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
5771         (c_tolower, c_toupper): Likewise.
5772         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
5773         * lib/chdir-long.c (find_non_slash): Likewise.
5774         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
5775         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
5776         * lib/file-type.h (file_type): Likewise.
5777         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
5778         * lib/filevercmp.c (verrevcmp): Likewise.
5779         * lib/freadahead.h (freadahead): Likewise.
5780         * lib/fts.c (fts_maxarglen): Likewise.
5781         * lib/hash-pjw.h (hash_pjw): Likewise.
5782         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
5783         * lib/hash.c (is_prime, next_prime): Likewise.
5784         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
5785         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
5786         (hash_table_ok, hash_get_first, hash_string): Likewise.
5787         (compute_bucket_size): Likewise.
5788         * lib/i-ring.h (i_ring_empty): Likewise.
5789         * lib/isnan.c (isnanl): Likewise.
5790         * lib/math.h (isnanl, rpl_isnanl): Likewise.
5791         * lib/memcasecmp.h (memcasecmp): Likewise.
5792         * lib/memchr2.h (memchr2): Likewise.
5793         * lib/memcmp2.h (memcmp2): Likewise.
5794         * lib/parse-datetime.y (lookup_zone): Likewise.
5795         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
5796         [!WINDOWS_SOCKETS]: Likewise.
5797         * lib/strnlen1.h (strnlen1): Likewise.
5798         * lib/uniwidth.in.h (uc_width): Likewise.
5799         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
5800         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
5801         (quoting_options_from_style): Add a comment.
5802         * lib/propername.h (proper_name): Add a comment.
5803
5804 2011-11-27  Bruno Haible  <bruno@clisp.org>
5805
5806         Remove unused macros from !_LIBC code in glibc-borrowed files.
5807         * lib/fnmatch.c (STRCOLL): Remove macro.
5808         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
5809         * lib/glob.c (__stat, __readdir64): Remove macros.
5810         * lib/tempname.c (__open64, __xstat64): Remove macros.
5811         Suggested by Paul Eggert.
5812
5813 2011-11-27  Bruno Haible  <bruno@clisp.org>
5814
5815         getcwd: Fix link error on MSVC 9.
5816         * modules/getcwd (Depends-on): Add readdir, rewinddir.
5817
5818 2011-11-27  Bruno Haible  <bruno@clisp.org>
5819
5820         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
5821         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
5822         HAVE_OPENDIR is 0.
5823         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
5824         HAVE_CLOSEDIR is 0.
5825         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
5826         is 0.
5827         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
5828
5829 2011-11-27  Bruno Haible  <bruno@clisp.org>
5830
5831         getcwd: Fix bug from 2011-08-17.
5832         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
5833         platforms that need it.
5834         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
5835         code of 4 to be a failure, not a success. This ensures that
5836         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
5837
5838 2011-11-27  Bruno Haible  <bruno@clisp.org>
5839
5840         binary-io tests: Avoid test failure on mingw when libtool is used.
5841         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
5842         Don't verify the size of t-bin-out1.tmp here.
5843         * tests/test-binary-io.sh: Verify it here.
5844         Reported by Simon Josefsson.
5845
5846 2011-11-26  Bruno Haible  <bruno@clisp.org>
5847
5848         Fix conflict between two instantiations of module 'unistd'.
5849         * gnulib-tool (func_emit_autoconf_snippet): Substitute
5850         ${include_guard_prefix} also in the autoconf snippet.
5851         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
5852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
5853         GNULIB_UNISTD_H_GETOPT.
5854         * modules/getopt-posix (configure.ac): Set the
5855         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
5856         * modules/getopt-gnu (configure.ac): Likewise.
5857         * modules/unistd (Makefile.am): Change the substitution value of
5858         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
5859         Reported by Simon Josefsson.
5860
5861 2011-11-25  Bruno Haible  <bruno@clisp.org>
5862
5863         pagealign_alloc: Doc and comments.
5864         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
5865         module.
5866         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
5867
5868 2011-11-25  Jim Meyering  <meyering@redhat.com>
5869
5870         test-update-copyright.sh: avoid false-positive failure
5871         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
5872         around false positive failure on Cygwin/Windows.  The latter was
5873         matching erroneously-created files with names like
5874         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
5875
5876 2011-11-25  Simon Josefsson  <simon@josefsson.org>
5877
5878         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
5879         * m4/valgrind-tests.m4: Check that the parameters that will be
5880         used works, not just a subset of them.  Reported by Bruno Haible
5881         <bruno@clisp.org>.
5882
5883 2011-11-24  Jim Meyering  <meyering@redhat.com>
5884
5885         test-stdalign.c: comment out long double tests
5886         * tests/test-stdalign.c: Don't try to reduce alignment of long double
5887         variables.  That provokes errors like this from gcc-4.7.0 20111124:
5888         error: '_Alignas' specifiers cannot reduce alignment of \
5889         'static_longdouble_alignas'.
5890
5891 2011-11-22  Jim Meyering  <meyering@redhat.com>
5892
5893         init.sh: make "compare /dev/null FILE" output more readable
5894         * tests/init.sh (compare_): Document the preferred order of arguments.
5895         (emit_diff_u_header_): New function.
5896         (compare_dev_null_): Emit a simulated diff, rather than just the
5897         contents of the unexpected file.  Suggestion from Bruno Haible.
5898
5899 2011-11-21  Jim Meyering  <meyering@redhat.com>
5900             Eric Blake  <eblake@redhat.com>
5901
5902         init.sh: work around OSF/1 5.1's mishandling of /dev/null
5903         * tests/init.sh: Make our compare function slightly more portable.
5904         Reported by Bruno Haible in
5905         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
5906
5907 2011-11-21  Simon Josefsson  <simon@josefsson.org>
5908
5909         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
5910         before using it, in code that ends up in config.h.
5911
5912 2011-11-20  Bruno Haible  <bruno@clisp.org>
5913
5914         getcwd: Work around getcwd bug on AIX 5..7.
5915         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
5916         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
5917         Use a different value for gl_cv_func_getcwd_path_max. Move the
5918         definition of HAVE_PARTLY_WORKING_GETCWD from here...
5919         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
5920         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
5921         Define HAVE_MINIMALLY_WORKING_GETCWD.
5922         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
5923         where it is not even minimally working, that is, on AIX.
5924         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
5925         m4/getcwd-path-max.m4.
5926         (main): Update exit code computation.
5927         * doc/posix-functions/getcwd.texi: Mention list of platforms where
5928         getcwd does not handle long file names.
5929
5930 2011-11-20  Bruno Haible  <bruno@clisp.org>
5931
5932         getcwd: Fix bug from 2009-09-10.
5933         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
5934         like "no".
5935
5936 2011-11-20  Simon Josefsson  <simon@josefsson.org>
5937
5938         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
5939
5940 2011-11-20  Bruno Haible  <bruno@clisp.org>
5941
5942         fma tests: Avoid shadowing local variables.
5943         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
5944         expected.
5945
5946 2011-11-20  Bruno Haible  <bruno@clisp.org>
5947
5948         copysignf tests: Fix.
5949         * tests/test-copysignf.c: Fix signature check.
5950
5951 2011-11-20  Bruno Haible  <bruno@clisp.org>
5952
5953         fma: Remove unused code.
5954         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
5955         unused macros.
5956
5957 2011-11-20  Bruno Haible  <bruno@clisp.org>
5958
5959         sethostname: Fix doc about AIX.
5960         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
5961         sethostname; it has it.
5962
5963         sethostname: Mention more portability problems.
5964         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
5965         problem.
5966         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
5967
5968 2011-11-19  Bruno Haible  <bruno@clisp.org>
5969
5970         Depend on module fcntl-h when AT_FDCWD is used.
5971         * modules/utimens (Depends-on): Add fcntl-h.
5972         * modules/areadlinkat (Depends-on): Likewise.
5973         * modules/areadlinkat-with-size (Depends-on): Likewise.
5974         * modules/faccessat (Depends-on): Likewise.
5975         * modules/fchmodat (Depends-on): Likewise.
5976         * modules/fchownat (Depends-on): Likewise.
5977         * modules/getcwd (Depends-on): Likewise.
5978         * modules/mkdirat (Depends-on): Likewise.
5979         * modules/mkfifoat (Depends-on): Likewise.
5980         * modules/readlinkat (Depends-on): Likewise.
5981         * modules/symlinkat (Depends-on): Likewise.
5982         * modules/dup2-tests (Depends-on): Likewise.
5983         * modules/fdutimensat-tests (Depends-on): Likewise.
5984         * modules/futimens-tests (Depends-on): Likewise.
5985
5986 2011-11-19  Bruno Haible  <bruno@clisp.org>
5987
5988         euidaccess: Update a comment.
5989         * lib/euidaccess.c: Update comment about platforms with faccessat.
5990
5991 2011-11-19  Bruno Haible  <bruno@clisp.org>
5992
5993         openat: Fix file list.
5994         * modules/openat (Files): Remove lib/at-func.c.
5995
5996 2011-11-19  Bruno Haible  <bruno@clisp.org>
5997
5998         fstatat: Simplify.
5999         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
6000         gnulib should define rpl_fstatat, there is a
6001         "#define fstatat rpl_fstatat" in <sys/stat.h>.
6002
6003 2011-11-19  Bruno Haible  <bruno@clisp.org>
6004
6005         Ensure 'inline' can be used in tests/test-utimens-common.h.
6006         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
6007         * modules/futimens-tests (configure.ac): Likewise.
6008         * modules/utimens-tests (configure.ac): Likewise.
6009         * modules/utimensat-tests (configure.ac): Likewise.
6010
6011 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6012
6013         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
6014         not hash_insert0.
6015         (hash_insert_if_absent): Doc fix.
6016
6017 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6018
6019         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
6020
6021 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6022
6023         test-getcwd: disambiguate exit status
6024         * tests/test-getcwd.c (test_long_name): Return 0..7.
6025         (main): Exit with an unambiguous exit status.  The old
6026         code yielded a mysterious mixture of two failure codes.
6027
6028         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
6029         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
6030         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
6031         rpl_fstatat or fstatat.  This should fix the other problem
6032         reported by Kai Habel in
6033         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6034         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
6035         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
6036         and I reproduced it on a Solaris 8 host we still have in production.
6037
6038 2011-11-18  Jim Meyering  <meyering@redhat.com>
6039
6040         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
6041         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
6042         Add a sentence to the comment.
6043         (hash_insert0): New function that simply calls hash_insert_if_absent.
6044         * lib/hash.h (hash_insert_if_absent): Declare it.
6045         (hash_insert0): Add deprecation attribute.
6046         (_GL_ATTRIBUTE_DEPRECATED): Define.
6047         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
6048         not hash_insert0.
6049         * NEWS: Mention it, even though it's not really an incompatible change.
6050
6051 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
6052
6053         openat: avoid compilation failure due to lack of <errno.h> inclusion
6054         * lib/openat.c: Include <errno.h>.
6055
6056 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6057
6058         * modules/getcwd (Depends-on): Add fdopendir.
6059         This fixes one of the two problems reported by Kai Habel in
6060         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6061
6062         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
6063         stdalign problem reported by Ian Beckwith in
6064         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
6065         * modules/crypto/gc-arcfour (Depends-on):
6066         Depend conditionally on crypto/arcfour.
6067         * modules/crypto/gc-arctwo (Depends-on):
6068         Depend conditionally on crypto/arctwo.
6069         * modules/crypto/gc-des (Depends-on):
6070         Depend conditionally on crypto/des.
6071         * modules/crypto/gc-hmac-md5 (Depends-on):
6072         Depend conditionally on crypto/hmac-md5.
6073         * modules/crypto/gc-hmac-sha1 (Depends-on):
6074         Depend conditionally on crypto/hmac-sha1.
6075         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
6076         * modules/crypto/gc-md4 (Depends-on):
6077         Depend conditionally on crypto/md4.
6078         * modules/crypto/gc-md5 (Depends-on):
6079         Depend conditionally on crypto/md5.
6080         * modules/crypto/gc-rijndael (Depends-on):
6081         Depend conditionally on crypto/rijndael.
6082         * modules/crypto/gc-sha1 (Depends-on):
6083         Depend conditionally on crypto/sha1.
6084         * modules/crypto/gc-arcfour:
6085         * modules/crypto/gc-arctwo:
6086         * modules/crypto/gc-des:
6087         * modules/crypto/gc-hmac-md5:
6088         * modules/crypto/gc-hmac-sha1:
6089         * modules/crypto/gc-md2:
6090         * modules/crypto/gc-md4:
6091         * modules/crypto/gc-md5:
6092         * modules/crypto/gc-rijndael:
6093         * modules/crypto/gc-sha1:
6094         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
6095         now that the conditional dependencies do the work for us.
6096
6097 2011-11-17  Jim Meyering  <meyering@redhat.com>
6098
6099         tests: factor st_ctime-comparison out of two headers
6100         * tests/test-utimens-common.h (ctime_compare): Define.
6101         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
6102         * tests/test-lutimens.h (test_lutimens): Likewise.
6103         * tests/test-utimens.h (test_utimens): Likewise.
6104
6105         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
6106         Invoke the test program via an init.sh-using wrapper.
6107         * tests/test-getcwd.sh: New file.
6108         * modules/getcwd-tests (Files): Add it.
6109         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
6110
6111 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
6112
6113         gitlog-to-changelog: support multi-author commits.
6114         The FSF cares about keeping track of all authors of patches to its
6115         projects, but Git doesn't provide obvious support for multi-author
6116         changesets. Consensus seems to be forming around the use of extra
6117         Signed-off-by inspired lines in the log message formatted as
6118         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
6119         multi-author commits between version control systems.
6120         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
6121         log message and output in standard ChangeLog multi-author format.
6122         Reported by Peter Rosin <peda@lysator.liu.se>
6123
6124 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
6125             Bruno Haible  <bruno@clisp.org>
6126
6127         Fix some modules' file list.
6128         * modules/fstatat (Files): Add m4/lstat.m4.
6129         * modules/openat (Files): Likewise.
6130         * modules/unlinkat (Files): Likewise.
6131
6132 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
6133
6134         maint.mk: fix tight-scope.mk generation in VPATH builds.
6135         * top/maint.mk (tight-scope.mk): Make sure to prefix file
6136         reference with $(srcdir) so that the file is found correctly even
6137         when running `make syntax-check' in a VPATH build.
6138
6139 2011-11-13  Bruno Haible  <bruno@clisp.org>
6140             Jim Meyering  <meyering@redhat.com>
6141
6142         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
6143         * tests/init.sh (compare): Remove "No differences encountered" or
6144         synonymous output from the 'diff' program.
6145
6146 2011-11-13  Bruno Haible  <bruno@clisp.org>
6147
6148         Makefile: Tweak indentation.
6149         * Makefile: Use tab as first character in every line that contains rule
6150         commands.
6151
6152 2011-11-13  Bruno Haible  <bruno@clisp.org>
6153
6154         Syntax check for copyright statements.
6155         * check-copyright: New file.
6156         * Makefile (sc_check_copyright): New rule.
6157
6158 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6159
6160         * build-aux/git-version-gen: Add --prefix to configure the tag
6161         match string.
6162
6163 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6164
6165         * build-aux/git-version-gen: Add --help and --version.
6166
6167 2011-11-12  Jim Meyering  <meyering@redhat.com>
6168
6169         revamp the other test-exclude?.sh scripts to use init.sh, too
6170         * tests/test-exclude1.sh: Use init.sh.
6171         * tests/test-exclude2.sh: Likewise.
6172         * tests/test-exclude3.sh: Likewise.
6173         * tests/test-exclude4.sh: Likewise.
6174         * tests/test-exclude5.sh: Likewise.
6175         * tests/test-exclude6.sh: Likewise.
6176         * tests/test-exclude7.sh: Likewise.
6177         * tests/test-exclude8.sh: Likewise.
6178         * modules/exclude-tests (Files): List init.sh.
6179
6180         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
6181         These shell scripts ignored failure of the binary test-exclude,
6182         so making the latter return 77 didn't cause them to be skipped.
6183         * tests/test-exclude5.sh: Exit with test-exclude's error status
6184         when that program fails.  Revamp to use init.sh.
6185         * tests/test-exclude2.sh: Likewise.
6186
6187         test-exclude: fix a typo
6188         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
6189
6190 2011-11-11  Bruno Haible  <bruno@clisp.org>
6191
6192         obstack: Fix compilation error on MSVC 9.
6193         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
6194
6195 2011-11-11  Jim Meyering  <meyering@redhat.com>
6196
6197         test-exclude: skip tests rather than failing on deficient systems
6198         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
6199         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
6200         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
6201         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
6202
6203 2011-11-10  Bruno Haible  <bruno@clisp.org>
6204
6205         ptsname_r test: Avoid gcc warning on glibc systems.
6206         * tests/test-ptsname_r.c (null_ptr): New function.
6207         (test_errors): Use it.
6208
6209 2011-11-10  Bruno Haible  <bruno@clisp.org>
6210
6211         ptsname_r: Avoid compilation error on OSF/1 5.1.
6212         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
6213         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
6214         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
6215         function is not declared or incompatibly declared.
6216         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
6217         * modules/ptsname_r (Depends-on, configure.ac): Update.
6218         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
6219
6220 2011-11-10  Bruno Haible  <bruno@clisp.org>
6221
6222         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
6223         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
6224         When cross-compiling, guess yes on all platforms except AIX.
6225         Reported by Ludovic Courtès <ludo@gnu.org>.
6226
6227 2011-11-09  Bruno Haible  <bruno@clisp.org>
6228
6229         ptsname_r tests: Fix bugs.
6230         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
6231         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
6232
6233 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6234
6235         fstatat: work with cross-compilation
6236         Problem reported by Ludovic Courtès in
6237         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
6238         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
6239         "cross-compiling" and assume the bug is present.  Replace
6240         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
6241         an inverted sense, to be more conservative about our assumptions.
6242         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
6243
6244 2011-11-09  Bruno Haible  <bruno@clisp.org>
6245
6246         Improve MODULES.html output.
6247         * modules/mkfifoat (Description): Use the word "function".
6248         * modules/readlinkat (Description): Likewise.
6249         * modules/symlinkat (Description): Likewise.
6250
6251 2011-11-09  Eric Blake  <eblake@redhat.com>
6252
6253         ptsname_r-tests: new test module
6254         * modules/ptsname_r-tests: New module.
6255         * tests/test-ptsname_r.c: New file.
6256
6257         ptsname_r: new module
6258         * modules/ptsname_r: New module.
6259         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
6260         * lib/ptsname.c (__ptsname_r): Split...
6261         * lib/ptsname_r.c: ...into new file.
6262         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
6263         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
6264         * modules/stdlib (Makefile.am): Substitute witnesses.
6265         * lib/stdlib.in.h (ptsname_r): Declare it.
6266         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
6267         * MODULES.html.sh (Misc): Likewise.
6268         * modules/ptsname (Depends-on): Alter dependency.
6269         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
6270
6271 2011-11-09  Jim Meyering  <meyering@redhat.com>
6272
6273         announce-gen: be more concise when there's only one URL+tarball
6274         * build-aux/announce-gen (get_tool_versions): When you distribute
6275         only one type of tarball, combine the first two "Here are..."
6276         sections and make the key-checking grammar independent of
6277         how many tarballs there are.
6278
6279 2011-11-09  Eric Blake  <eblake@redhat.com>
6280
6281         openpty: provide a stub on mingw
6282         * lib/pty.in.h (includes): Provide forward declarations.
6283         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
6284
6285         raise: fix mingw handling of SIGPIPE
6286         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
6287
6288 2011-11-08  Bruno Haible  <bruno@clisp.org>
6289
6290         More conditional dependencies.
6291         * modules/faccessat (Depends-on): Add conditions.
6292         * modules/fchmodat (Depends-on): Likewise.
6293         * modules/fchownat (Depends-on): Likewise.
6294         * modules/fstatat (Depends-on): Likewise.
6295         * modules/mkfifoat (Depends-on): Likewise.
6296         * modules/readlinkat (Depends-on): Likewise.
6297         * modules/symlinkat (Depends-on): Likewise.
6298         * modules/unlinkat (Depends-on): Likewise.
6299         * modules/utimensat (Depends-on): Likewise.
6300         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
6301         * modules/linkat (Depends-on): Refine the conditions.
6302         * modules/renameat (Depends-on): Likewise.
6303
6304 2011-11-08  Bruno Haible  <bruno@clisp.org>
6305
6306         faccessat: Move AC_LIBOBJ invocation to module description.
6307         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
6308         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
6309         invocation from here...
6310         * modules/faccessat (configure.ac): ... to here. Invoke
6311         gl_PREREQ_FACCESSAT.
6312
6313 2011-11-08  Bruno Haible  <bruno@clisp.org>
6314
6315         faccessat: Simplify autoconf macro.
6316         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
6317         gl_FUNC_EUIDACCESS.
6318
6319 2011-11-08  Bruno Haible  <bruno@clisp.org>
6320
6321         renameat: Fix dependencies.
6322         * modules/renameat (Depends-on): Add stdbool.
6323
6324 2011-11-08  Bruno Haible  <bruno@clisp.org>
6325
6326         mkfifoat: Fix module description.
6327         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
6328         not gl_UNISTD_MODULE_INDICATOR.
6329
6330 2011-11-08  Bruno Haible  <bruno@clisp.org>
6331
6332         fstatat: Remove unused dependency.
6333         * modules/fstatat (Depends-on): Remove fstat.
6334
6335 2011-11-08  Simon Josefsson  <simon@josefsson.org>
6336
6337         GNUmakefile: behave when Makefile is missing.
6338         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
6339
6340 2011-11-08  Bruno Haible  <bruno@clisp.org>
6341
6342         openat: Conditionalize dependencies.
6343         * lib/openat.c: Reduce the scope of some #includes.
6344         * modules/openat (Depends-on): Add conditions.
6345
6346 2011-11-07  Jim Meyering  <meyering@redhat.com>
6347
6348         maint.mk: extract GPG key ID without using a temporary file
6349         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
6350         without using a temporary file.  Based on a suggestion from Werner Koch
6351         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
6352
6353 2011-11-07  Eric Blake  <eblake@redhat.com>
6354
6355         grantpt: fix typo
6356         * lib/stdlib.in.h (grantpt): Check correct function.
6357
6358         maint.mk: silence new syntax check
6359         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
6360
6361 2011-11-06  Bruno Haible  <bruno@clisp.org>
6362
6363         Doc about floating-point and math API.
6364         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
6365         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
6366
6367 2011-11-06  Bruno Haible  <bruno@clisp.org>
6368
6369         stdalign tests: Skip the test when compiled by Sun C.
6370         * tests/test-stdalign.c (main): Skip the test on Sun C.
6371
6372 2011-11-06  Bruno Haible  <bruno@clisp.org>
6373
6374         ansi-c++-opt: Complete the 2011-06-05 change.
6375         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
6376         does not support namespaces, set the variable to "no", not to ":".
6377
6378 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
6379
6380         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
6381
6382 2011-11-06  Bruno Haible  <bruno@clisp.org>
6383
6384         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
6385         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
6386         (minus_zerol) [HP-UX]: New macro.
6387         (unary_minus) [HP-UX]: New function.
6388         (copysignl) [HP-UX]: Use unary_minus function.
6389
6390 2011-11-06  Bruno Haible  <bruno@clisp.org>
6391
6392         ldexp, ldexpf, ldexpl: Enhance tests.
6393         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
6394         and tests/test-ldexpl.c.
6395         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
6396         LDEXP, MIN_EXP, MAX_EXP): New macros.
6397         Include test-ldexp.h.
6398         (main): Just call test_function.
6399         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
6400         infinity.h, nan.h.
6401         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6402         MAX_EXP): New macros.
6403         Include test-ldexp.h.
6404         (x, y): Remove variables.
6405         (main): Just call test_function.
6406         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
6407         infinity.h, nan.h.
6408         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6409         MAX_EXP): New macros.
6410         Include test-ldexp.h.
6411         (x, y): Remove variables.
6412         (main): Just call test_function.
6413         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
6414         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
6415         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6416         (Depends-on): Add isnand-nolibm, signbit, float.
6417         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
6418         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6419         (Depends-on): Add isnanf-nolibm, signbit, float.
6420
6421 2011-11-06  Bruno Haible  <bruno@clisp.org>
6422
6423         math tests: Cosmetics.
6424         * tests/test-math-c++.cc: Reorder declarations.
6425
6426 2011-11-05  Bruno Haible  <bruno@clisp.org>
6427
6428         fma*: Simplify test.
6429         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
6430         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
6431
6432         Tests for module 'fmal'.
6433         * modules/fmal-tests: New file.
6434         * tests/test-fmal1.c: New file.
6435         * tests/test-fmal2.c: New file.
6436
6437         New module 'fmal'.
6438         * lib/math.in.h (fmal): New declaration.
6439         * lib/fmal.c: New file.
6440         * m4/fmal.m4: New file.
6441         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
6442         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
6443         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
6444         REPLACE_FMAL.
6445         * modules/fmal: New file.
6446         * doc/posix-functions/fmal.texi: Mention the new module and the various
6447         bugs.
6448
6449         Tests for module 'fmaf'.
6450         * modules/fmaf-tests: New file.
6451         * tests/test-fmaf1.c: New file.
6452         * tests/test-fmaf2.c: New file.
6453
6454         New module 'fmaf'.
6455         * lib/math.in.h (fmaf): New declaration.
6456         * lib/fmaf.c: New file.
6457         * m4/fmaf.m4: New file.
6458         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
6459         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
6460         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
6461         REPLACE_FMAF.
6462         * modules/fmaf: New file.
6463         * doc/posix-functions/fmaf.texi: Mention the new module and the various
6464         bugs.
6465
6466         Tests for module 'fma'.
6467         * modules/fma-tests: New file.
6468         * tests/test-fma1.c: New file.
6469         * tests/test-fma1.h: New file.
6470         * tests/test-fma2.c: New file.
6471         * tests/test-fma2.h: New file.
6472
6473         New module 'fma'.
6474         * lib/math.in.h (fma): New declaration.
6475         * lib/fma.c: New file.
6476         * m4/fma.m4: New file.
6477         * m4/fegetround.m4: New file.
6478         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
6479         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
6480         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
6481         REPLACE_FMA.
6482         * modules/fma: New file.
6483         * doc/posix-functions/fma.texi: Mention the new module and the various
6484         bugs.
6485
6486         Extend gl_MATHFUNC.
6487         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
6488         Support 'void' as argument type.
6489         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
6490
6491 2011-11-05  Jim Meyering  <meyering@redhat.com>
6492
6493         maint.mk: also prohibit inclusion of dirent.h without use
6494         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
6495
6496 2011-11-05  Bruno Haible  <bruno@clisp.org>
6497
6498         ldexpl tests: Avoid test failure on MSVC 9.
6499         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
6500         value. Needed in order to enforce the conversion from a value greater
6501         than LDBL_MAX to Infinity.
6502
6503 2011-11-05  Bruno Haible  <bruno@clisp.org>
6504
6505         New modules 'at-internal', 'openat-h', split off from module 'openat'.
6506         * modules/at-internal: New file, extracted from modules/openat.
6507         * modules/openat-h: New file.
6508         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
6509         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
6510         * modules/openat (Description): Add reference to POSIX function.
6511         (Files): Remove lib/openat.h, lib/openat-proc.c.
6512         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
6513         intprops, unistd.
6514         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
6515         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
6516         gl_FCNTL_MODULE_INDICATOR.
6517         (Include): Remove unistd.h, openat.h.
6518         * modules/areadlinkat (Files): Add lib/at-func.c.
6519         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6520         openat-die, openat-h, save-cwd.
6521         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
6522         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6523         openat-die, openat-h, save-cwd, unistd.
6524         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
6525         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6526         openat-h, save-cwd. Remove fcntl-h, openat.
6527         * modules/fchmodat (Files): Remove lib/openat.h.
6528         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6529         openat, stdbool, unistd.
6530         * modules/fchownat (Files): Remove lib/openat.h.
6531         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6532         openat, stdbool, sys_stat.
6533         * modules/fdopendir (Files): Remove lib/openat-priv.h,
6534         lib/openat-proc.c.
6535         (Depends-on): Add at-internal.
6536         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
6537         * modules/fstatat (Files): Remove lib/openat.h.
6538         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
6539         stdbool, unistd.
6540         * modules/fts (Depends-on): Add openat-h.
6541         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
6542         openat.
6543         * modules/mkdirat (Files): Remove lib/openat.h.
6544         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6545         openat, stdbool, sys_stat.
6546         * modules/mkfifoat (Files): Add lib/at-func.c.
6547         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6548         openat-h, save-cwd. Remove fcntl-h, openat.
6549         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
6550         * modules/readlinkat (Files): Add lib/at-func.c.
6551         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6552         openat-h, save-cwd. Remove fcntl-h, openat.
6553         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
6554         openat.
6555         * modules/selinux-at (Files): Add lib/at-func.c.
6556         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6557         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
6558         * modules/symlinkat (Files): Add lib/at-func.c.
6559         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6560         openat-h, save-cwd. Remove fcntl-h, openat.
6561         * modules/unlinkat (Files): Remove lib/openat.h.
6562         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
6563         stdbool.
6564         * modules/utimensat (Files): Add lib/at-func.c.
6565         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
6566         openat-die, openat-h, save-cwd.
6567         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
6568         * modules/fdutimensat-tests (Depends-on): Add openat.
6569         * modules/fstatat-tests (Depends-on): Add openat-h.
6570         * modules/readlinkat-tests (Depends-on): Add openat.
6571         * modules/symlinkat-tests (Depends-on): Add openat.
6572
6573 2011-11-05  Bruno Haible  <bruno@clisp.org>
6574
6575         openat: Include <stdbool.h>.
6576         * lib/openat.c: Include <stdbool.h>.
6577
6578 2011-11-04  Bruno Haible  <bruno@clisp.org>
6579
6580         fchownat, renameat, unlinkat: Fix dependencies.
6581         * modules/fchownat (Depends-on): Add fstatat.
6582         * modules/renameat (Depends-on): Likewise.
6583         * modules/unlinkat (Depends-on): Likewise.
6584
6585 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
6586
6587         openat: remove direct dependency on dirent
6588         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
6589         and hasn't been needed ever since fdopendir was split into its own
6590         module on 2009-08-31.
6591         * modules/openat (Depends-on): Remove dirent.
6592
6593 2011-11-04  Bruno Haible  <bruno@clisp.org>
6594
6595         renameat: Optimize code size.
6596         * modules/renameat (configure.ac): Don't compile at-func2.c if
6597         REPLACE_RENAMEAT is 1.
6598
6599 2011-11-04  Bruno Haible  <bruno@clisp.org>
6600
6601         openat tests: Fix file list.
6602         * modules/openat-tests (Files): Add tests/test-open.h.
6603
6604 2011-11-04  Bruno Haible  <bruno@clisp.org>
6605
6606         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
6607         * modules/fchmodat (Depends-on): Add openat-die.
6608         * modules/fchownat (Depends-on): Likewise.
6609         * modules/linkat (Depends-on): Likewise.
6610         * modules/renameat (Depends-on): Likewise.
6611         * modules/openat (Depends-on): Add dirent.
6612
6613 2011-11-04  Jim Meyering  <meyering@redhat.com>
6614
6615         at-func*.c: fix comments
6616         * lib/at-func2.c: Correct/improve first-line comment.
6617         * lib/at-func.c: Correct grammar in first-line comment.
6618
6619 2011-11-04  Bruno Haible  <bruno@clisp.org>
6620
6621         New module 'mkdirat', split off from module 'openat'.
6622         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
6623         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
6624         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
6625         * modules/mkdirat: New file, extracted from modules/openat.
6626         * modules/openat (Files): Remove lib/mkdirat.c.
6627         (Depends-on): Remove mkdir.
6628         (configure.ac): Remove AC_LIBOBJ of mkdirat.
6629         (Include): Remove <sys/stat.h>.
6630         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
6631         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
6632         tests/test-mkdir.h.
6633         (Depends-on): Remove ignore-value.
6634         (Makefile.am): Remove rules for test-mkdirat.
6635         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
6636         of module 'openat'.
6637         * NEWS: Mention the change.
6638
6639 2011-11-04  Bruno Haible  <bruno@clisp.org>
6640
6641         closedir: Avoid warning on mingw.
6642         * lib/closedir.c: Include <unistd.h>.
6643
6644 2011-11-04  Bruno Haible  <bruno@clisp.org>
6645
6646         New module 'fstatat', split off from module 'openat'.
6647         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
6648         defined.
6649         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
6650         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
6651         gl_FUNC_FSTATAT.
6652         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
6653         * modules/fstatat: New file, extracted from modules/openat.
6654         * modules/openat (Files): Remove lib/fstatat.c.
6655         (Depends-on): Remove lstat.
6656         (configure.ac): Remove AC_LIBOBJ of fstatat.
6657         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
6658         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
6659         tests/test-lstat.h, tests/test-stat.h.
6660         (Depends-on): Remove getcwd-lgpl.
6661         (Makefile.am): Remove rules for test-fstatat.
6662         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
6663         of module 'openat'.
6664         * NEWS: Mention the change.
6665         * modules/getcwd (Depends-on): Add fstatat.
6666         * modules/linkat (Depends-on): Likewise.
6667         * modules/mkfifoat-tests (Depends-on): Likewise.
6668         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
6669
6670 2011-11-03  Bruno Haible  <bruno@clisp.org>
6671
6672         New module 'unlinkat', split off from module 'openat'.
6673         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
6674         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
6675         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
6676         * modules/unlinkat: New file, extracted from modules/openat. Correct
6677         the dependency conditions.
6678         * modules/openat (Files): Remove lib/unlinkat.c.
6679         (Depends-on): Remove rmdir, unlink.
6680         (configure.ac): Remove AC_LIBOBJ of unlinkat.
6681         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
6682         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
6683         tests/test-rmdir.h, tests/test-unlink.h.
6684         (Depends-on): Remove unlinkdir.
6685         (Makefile.am): Remove rules for test-unlinkat.
6686         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
6687         of module 'openat'.
6688         * NEWS: Mention the change.
6689         * modules/linkat-tests (Depends-on): Add unlinkat.
6690         * modules/mkfifoat-tests (Depends-on): Likewise.
6691         * modules/readlinkat-tests (Depends-on): Likewise.
6692
6693 2011-11-02  Bruno Haible  <bruno@clisp.org>
6694
6695         New module 'fchmodat', split off from module 'openat'.
6696         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
6697         defined.
6698         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
6699         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
6700         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
6701         * modules/fchmodat: New file, extracted from modules/openat.
6702         * modules/openat (Files): Remove lib/fchmodat.c.
6703         (configure.ac): Remove AC_LIBOBJ of fchmodat.
6704         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
6705         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
6706         (Makefile.am): Remove rules for test-fchmodat.
6707         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
6708         of module 'openat'.
6709         * NEWS: Mention the change.
6710
6711 2011-11-02  Jim Meyering  <meyering@redhat.com>
6712
6713         putenv: indent #definition of "environ" to placate cppi
6714         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
6715
6716         gitlog-to-changelog: provide a ChangeLog-repair mechanism
6717         Git logs are often treated as immutable, because editing them
6718         changes the SHA1 checksums of all descendants.  Thus, errors in
6719         git logs tend to stay there forever.  However, when we generate
6720         a ChangeLog file -- typically for distribution -- from that git log,
6721         we can actually make corrections in the generated file.  The key
6722         lies in recording in machine-readable/applicable form the desired
6723         corrections.  See --help for description and an example.
6724         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
6725         (usage): Describe it; alphabetize option descriptions.
6726         (main): Honor the new option, carefully.
6727
6728 2011-11-01  Jim Meyering  <meyering@redhat.com>
6729
6730         gitlog-to-changelog: avoid an infloop
6731         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
6732         that ends up being empty.
6733
6734 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6735
6736         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
6737         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
6738         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
6739         contains (possibly-quoted) backslashes.  This should avoid
6740         all-too-common shell bugs if COMPLICATED contains backslashes in
6741         the "wrong" places.  Reported by David Evans in
6742         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
6743         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
6744         because we want ASCII ranges.  Is there some reason we don't use
6745         the C locale everywhere in this script?
6746         (func_module, top level): Avoid unwanted pathname expansion when
6747         $repo_url_prefix or $repo_url_suffix_repl contain shell
6748         metacharacters like '?' and '*'.
6749
6750 2011-11-01  Bruno Haible  <bruno@clisp.org>
6751
6752         fchownat: Improve description.
6753         * modules/fchownat (Description): Add link to function.
6754
6755 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6756
6757         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
6758         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
6759         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
6760         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
6761
6762 2011-11-01  Bruno Haible  <bruno@clisp.org>
6763
6764         alignof: Avoid collision with stdalign module.
6765         * lib/alignof.h (alignof): Remove macro.
6766         * NEWS: Mention the change.
6767         Reported by Paul Eggert.
6768
6769 2011-11-01  Bruno Haible  <bruno@clisp.org>
6770
6771         New module 'fchownat', split off from module 'openat'.
6772         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
6773         defined.
6774         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
6775         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
6776         invoke gl_FUNC_FCHOWNAT.
6777         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
6778         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
6779         * modules/fchownat: New file, extracted from modules/openat.
6780         * modules/openat (Files): Remove lib/fchownat.c.
6781         (Depends-on): Remove lchown.
6782         (configure.ac): Remove AC_LIBOBJ of fchownat.
6783         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
6784         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
6785         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
6786         (Depends-on): Remove mgetgroups, usleep, stat-time.
6787         (configure.ac): Remove test for getegid.
6788         (Makefile.am): Remove rules for test-fchownat.
6789         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
6790         of module 'openat'.
6791         * NEWS: Mention the change.
6792
6793 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
6794
6795         stdalign: port better to MSVC and to Sun C 5.11
6796         This fixes some of the problems reported by Bruno Haible in
6797         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
6798         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
6799         shortcomings of MSVC and of Sun C 5.11.
6800         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
6801         around __declspec arg.
6802         * modules/stdalign-tests (Files): Add tests/macros.h.
6803         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
6804         Include macros.h, for ASSERT.
6805         (DECLARE_ALIGNED): Remove.
6806         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
6807         to catch bug), and to 1 if not (simplifies the rest of the code).
6808         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
6809         (CHECK_AUTO): Remove.
6810         (CHECK_ALIGNED): Check only the alignment of the static vars,
6811         since auto var alignment isn't supported by Sun C 5.11.
6812         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
6813         ASSERT failures are easier to diagnose.
6814
6815 2011-10-31  Bruno Haible  <bruno@clisp.org>
6816
6817         doc about some IRIX 5.3 problems.
6818         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
6819         on IRIX 5.3.
6820         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
6821         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
6822         5.3.
6823         * doc/posix-functions/grantpt.texi: Likewise.
6824         * doc/posix-functions/unlockpt.texi: Likewise.
6825         * doc/posix-functions/lgamma.texi: Likewise.
6826         * doc/posix-functions/nextafter.texi: Likewise.
6827         * doc/posix-functions/remainder.texi: Likewise.
6828         * doc/posix-functions/select.texi: Mention misplaced declaration on
6829         IRIX 5.3.
6830         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6831
6832 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
6833
6834         gitlog-to-changelog: fix git-log invocation.
6835         git-log mishandles date strings before 1970-01-01 UTC, and there is
6836         no use to specify --since=1970-01-01 by default anyway.
6837         * build-aux/gitlog-to-changelog: By default, when no --since option
6838         was given, do not specify explicit --since option to git-log.
6839
6840 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
6841
6842         gitlog-to-changelog: new option --append-dot.
6843         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
6844         first non-blank line of each commit message terminated with a dot.
6845
6846 2011-10-30  Bruno Haible  <bruno@clisp.org>
6847
6848         ffsl, ffsll: Avoid compilation error due to 'restrict'.
6849         * lib/ffsl.h: Include <config.h>.
6850         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
6851
6852 2011-10-30  Jim Meyering  <meyering@redhat.com>
6853
6854         GNUmakefile: reenable "make syntax-check" for most projects
6855         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
6856         build-aux variable", "syntax-check" would do nothing but succeed with
6857         the "No version control files detected..." diagnostic (unless you
6858         happened to override _build-aux via cfg.mk).
6859         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
6860         to precede inclusion of maint.mk.  Otherwise, these variables would
6861         be used undefined in any project that does not override the default.
6862
6863 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
6864
6865         gitlog-to-changelog: treat a message with only blank lines as empty.
6866         * build-aux/gitlog-to-changelog: Move the code that removes leading and
6867         trailing blank lines before the code that issues a warning about an
6868         empty commit message.
6869
6870 2011-10-30  Jim Meyering  <meyering@redhat.com>
6871
6872         test-parse-datetime.c: avoid new DST-related false positive test failure
6873         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
6874         based on the time/date we'll convert, not the current time.
6875         Otherwise, the moment we cross a DST boundary like today's in
6876         Europe, (CEST to CET), that offset ends up being one hour off.
6877
6878 2011-10-27  Bruno Haible  <bruno@clisp.org>
6879
6880         fstat: Tweak documentation.
6881         * modules/fstat (Description): More precise description.
6882
6883 2011-10-27  Bruno Haible  <bruno@clisp.org>
6884
6885         Update documentation regarding 'largefile' module.
6886         * doc/posix-functions/fstat.texi: Tweak wording.
6887         * doc/posix-functions/opendir.texi: Mention that the module fixes the
6888         problems with huge directories and/or small ino_t types.
6889         * doc/posix-functions/readdir.texi: Likewise.
6890         * doc/posix-functions/rewinddir.texi: Likewise.
6891
6892 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
6893
6894         maint.mk: don't maintain a second build-aux variable.
6895         * maint.mk (build_aux): Removed.  The maintainer-makefile module
6896         depends on GNUmakefile, which already maintains a cfg.mk
6897         overridable $(_build-aux) for projects with a non-standard
6898         build-aux directory location, although without the $(srcdir)
6899         prefix.  Use that variable consistently instead of introducing a
6900         second one.  Adjust all call sites.
6901
6902 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6903
6904         Add stdalign module and use it in other modules.
6905         This is based on a previous proposal by Bruno Haible
6906         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
6907
6908         stdalign: new module
6909         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
6910         * modules/stdalign: New files.
6911         * MODULES.html.sh (c1x_core_properties): Add stdalign.
6912         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
6913
6914         stdalign-tests: new module
6915         * modules/stdalign-tests, tests/test-stdalign.c: New files.
6916
6917         argp: use stdalign
6918         * lib/argp-parse.c: Include <stdalign.h>.
6919         (alignof): Remove.
6920         * modules/argp (Depends-on): Add stdalign.
6921
6922         crypto libraries: use stdalign
6923         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
6924         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
6925         Do not include <stdlib.h> twice, in md4.c.
6926         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
6927         because we are accessing a pointer's bit-pattern, not a size.
6928         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
6929         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
6930         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
6931         * modules/crypto/sha512: Likewise.
6932
6933         sys_socket: use stdalign, not alignof
6934         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
6935         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
6936
6937 2011-10-27  Bruno Haible  <bruno@clisp.org>
6938
6939         raise test: Avoid a test failure on Linux/MIPS.
6940         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
6941         because 99 is a valid signal on Linux/MIPS.
6942
6943 2011-10-27  Bruno Haible  <bruno@clisp.org>
6944
6945         nonblocking tests: Fix test failure on Linux/MIPS.
6946         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
6947         Set to 270000.
6948
6949 2011-10-27  Bruno Haible  <bruno@clisp.org>
6950
6951         utimensat: Work around problem on Linux/hppa.
6952         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
6953         values.
6954         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
6955
6956 2011-10-25  Jim Meyering  <meyering@redhat.com>
6957
6958         maint.mk: fix a bug in sc_prohibit_stddef_without_use
6959         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
6960         after symbols like NULL, size_t, etc.
6961         Reported by Alfred M. Szmidt.
6962
6963         maint.mk: exempt ENODATA from a syntax-check rule
6964         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
6965         from the sc_prohibit_always-defined_macros syntax-check rule.
6966         Add a comment.  See this for more details:
6967         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
6968
6969 2011-10-23  Jim Meyering  <meyering@redhat.com>
6970
6971         fts: close parent dir FD before returning from post-traversal fts_read
6972         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
6973         unlink A, even though an FD open on A remained.  This is suboptimal
6974         (holding a file descriptor open longer than needed), but otherwise not
6975         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
6976         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
6977         that represents a real problem: it causes the removal of A to fail
6978         with e.g., "rm: cannot remove `A': Device or resource busy"
6979
6980         fts visits each directory twice and keeps a cache (fts_fd_ring) of
6981         directory file descriptors.  After completing the final, FTS_DP,
6982         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
6983         cache, but then proceeded to add a new FD to it via the subsequent
6984         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
6985         final file descriptor would be closed only via fts_close's call to
6986         fd_ring_clear.  Now, it is usually closed earlier, via the final
6987         FTS_DP-returning fts_read call.
6988         * lib/fts.c (restore_initial_cwd): New function, converted from
6989         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
6990         Update callers.
6991         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
6992         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
6993
6994 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
6995             Bruno Haible  <bruno@clisp.org>
6996             Jim Meyering  <jim@meyering.net>
6997
6998         readme-release: improve safety of release prep instructions.
6999         * README-release: Don't git pull all branches when only master
7000         is needed for the release process.
7001         Run make maintainer-clean before changing trees and merging.
7002         Don't try to run ./configure right after git pull in case files
7003         that influence the bootstrap process have changed, move the
7004         ./configure step to after running ./bootstrap.
7005         Don't bootstrap "one last time"... it's the first time!
7006
7007 2011-10-22  Bruno Haible  <bruno@clisp.org>
7008
7009         errno, strerror-override: Support for MSVC 10.
7010         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
7011         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
7012         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
7013         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
7014         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
7015         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
7016         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
7017         Assign values compatible with MSVC 10.
7018         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
7019         New macros.
7020         (GNULIB_defined_EWINSOCK): New macro.
7021         * lib/strerror-override.c (strerror_override): Update accordingly.
7022         * lib/strerror-override.h: Likewise.
7023         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
7024         longer equal to the corresponding errno value.
7025         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7026
7027 2011-10-22  Bruno Haible  <bruno@clisp.org>
7028
7029         perror: Recognize when test program crashes.
7030         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
7031         strerror, set gl_cv_func_perror_works to no.
7032         Reported by Daniel Richard G. <skunk@iskunk.org>.
7033
7034         perror: Fix indentation.
7035         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
7036
7037 2011-10-22  Bruno Haible  <bruno@clisp.org>
7038
7039         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
7040         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
7041         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
7042         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
7043         functions, not as a macro.
7044         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
7045         macros.
7046         (isfinite, isinf, isnan, signbit): Check overloaded functions and
7047         absence of macro.
7048         Suggested by Eric Blake.
7049         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7050
7051 2011-10-21  Bruno Haible  <bruno@clisp.org>
7052
7053         relocatable-prog-wrapper: Don't leave object files behind.
7054         * build-aux/install-reloc: Re-synchronize list of .o files to be
7055         removed with list of compilation units.
7056
7057 2011-10-20  Bruno Haible  <bruno@clisp.org>
7058
7059         openpty, posix_openpt: Remove code duplication.
7060         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
7061         * lib/openpty.c: Include <stdlib.h>.
7062         (openpty): Use posix_openpt on all platforms except IRIX.
7063         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
7064
7065 2011-10-20  Bruno Haible  <bruno@clisp.org>
7066
7067         unlockpt: Detect invalid argument.
7068         * lib/unlockpt.c: Include <fcntl.h>.
7069         (unlockpt): Check whether fd is valid, using fcntl().
7070         * modules/unlockpt (Depends-on): Add fcntl-h.
7071
7072 2011-10-20  Bruno Haible  <bruno@clisp.org>
7073
7074         openpty: Avoid compilation error on AIX 6.1.
7075         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
7076
7077 2011-10-20  Bruno Haible  <bruno@clisp.org>
7078
7079         posix_openpt: Support for OpenBSD.
7080         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
7081         (posix_openpt) [OpenBSD]: New code.
7082         * lib/grantpt.c: Include <fcntl.h>.
7083         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
7084         * modules/grantpt (Depends-on): Add fcntl-h.
7085
7086 2011-10-20  Bruno Haible  <bruno@clisp.org>
7087
7088         posix_openpt test: Coding style.
7089         * tests/test-posix_openpt.c: Use GNU coding style.
7090
7091 2011-10-20  Bruno Haible  <bruno@clisp.org>
7092
7093         grantpt: Support --avoid=pt_chown.
7094         * modules/grantpt (Files): Add lib/pty-private.h.
7095
7096 2011-10-20  Bruno Haible  <bruno@clisp.org>
7097
7098         posix_openpt: Fix autoconf macro.
7099         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
7100         unneeded check for _getpty.
7101
7102 2011-10-20  Bruno Haible  <bruno@clisp.org>
7103
7104         openpty: Update comments.
7105         * lib/openpty.c: Add comments about Minix.
7106
7107 2011-10-19  Eric Blake  <eblake@redhat.com>
7108
7109         openpty: relax license
7110         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
7111
7112         pt_chown: use configmake to simplify build
7113         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
7114
7115         ptsname and others: relax license
7116         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
7117         * modules/unlockpt (License): Likewise.
7118         * modules/pt_chown (License): Likewise.
7119         * modules/ptsname (License): Likewise.
7120         * modules/ttyname_r (License): Likewise.
7121
7122 2011-10-19  Jim Meyering  <meyering@redhat.com>
7123
7124         posix_openpt: remove spurious #endif
7125         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
7126
7127 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
7128
7129         maint.mk: Respect $(build_aux) in web-manual rule.
7130         * top/maint.mk (web-manual): Find gen-announce script in user's
7131         $(build_aux) directory instead of hard-coding 'build-aux'.
7132
7133 2011-10-19  Bruno Haible  <bruno@clisp.org>
7134
7135         posix_openpt: Fix compilation error.
7136         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
7137         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
7138         Mention the openpty module as an alternative.
7139
7140 2011-10-19  Bruno Haible  <bruno@clisp.org>
7141
7142         Support for old NeXTstep 3.3 frexp().
7143         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
7144         execution time of the test to 5 seconds.
7145         Reported by Daniel Richard G. <skunk@iskunk.org>.
7146
7147 2011-10-19  Bruno Haible  <bruno@clisp.org>
7148
7149         Support for old NeXTstep 3.3 sed.
7150         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
7151         part, use /.../, not \|...|. Escape periods in the header file name.
7152         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7153         Reported by Daniel Richard G. <skunk@iskunk.org>.
7154
7155 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7156
7157         Support for old NeXTstep 3.3 gcc.
7158         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
7159         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
7160         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
7161         * lib/spawn.in.h (_Restrict_arr_): Likewise.
7162         * lib/regex.h (_Restrict_arr_): Likewise.
7163         * lib/regex_internal.h (re_token_t): Likewise.
7164         * lib/regexec.c (check_node_accept_bytes): Likewise.
7165         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
7166
7167 2011-10-18  Eric Blake  <eblake@redhat.com>
7168
7169         posix_openpt: new module
7170         * modules/posix_openpt: New module.
7171         * m4/posix_openpt.m4: New file.
7172         * lib/posix_openpt.c: Likewise.
7173         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7174         (gl_STDLIB_H_DEFAULTS): Set defaults.
7175         * modules/stdlib (Makefile.am): Substitute macros.
7176         * lib/stdlib.in.h (posix_openpt): Declare.
7177         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
7178         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
7179         * modules/posix_openpt-tests: New test module.
7180         * tests/test-posix_openpt.c: New test.
7181
7182 2011-10-15  Bruno Haible  <bruno@clisp.org>
7183
7184         xstrtoll: Fix compilation failure.
7185         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
7186         from lib/strtol.c.
7187         * doc/posix-headers/limits.texi: Mention missing numerical limits on
7188         some platforms.
7189         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7190
7191 2011-10-15  Bruno Haible  <bruno@clisp.org>
7192
7193         vasnprintf: Optimize bit search operation.
7194         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
7195         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
7196         gl_DOUBLE_EXPONENT_LOCATION.
7197         * modules/vasnprintf (Files): Add m4/exponentd.m4.
7198         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7199         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7200         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7201         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7202         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7203         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7204         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7205         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
7206
7207 2011-10-15  Bruno Haible  <bruno@clisp.org>
7208
7209         vasnprintf: Fix comments.
7210         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
7211
7212 2011-10-14  Bruno Haible  <bruno@clisp.org>
7213
7214         Tests for module 'integer_length_ll'.
7215         * modules/integer_length_ll-tests: New file.
7216         * tests/test-integer_length_ll.c: New file.
7217
7218         New module 'integer_length_ll'.
7219         * lib/integer_length_ll.c: New file.
7220         * modules/integer_length_ll: New file.
7221
7222 2011-10-14  Bruno Haible  <bruno@clisp.org>
7223
7224         Tests for module 'integer_length_l'.
7225         * modules/integer_length_l-tests: New file.
7226         * tests/test-integer_length_l.c: New file.
7227
7228         New module 'integer_length_l'.
7229         * lib/integer_length_l.c: New file.
7230         * modules/integer_length_l: New file.
7231
7232 2011-10-14  Bruno Haible  <bruno@clisp.org>
7233
7234         Tests for module 'integer_length'.
7235         * modules/integer_length-tests: New file.
7236         * tests/test-integer_length.c: New file.
7237
7238         New module 'integer_length'.
7239         * lib/integer_length.h: New file.
7240         * lib/integer_length.c: New file.
7241         * modules/integer_length: New file.
7242
7243 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7244
7245         popen: Fix dependency conditions.
7246         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
7247
7248 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7249
7250         perror: Fix autoconf test.
7251         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
7252         <stdlib.h> and <string.h>.
7253
7254 2011-10-14  Bruno Haible  <bruno@clisp.org>
7255
7256         ffsl: Optimize on 64-bit platforms.
7257         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
7258         unrolling.
7259
7260 2011-10-13  Bruno Haible  <bruno@clisp.org>
7261
7262         ffsl: Optimize on 32-bit platforms.
7263         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
7264         use ffs() without a loop.
7265
7266         ffsl, ffsll: Optimize for GCC.
7267         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
7268         * lib/ffsl.c (GCC_BUILTIN): New macro.
7269         * lib/ffsll.c (GCC_BUILTIN): Likewise.
7270
7271 2011-10-13  Bruno Haible  <bruno@clisp.org>
7272
7273         ffs, bcopy, memset: Support symbol renaming via config.h.
7274         * lib/ffs.c: Include <config.h>.
7275         * lib/bcopy.c: Likewise.
7276         * lib/memset.c: Likewise.
7277
7278 2011-10-10  Bruno Haible  <bruno@clisp.org>
7279
7280         atanl: Simplify for platforms where 'long double' == 'double'.
7281         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7282         alternative implementation.
7283         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7284         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7285         * modules/atanl (Depends-on): Add atan. Update conditions.
7286
7287 2011-10-10  Bruno Haible  <bruno@clisp.org>
7288
7289         acosl: Simplify for platforms where 'long double' == 'double'.
7290         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7291         alternative implementation.
7292         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7293         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7294         * modules/acosl (Depends-on): Add acos. Update conditions.
7295
7296 2011-10-10  Bruno Haible  <bruno@clisp.org>
7297
7298         asinl: Simplify for platforms where 'long double' == 'double'.
7299         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7300         alternative implementation.
7301         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7302         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7303         * modules/asinl (Depends-on): Add asin. Update conditions.
7304
7305 2011-10-10  Bruno Haible  <bruno@clisp.org>
7306
7307         tanl: Simplify for platforms where 'long double' == 'double'.
7308         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7309         implementation.
7310         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7311         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7312         * modules/tanl (Depends-on): Add tan. Update conditions.
7313         (configure.ac): Don't compile trigl.c if
7314         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7315
7316 2011-10-10  Bruno Haible  <bruno@clisp.org>
7317
7318         cosl: Simplify for platforms where 'long double' == 'double'.
7319         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7320         implementation.
7321         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7322         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7323         * modules/cosl (Depends-on): Add cos. Update conditions.
7324         (configure.ac): Don't compile sincosl.c and trigl.c if
7325         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7326
7327 2011-10-10  Bruno Haible  <bruno@clisp.org>
7328
7329         sinl: Simplify for platforms where 'long double' == 'double'.
7330         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7331         implementation.
7332         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7333         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7334         * modules/sinl (Depends-on): Add sin. Update conditions.
7335         (configure.ac): Don't compile sincosl.c and trigl.c if
7336         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7337
7338 2011-10-10  Bruno Haible  <bruno@clisp.org>
7339
7340         logl: Simplify for platforms where 'long double' == 'double'.
7341         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7342         implementation.
7343         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7344         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7345         * modules/logl (Depends-on): Add log. Update conditions.
7346
7347 2011-10-10  Bruno Haible  <bruno@clisp.org>
7348
7349         expl: Simplify for platforms where 'long double' == 'double'.
7350         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7351         implementation.
7352         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7353         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7354         * modules/expl (Depends-on): Add exp. Update conditions.
7355
7356 2011-10-10  Bruno Haible  <bruno@clisp.org>
7357
7358         sqrtl: Simplify for platforms where 'long double' == 'double'.
7359         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7360         alternative implementation.
7361         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7362         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7363         * modules/sqrtl (Depends-on): Update conditions.
7364
7365 2011-10-10  Bruno Haible  <bruno@clisp.org>
7366
7367         ldexpl: Simplify for platforms where 'long double' == 'double'.
7368         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7369         alternative implementation.
7370         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7371         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7372         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
7373
7374 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
7375
7376         ffsll: set correct witness
7377         * modules/ffsll (configure.ac): Fix typo.
7378
7379 2011-10-10  Bruno Haible  <bruno@clisp.org>
7380
7381         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
7382         * lib/printf-frexpl.c: Include <config.h>.
7383         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7384         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
7385         second time.
7386         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
7387         gl_LONG_DOUBLE_VS_DOUBLE.
7388         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
7389         conditions.
7390
7391 2011-10-10  Bruno Haible  <bruno@clisp.org>
7392
7393         frexpl: Simplify for platforms where 'long double' == 'double'.
7394         * lib/frexpl.c: Include <config.h>.
7395         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7396         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7397         time.
7398         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7399         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7400         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
7401         * modules/frexpl (Depends-on): Add frexp. Update conditions.
7402         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
7403         conditions.
7404
7405 2011-10-10  Jim Meyering  <meyering@redhat.com>
7406
7407         test-renameat: don't leave behind a temporary file
7408         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
7409           ERROR: files left in build directory after distclean:
7410           ./gltests/test-renameat.too
7411           make[1]: *** [distcleancheck] Error 1
7412         Reported by Tom G. Christensen.
7413
7414 2011-10-09  Bruno Haible  <bruno@clisp.org>
7415
7416         rint: Determine RINT_LIBM correctly on AIX 7.
7417         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
7418         directly, not only through a function pointer. Also accept an optional
7419         4th argument with extra code.
7420         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
7421         rintf() call by gcc when optimizing.
7422
7423         mathfunc.m4: Refactor.
7424         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
7425         m4 variable.
7426
7427 2011-10-09  Bruno Haible  <bruno@clisp.org>
7428
7429         rintl: Simplify for platforms where 'long double' == 'double'.
7430         * lib/rintl.c: Include <config.h>.
7431         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7432         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7433         time.
7434         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7435         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7436         * modules/rintl (Depends-on): Add rint. Update conditions.
7437
7438 2011-10-09  Bruno Haible  <bruno@clisp.org>
7439
7440         roundl: Simplify for platforms where 'long double' == 'double'.
7441         * lib/roundl.c: Include <config.h>.
7442         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7443         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7444         time.
7445         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7446         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7447         * modules/roundl (Depends-on): Add round. Update conditions.
7448
7449 2011-10-09  Bruno Haible  <bruno@clisp.org>
7450
7451         truncl: Simplify for platforms where 'long double' == 'double'.
7452         * lib/truncl.c: Include <config.h>.
7453         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7454         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7455         time.
7456         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7457         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7458         * modules/truncl (Depends-on): Add trunc. Update conditions.
7459
7460 2011-10-09  Bruno Haible  <bruno@clisp.org>
7461
7462         ceill: Simplify for platforms where 'long double' == 'double'.
7463         * lib/ceill.c: Include <config.h>.
7464         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7465         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7466         time.
7467         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7468         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7469         * modules/ceill (Depends-on): Add ceil. Update conditions.
7470
7471 2011-10-09  Bruno Haible  <bruno@clisp.org>
7472
7473         floorl: Simplify for platforms where 'long double' == 'double'.
7474         * lib/floorl.c: Include <config.h>.
7475         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7476         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7477         time.
7478         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7479         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7480         * modules/floorl (Depends-on): Add floor. Update conditions.
7481
7482 2011-10-09  Bruno Haible  <bruno@clisp.org>
7483
7484         rint: Fix ordering constraints.
7485         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
7486         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
7487         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
7488
7489 2011-10-09  Bruno Haible  <bruno@clisp.org>
7490
7491         copysignl: Simplify for platforms where 'long double' == 'double'.
7492         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7493         alternative.
7494         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7495         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7496         * modules/copysignl (Depends-on): Add copysign. Update conditions.
7497
7498 2011-10-09  Bruno Haible  <bruno@clisp.org>
7499
7500         Tests for module 'rintl'.
7501         * modules/rintl-tests: New file.
7502         * tests/test-rintl.c: New file.
7503
7504         New module 'rintl'.
7505         * lib/math.in.h (rintl): New declaration.
7506         * lib/rintl.c: New file.
7507         * m4/rintl.m4: New file.
7508         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
7509         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
7510         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
7511         * modules/rintl: New file.
7512         * tests/test-math-c++.cc: Check the declaration of rintl.
7513         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7514         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
7515         * doc/posix-functions/rintl.texi: Mention the new module.
7516
7517 2011-10-09  Bruno Haible  <bruno@clisp.org>
7518
7519         Tests for module 'rintf'.
7520         * modules/rintf-tests: New file.
7521         * tests/test-rintf.c: New file.
7522
7523         New module 'rintf'.
7524         * lib/math.in.h (rintf): New declaration.
7525         * lib/rintf.c: New file.
7526         * m4/rintf.m4: New file.
7527         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
7528         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
7529         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
7530         * modules/rintf: New file.
7531         * tests/test-math-c++.cc: Check the declaration of rintf.
7532         * doc/posix-functions/rintf.texi: Mention the new module.
7533
7534 2011-10-09  Bruno Haible  <bruno@clisp.org>
7535
7536         rint: Support for MSVC.
7537         * lib/math.in.h (rint): New declaration.
7538         * lib/rint.c: New file.
7539         * m4/rint.m4: New file.
7540         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
7541         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
7542         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
7543         * modules/rint (Description): Fix.
7544         (Files): Add lib/rint.c, m4/rint.m4.
7545         (Depends-on): Add math.
7546         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
7547         gl_MATH_MODULE_INDICATOR.
7548         * tests/test-math-c++.cc: Check the declaration of rint.
7549         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7550         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
7551         * doc/posix-functions/rint.texi: Mention the replacement provided by
7552         the module.
7553
7554         rint tests: More tests.
7555         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
7556         minus-zero.h, infinity.h, nan.h.
7557         (main): Skip the test if the current rounding mode is not standard. Add
7558         tests for negative numbers, minus zero, infinity, NaN.
7559         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
7560         tests/nan.h.
7561         (Depends-on): Add isnand-nolibm.
7562
7563 2011-10-09  Bruno Haible  <bruno@clisp.org>
7564
7565         Tests for module 'copysignl'.
7566         * modules/copysignl-tests: New file.
7567         * tests/test-copysignl.c: New file.
7568
7569         New module 'copysignl'.
7570         * lib/math.in.h (copysignl): New declaration.
7571         * lib/copysignl.c: New file.
7572         * m4/copysignl.m4: New file.
7573         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
7574         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
7575         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
7576         HAVE_COPYSIGNL.
7577         * modules/copysignl: New file.
7578         * tests/test-math-c++.cc: Check the declaration of copysignl.
7579         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7580         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
7581         * doc/posix-functions/copysignl.texi: Mention the new module.
7582
7583 2011-10-09  Bruno Haible  <bruno@clisp.org>
7584
7585         Tests for module 'copysignf'.
7586         * modules/copysignf-tests: New file.
7587         * tests/test-copysignf.c: New file.
7588
7589         New module 'copysignf'.
7590         * lib/math.in.h (copysignf): New declaration.
7591         * lib/copysignf.c: New file.
7592         * m4/copysignf.m4: New file.
7593         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
7594         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
7595         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
7596         HAVE_COPYSIGNF.
7597         * modules/copysignf: New file.
7598         * tests/test-math-c++.cc: Check the declaration of copysignf.
7599         * doc/posix-functions/copysignf.texi: Mention the new module.
7600
7601 2011-10-09  Bruno Haible  <bruno@clisp.org>
7602
7603         Ensure that HAVE_* variables are set to 1 before they are set to 0.
7604         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
7605         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
7606         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7607         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
7608         gl_SIGNAL_H_DEFAULTS.
7609
7610 2011-10-09  Bruno Haible  <bruno@clisp.org>
7611
7612         poll: Make macro safer.
7613         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
7614         ac_cv_header_poll_h is not set.
7615
7616 2011-10-09  Bruno Haible  <bruno@clisp.org>
7617
7618         copysign: Provide replacement.
7619         * lib/math.in.h (copysign): New declaration.
7620         * lib/copysign.c: New file.
7621         * m4/copysign.m4: New file.
7622         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
7623         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
7624         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
7625         HAVE_COPYSIGN.
7626         * modules/copysign (Description): Clarify.
7627         (Files): Add lib/copysign.c, m4/copysign.m4.
7628         (Depends-on): Add math, signbit.
7629         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
7630         gl_MATH_MODULE_INDICATOR.
7631         * tests/test-math-c++.cc: Check the declaration of copysign.
7632         * doc/posix-functions/copysign.texi: Mention the effects of the module
7633         on Minix and MSVC.
7634
7635 2011-10-09  Bruno Haible  <bruno@clisp.org>
7636
7637         isinf: Ensure macro on AIX 5.1.
7638         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
7639         macro.
7640         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
7641
7642 2011-10-09  Bruno Haible  <bruno@clisp.org>
7643
7644         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
7645         * modules/snprintf-posix-tests (configure.ac): Require
7646         gl_LONG_DOUBLE_VS_DOUBLE.
7647         * modules/sprintf-posix-tests (configure.ac): Likewise.
7648         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
7649         * modules/vasprintf-posix-tests (configure.ac): Likewise.
7650         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
7651         * modules/vsprintf-posix-tests (configure.ac): Likewise.
7652         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
7653         tests on platforms where 'long double' is the same as 'double'.
7654         * tests/test-sprintf-posix.h (test_function): Likewise.
7655         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7656         * tests/test-vasprintf-posix.c (test_function): Likewise.
7657
7658         *printf: Fix for platforms where 'long double' == 'double'.
7659         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
7660         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
7661         * modules/dprintf-posix (Files): Add m4/math_h.m4.
7662         * modules/fprintf-posix (Files): Likewise.
7663         * modules/obstack-printf-posix (Files): Likewise.
7664         * modules/snprintf-posix (Files): Likewise.
7665         * modules/sprintf-posix (Files): Likewise.
7666         * modules/vasnprintf (Files): Likewise.
7667         * modules/vasnprintf-posix (Files): Likewise.
7668         * modules/vasprintf-posix (Files): Likewise.
7669         * modules/vdprintf-posix (Files): Likewise.
7670         * modules/vfprintf-posix (Files): Likewise.
7671         * modules/vsnprintf-posix (Files): Likewise.
7672         * modules/vsprintf-posix (Files): Likewise.
7673         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7674         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7675         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7676         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7677         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7678         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7679         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7680
7681         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
7682         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
7683         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7684         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
7685         'long double'.
7686         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
7687
7688         isinf: Fix for platforms where 'long double' == 'double'.
7689         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7690         Don't blindly assume 80-bit 'long double'.
7691
7692         isfinite: Fix for platforms where 'long double' == 'double'.
7693         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7694         Don't blindly assume 80-bit 'long double'.
7695
7696         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
7697         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
7698         * modules/isfinite-tests (configure.ac): Require
7699         gl_LONG_DOUBLE_VS_DOUBLE.
7700         * modules/isinf-tests (configure.ac): Likewise.
7701         * modules/isnan-tests (configure.ac): Likewise.
7702         * modules/isnanl-tests (configure.ac): Likewise.
7703         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
7704         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
7705         tests on platforms where 'long double' is the same as 'double'.
7706         * tests/test-isinf.c (test_isinfl): Likewise.
7707         * tests/test-isnan.c (test_long_double): Likewise.
7708         * tests/test-isnanl.h (main): Likewise.
7709
7710 2011-10-08  Bruno Haible  <bruno@clisp.org>
7711
7712         Tests for module 'tanhf'.
7713         * modules/tanhf-tests: New file.
7714         * tests/test-tanhf.c: New file.
7715
7716         New module 'tanhf'.
7717         * lib/math.in.h (tanhf): New declaration.
7718         * lib/tanhf.c: New file.
7719         * m4/tanhf.m4: New file.
7720         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
7721         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
7722         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
7723         * modules/tanhf: New file.
7724         * tests/test-math-c++.cc: Check the declaration of tanhf.
7725         * doc/posix-functions/tanhf.texi: Mention the new module.
7726
7727         tanh: Use a .m4 file.
7728         * m4/tanh.m4: New file.
7729         * modules/tanh (Files): Add it.
7730         (configure.ac): Just invoke gl_FUNC_TANH.
7731
7732 2011-10-08  Bruno Haible  <bruno@clisp.org>
7733
7734         Tests for module 'coshf'.
7735         * modules/coshf-tests: New file.
7736         * tests/test-coshf.c: New file.
7737
7738         New module 'coshf'.
7739         * lib/math.in.h (coshf): New declaration.
7740         * lib/coshf.c: New file.
7741         * m4/coshf.m4: New file.
7742         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
7743         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
7744         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
7745         * modules/coshf: New file.
7746         * tests/test-math-c++.cc: Check the declaration of coshf.
7747         * doc/posix-functions/coshf.texi: Mention the new module.
7748
7749         cosh: Use a .m4 file.
7750         * m4/cosh.m4: New file.
7751         * modules/cosh (Files): Add it.
7752         (configure.ac): Just invoke gl_FUNC_COSH.
7753
7754 2011-10-08  Bruno Haible  <bruno@clisp.org>
7755
7756         Tests for module 'sinhf'.
7757         * modules/sinhf-tests: New file.
7758         * tests/test-sinhf.c: New file.
7759
7760         New module 'sinhf'.
7761         * lib/math.in.h (sinhf): New declaration.
7762         * lib/sinhf.c: New file.
7763         * m4/sinhf.m4: New file.
7764         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
7765         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
7766         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
7767         * modules/sinhf: New file.
7768         * tests/test-math-c++.cc: Check the declaration of sinhf.
7769         * doc/posix-functions/sinhf.texi: Mention the new module.
7770
7771         sinh: Use a .m4 file.
7772         * m4/sinh.m4: New file.
7773         * modules/sinh (Files): Add it.
7774         (configure.ac): Just invoke gl_FUNC_SINH.
7775
7776 2011-10-08  Bruno Haible  <bruno@clisp.org>
7777
7778         Tests for module 'atan2f'.
7779         * modules/atan2f-tests: New file.
7780         * tests/test-atan2f.c: New file.
7781
7782         New module 'atan2f'.
7783         * lib/math.in.h (atan2f): New declaration.
7784         * lib/atan2f.c: New file.
7785         * m4/atan2f.m4: New file.
7786         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
7787         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
7788         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
7789         * modules/atan2f: New file.
7790         * tests/test-math-c++.cc: Check the declaration of atan2f.
7791         * doc/posix-functions/atan2f.texi: Mention the new module.
7792
7793         atan2: Use a .m4 file.
7794         * m4/atan2.m4: New file.
7795         * modules/atan2 (Files): Add it.
7796         (configure.ac): Just invoke gl_FUNC_ATAN2.
7797
7798 2011-10-08  Bruno Haible  <bruno@clisp.org>
7799
7800         Tests for module 'atanf'.
7801         * modules/atanf-tests: New file.
7802         * tests/test-atanf.c: New file.
7803
7804         New module 'atanf'.
7805         * lib/math.in.h (atanf): New declaration.
7806         * lib/atanf.c: New file.
7807         * m4/atanf.m4: New file.
7808         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
7809         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
7810         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
7811         * modules/atanf: New file.
7812         * tests/test-math-c++.cc: Check the declaration of atanf.
7813         * doc/posix-functions/atanf.texi: Mention the new module.
7814
7815         atan: Use a .m4 file.
7816         * m4/atan.m4: New file.
7817         * modules/atan (Files): Add it.
7818         (configure.ac): Just invoke gl_FUNC_ATAN.
7819
7820 2011-10-08  Bruno Haible  <bruno@clisp.org>
7821
7822         Tests for module 'acosf'.
7823         * modules/acosf-tests: New file.
7824         * tests/test-acosf.c: New file.
7825
7826         New module 'acosf'.
7827         * lib/math.in.h (acosf): New declaration.
7828         * lib/acosf.c: New file.
7829         * m4/acosf.m4: New file.
7830         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
7831         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
7832         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
7833         * modules/acosf: New file.
7834         * tests/test-math-c++.cc: Check the declaration of acosf.
7835         * doc/posix-functions/acosf.texi: Mention the new module.
7836
7837         acos: Use a .m4 file.
7838         * m4/acos.m4: New file.
7839         * modules/acos (Files): Add it.
7840         (configure.ac): Just invoke gl_FUNC_ACOS.
7841
7842 2011-10-08  Bruno Haible  <bruno@clisp.org>
7843
7844         Tests for module 'asinf'.
7845         * modules/asinf-tests: New file.
7846         * tests/test-asinf.c: New file.
7847
7848         New module 'asinf'.
7849         * lib/math.in.h (asinf): New declaration.
7850         * lib/asinf.c: New file.
7851         * m4/asinf.m4: New file.
7852         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
7853         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
7854         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
7855         * modules/asinf: New file.
7856         * tests/test-math-c++.cc: Check the declaration of asinf.
7857         * doc/posix-functions/asinf.texi: Mention the new module.
7858
7859         asin: Use a .m4 file.
7860         * m4/asin.m4: New file.
7861         * modules/asin (Files): Add it.
7862         (configure.ac): Just invoke gl_FUNC_ASIN.
7863
7864 2011-10-08  Bruno Haible  <bruno@clisp.org>
7865
7866         Tests for module 'tanf'.
7867         * modules/tanf-tests: New file.
7868         * tests/test-tanf.c: New file.
7869
7870         New module 'tanf'.
7871         * lib/math.in.h (tanf): New declaration.
7872         * lib/tanf.c: New file.
7873         * m4/tanf.m4: New file.
7874         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
7875         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
7876         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
7877         * modules/tanf: New file.
7878         * tests/test-math-c++.cc: Check the declaration of tanf.
7879         * doc/posix-functions/tanf.texi: Mention the new module.
7880
7881         tan: Use a .m4 file.
7882         * m4/tan.m4: New file.
7883         * modules/tan (Files): Add it.
7884         (configure.ac): Just invoke gl_FUNC_TAN.
7885
7886 2011-10-08  Bruno Haible  <bruno@clisp.org>
7887
7888         Tests for module 'cosf'.
7889         * modules/cosf-tests: New file.
7890         * tests/test-cosf.c: New file.
7891
7892         New module 'cosf'.
7893         * lib/math.in.h (cosf): New declaration.
7894         * lib/cosf.c: New file.
7895         * m4/cosf.m4: New file.
7896         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
7897         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
7898         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
7899         * modules/cosf: New file.
7900         * tests/test-math-c++.cc: Check the declaration of cosf.
7901         * doc/posix-functions/cosf.texi: Mention the new module.
7902
7903         cos: Use a .m4 file.
7904         * m4/cos.m4: New file.
7905         * modules/cos (Files): Add it.
7906         (configure.ac): Just invoke gl_FUNC_COS.
7907
7908 2011-10-08  Bruno Haible  <bruno@clisp.org>
7909
7910         Tests for module 'sinf'.
7911         * modules/sinf-tests: New file.
7912         * tests/test-sinf.c: New file.
7913
7914         New module 'sinf'.
7915         * lib/math.in.h (sinf): New declaration.
7916         * lib/sinf.c: New file.
7917         * m4/sinf.m4: New file.
7918         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
7919         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
7920         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
7921         * modules/sinf: New file.
7922         * tests/test-math-c++.cc: Check the declaration of sinf.
7923         * doc/posix-functions/sinf.texi: Mention the new module.
7924
7925         sin: Use a .m4 file.
7926         * m4/sin.m4: New file.
7927         * modules/sin (Files): Add it.
7928         (configure.ac): Just invoke gl_FUNC_SIN.
7929
7930 2011-10-08  Bruno Haible  <bruno@clisp.org>
7931
7932         Tests for module 'powf'.
7933         * modules/powf-tests: New file.
7934         * tests/test-powf.c: New file.
7935
7936         New module 'powf'.
7937         * lib/math.in.h (powf): New declaration.
7938         * lib/powf.c: New file.
7939         * m4/powf.m4: New file.
7940         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
7941         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
7942         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
7943         * modules/powf: New file.
7944         * tests/test-math-c++.cc: Check the declaration of powf.
7945         * doc/posix-functions/powf.texi: Mention the new module.
7946
7947         pow: Use a .m4 file.
7948         * m4/pow.m4: New file.
7949         * modules/pow (Files): Add it.
7950         (configure.ac): Just invoke gl_FUNC_POW.
7951
7952 2011-10-08  Bruno Haible  <bruno@clisp.org>
7953
7954         Tests for module 'log10f'.
7955         * modules/log10f-tests: New file.
7956         * tests/test-log10f.c: New file.
7957
7958         New module 'log10f'.
7959         * lib/math.in.h (log10f): New declaration.
7960         * lib/log10f.c: New file.
7961         * m4/log10f.m4: New file.
7962         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
7963         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
7964         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
7965         * modules/log10f: New file.
7966         * tests/test-math-c++.cc: Check the declaration of log10f.
7967         * doc/posix-functions/log10f.texi: Mention the new module.
7968
7969         log10: Use a .m4 file.
7970         * m4/log10.m4: New file.
7971         * modules/log10 (Files): Add it.
7972         (configure.ac): Just invoke gl_FUNC_LOG10.
7973
7974 2011-10-08  Bruno Haible  <bruno@clisp.org>
7975
7976         Tests for module 'logf'.
7977         * modules/logf-tests: New file.
7978         * tests/test-logf.c: New file.
7979
7980         New module 'logf'.
7981         * lib/math.in.h (logf): New declaration.
7982         * lib/logf.c: New file.
7983         * m4/logf.m4: New file.
7984         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
7985         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
7986         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
7987         * modules/logf: New file.
7988         * tests/test-math-c++.cc: Check the declaration of logf.
7989         * doc/posix-functions/logf.texi: Mention the new module.
7990
7991         log: Use a .m4 file.
7992         * m4/log.m4: New file.
7993         * modules/log (Files): Add it.
7994         (configure.ac): Just invoke gl_FUNC_LOG.
7995
7996 2011-10-08  Bruno Haible  <bruno@clisp.org>
7997
7998         Tests for module 'expf'.
7999         * modules/expf-tests: New file.
8000         * tests/test-expf.c: New file.
8001
8002         New module 'expf'.
8003         * lib/math.in.h (expf): New declaration.
8004         * lib/expf.c: New file.
8005         * m4/expf.m4: New file.
8006         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
8007         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
8008         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
8009         * modules/expf: New file.
8010         * tests/test-math-c++.cc: Check the declaration of expf.
8011         * doc/posix-functions/expf.texi: Mention the new module.
8012
8013         exp: Use a .m4 file.
8014         * m4/exp.m4: New file.
8015         * modules/exp (Files): Add it.
8016         (configure.ac): Just invoke gl_FUNC_EXP.
8017
8018 2011-10-08  Bruno Haible  <bruno@clisp.org>
8019
8020         Tests for module 'sqrtf'.
8021         * modules/sqrtf-tests: New file.
8022         * tests/test-sqrtf.c: New file.
8023
8024         New module 'sqrtf'.
8025         * lib/math.in.h (sqrtf): New declaration.
8026         * lib/sqrtf.c: New file.
8027         * m4/sqrtf.m4: New file.
8028         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
8029         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
8030         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
8031         * modules/sqrtf: New file.
8032         * tests/test-math-c++.cc: Check the declaration of sqrtf.
8033         * doc/posix-functions/sqrtf.texi: Mention the new module.
8034
8035 2011-10-08  Bruno Haible  <bruno@clisp.org>
8036
8037         Tests: Avoid link failures w.r.t. libintl.
8038         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
8039         $(LIBINTL).
8040         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
8041         $(LIBINTL).
8042         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
8043         against $(LIBINTL).
8044         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
8045         $(LIBINTL).
8046         * modules/openat-tests (Makefile.am): Link test-fchmodat against
8047         $(LIBINTL).
8048         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
8049
8050 2011-10-08  Bruno Haible  <bruno@clisp.org>
8051
8052         pow tests: Defeat compiler optimizations.
8053         * tests/test-pow.c (main): Assign arguments to x and y before use.
8054
8055 2011-10-08  Bruno Haible  <bruno@clisp.org>
8056
8057         gnulib-tool: Improve last commit.
8058         * gnulib-tool (func_modules_transitive_closure): Simplify code.
8059         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
8060         ignore dependencies that are not among the modules list.
8061
8062 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
8063
8064         gnulib-tool: don't follow dependencies to avoided modules
8065         This fixes a bug that is related to the previous one.
8066         * gnulib-tool (func_modules_transitive_closure)
8067         (func_emit_autoconf_snippets):
8068         Check whether a dependency is acceptable before using it.
8069         (--extract-dependencies): Report an error if --avoid is also used,
8070         since this combination of options is not yet supported.
8071
8072         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
8073         Problem reported by Peter Dyballa in
8074         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
8075         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
8076         when echoing "$condition".
8077
8078 2011-10-07  Bruno Haible  <bruno@clisp.org>
8079
8080         Fix documentation about math functions on MacOS X.
8081         * doc/posix-functions/exp2.texi: Don't say the function is missing on
8082         MacOS X 10.5.
8083         * doc/posix-functions/fdim.texi: Likewise.
8084         * doc/posix-functions/feclearexcept.texi: Likewise.
8085         * doc/posix-functions/fegetenv.texi: Likewise.
8086         * doc/posix-functions/fegetround.texi: Likewise.
8087         * doc/posix-functions/feholdexcept.texi: Likewise.
8088         * doc/posix-functions/feraiseexcept.texi: Likewise.
8089         * doc/posix-functions/fesetenv.texi: Likewise.
8090         * doc/posix-functions/fesetround.texi: Likewise.
8091         * doc/posix-functions/fetestexcept.texi: Likewise.
8092         * doc/posix-functions/feupdateenv.texi: Likewise.
8093         * doc/posix-functions/fmax.texi: Likewise.
8094         * doc/posix-functions/fmin.texi: Likewise.
8095         * doc/posix-functions/log2.texi: Likewise.
8096         * doc/posix-functions/modff.texi: Likewise.
8097         * doc/posix-functions/nan.texi: Likewise.
8098         * doc/posix-functions/nanf.texi: Likewise.
8099         * doc/posix-functions/nextafterf.texi: Likewise.
8100         * doc/posix-functions/remquo.texi: Likewise.
8101
8102 2011-10-07  Bruno Haible  <bruno@clisp.org>
8103
8104         modff: Drop assumption about library that defines modff.
8105         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
8106         AC_CHECK_FUNCS.
8107         * modules/modff (Files): Add m4/mathfunc.m4.
8108
8109 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
8110
8111         raise tests: Avoid a GCC warning.
8112         * tests/test-raise.c (handler): Use _Noreturn.
8113
8114 2011-10-07  Bruno Haible  <bruno@clisp.org>
8115
8116         Tests for module 'ldexpf'.
8117         * modules/ldexpf-tests: New file.
8118         * tests/test-ldexpf.c: New file.
8119
8120         New module 'ldexpf'.
8121         * lib/math.in.h (ldexpf): New declaration.
8122         * lib/ldexpf.c: New file.
8123         * m4/ldexpf.m4: New file.
8124         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
8125         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
8126         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
8127         * modules/ldexpf: New file.
8128         * tests/test-math-c++.cc: Check the declaration of ldexpf.
8129         * doc/posix-functions/ldexpf.texi: Mention the new module.
8130
8131 2011-10-06  Bruno Haible  <bruno@clisp.org>
8132
8133         frexpf: Work around problems on IRIX and mingw.
8134         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
8135         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
8136         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
8137         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
8138         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
8139         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
8140         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
8141
8142 2011-10-06  Bruno Haible  <bruno@clisp.org>
8143
8144         fabsf: Drop assumption about library that defines fabsf.
8145         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
8146         AC_CHECK_FUNCS.
8147         * modules/fabsf (Files): Add m4/mathfunc.m4.
8148
8149 2011-10-06  Bruno Haible  <bruno@clisp.org>
8150
8151         frexpf: Drop assumption about library that defines frexpf.
8152         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
8153         'int *', 'float *', 'long double *', 'float', 'long double'.
8154         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
8155         AC_CHECK_FUNCS.
8156         * modules/frexpf (Files): Add m4/mathfunc.m4.
8157
8158         Tests for module 'frexpf'.
8159         * modules/frexpf-tests: New file.
8160         * tests/test-frexpf.c: New file.
8161
8162         New module 'frexpf'.
8163         * lib/math.in.h (frexpf): New declaration.
8164         * lib/frexpf.c: New file.
8165         * m4/frexpf.m4: New file.
8166         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
8167         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
8168         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
8169         * modules/frexpf: New file.
8170         * tests/test-math-c++.cc: Check the declaration of frexpf.
8171         * doc/posix-functions/frexpf.texi: Mention the new module.
8172
8173 2011-10-06  Bruno Haible  <bruno@clisp.org>
8174
8175         math: Sort function declarations of math.in.h.
8176         * lib/math.in.h (frexp, logb): Move declarations.
8177
8178 2011-10-05  Bruno Haible  <bruno@clisp.org>
8179
8180         Tests for module 'modff'.
8181         * modules/modff-tests: New file.
8182         * tests/test-modff.c: New file.
8183
8184         New module 'modff'.
8185         * lib/math.in.h (modff): New declaration.
8186         * lib/modff.c: New file.
8187         * m4/modff.m4: New file.
8188         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
8189         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
8190         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
8191         * modules/modff: New file.
8192         * tests/test-math-c++.cc: Check the declaration of modff.
8193         * doc/posix-functions/modff.texi: Mention the new module.
8194
8195         modf tests: Make test sharper.
8196         * tests/test-modf.c (main): Strengthen upper bound.
8197
8198         modf: Use a .m4 file.
8199         * m4/modf.m4: New file.
8200         * modules/modf (Files): Add it.
8201         (configure.ac): Just invoke gl_FUNC_MODF.
8202
8203 2011-10-05  Bruno Haible  <bruno@clisp.org>
8204
8205         Tests for module 'fmodf'.
8206         * modules/fmodf-tests: New file.
8207         * tests/test-fmodf.c: New file.
8208
8209         New module 'fmodf'.
8210         * lib/math.in.h (fmodf): New declaration.
8211         * lib/fmodf.c: New file.
8212         * m4/fmodf.m4: New file.
8213         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
8214         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
8215         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
8216         * modules/fmodf: New file.
8217         * tests/test-math-c++.cc: Check the declaration of fmodf.
8218         * doc/posix-functions/fmodf.texi: Mention the new module.
8219
8220         fmod: Use a .m4 file.
8221         * m4/fmod.m4: New file.
8222         * modules/fmod (Files): Add it.
8223         (configure.ac): Just invoke gl_FUNC_FMOD.
8224
8225 2011-10-05  Bruno Haible  <bruno@clisp.org>
8226
8227         Tests for module 'fabsf'.
8228         * modules/fabsf-tests: New file.
8229         * tests/test-fabsf.c: New file.
8230
8231         New module 'fabsf'.
8232         * lib/math.in.h (fabsf): New declaration.
8233         * lib/fabsf.c: New file.
8234         * m4/fabsf.m4: New file.
8235         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
8236         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
8237         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
8238         * modules/fabsf: New file.
8239         * tests/test-math-c++.cc: Check the declaration of fabsf.
8240         * doc/posix-functions/fabsf.texi: Mention the new module.
8241
8242         fabs: Use a .m4 file.
8243         * m4/fabs.m4: New file.
8244         * modules/fabs (Files): Add it.
8245         (configure.ac): Just invoke gl_FUNC_FABS.
8246
8247 2011-10-05  Jim Meyering  <meyering@redhat.com>
8248
8249         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
8250         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
8251         ls -lL regression introduced in coreutils-8.12, it does so at the
8252         cost of an additional stat call in the common case.  Besides, now
8253         that the kernel change that prompted commit 95f7c57f has been reverted
8254         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
8255         we have no use for commit 95f7c57f, "file-has-acl: use
8256         acl_extended_file_nofollow if available".
8257
8258 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
8259
8260         file-has-acl: revert unintended change in behavior of ls -L
8261         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
8262         derived from...
8263         (file_has_acl): ...code here.  Call it.
8264         This problem was introduced with 2011-07-22 commit 95f7c57f,
8265         "file-has-acl: use acl_extended_file_nofollow if available".
8266         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
8267
8268 2011-10-03  Bruno Haible  <bruno@clisp.org>
8269
8270         poll: Avoid link errors on MSVC.
8271         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
8272         * modules/poll (Depends-on): Add sockets.
8273         (Link): New section.
8274         * NEWS: Mention the change.
8275         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
8276         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
8277         $(LIB_POLL) instead of $(LIBSOCKET).
8278
8279 2011-10-03  Bruno Haible  <bruno@clisp.org>
8280
8281         sys_select tests: Fix link error on MSVC 9.
8282         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
8283         with $(LIB_SELECT) instead of $(LIBSOCKET).
8284
8285 2011-10-03  Bruno Haible  <bruno@clisp.org>
8286
8287         sys_select: Fix compilation error on mingw.
8288         * lib/sys_select.in.h: On native Windows, include <io.h>.
8289
8290 2011-10-03  Bruno Haible  <bruno@clisp.org>
8291
8292         wmemset: Support for MSVC.
8293         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
8294         whether wmemset() exists.
8295
8296 2011-10-03  Bruno Haible  <bruno@clisp.org>
8297
8298         wmemmove: Support for MSVC.
8299         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
8300         whether wmemmove() exists.
8301
8302 2011-10-03  Bruno Haible  <bruno@clisp.org>
8303
8304         wmemcpy: Support for MSVC.
8305         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
8306         whether wmemcpy() exists.
8307
8308 2011-10-03  Bruno Haible  <bruno@clisp.org>
8309
8310         wmemcmp: Support for MSVC.
8311         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
8312         whether wmemcmp() exists.
8313
8314 2011-10-03  Bruno Haible  <bruno@clisp.org>
8315
8316         wmemchr: Support for MSVC.
8317         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
8318         whether wmemchr() exists.
8319
8320 2011-10-03  Bruno Haible  <bruno@clisp.org>
8321
8322         glthread/*, strsignal: Support for MSVC.
8323         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
8324         including <winsock.h> on MSVC 9.
8325         * lib/glthread/lock.h: Likewise.
8326         * lib/glthread/thread.h: Likewise.
8327         * lib/glthread/tls.h: Likewise.
8328         * lib/glthread/yield.h: Likewise.
8329         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
8330         if HAVE_UNISTD_H is false.
8331         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
8332
8333 2011-10-03  Bruno Haible  <bruno@clisp.org>
8334
8335         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
8336         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
8337         Set to 100000.
8338
8339 2011-10-03  Bruno Haible  <bruno@clisp.org>
8340
8341         acl: Fix specification.
8342         * lib/file-has-acl.c (file_has_acl): Fix specification.
8343
8344 2011-10-03  Bruno Haible  <bruno@clisp.org>
8345
8346         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
8347         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
8348         (compute_curr_prefix, shared_library_fullname,
8349         find_shared_library_fullname, get_shared_library_fullname, relocate):
8350         Use it together with PIC && INSTALLDIR.
8351         Reported by <jojelino@gmail.com>
8352         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
8353
8354 2011-10-01  Jim Meyering  <meyering@redhat.com>
8355
8356         maint.mk: adjust a release-related rule not to require use of gzip
8357         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
8358         Instead, check each file in $(DIST_ARCHIVES).  This is better for
8359         projects that build only .tar.xz files.  Also fix an erroneous test.
8360
8361         test-linkat: don't leave behind a temporary file
8362         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
8363         Otherwise, coreutils' "make distcheck" would fail with this:
8364           Only in /c/cu/tests/torture/coreutils/test/\
8365             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
8366           make[2]: *** [my-distcheck] Error 1
8367
8368         float, math: add omitted file
8369         * lib/itold.c: Add file, required for yesterday's float change.
8370
8371 2011-10-01  Bruno Haible  <bruno@clisp.org>
8372
8373         isinf: Fix for OpenBSD/x86.
8374         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
8375         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
8376         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
8377
8378 2011-10-01  Bruno Haible  <bruno@clisp.org>
8379
8380         isfinite: Fix syntax error in configure test.
8381         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
8382
8383         isfinite: Fix typo.
8384         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
8385         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
8386
8387 2011-10-01  Bruno Haible  <bruno@clisp.org>
8388
8389         nonblocking tests: Fix test failure on Linux/IA-64.
8390         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
8391         Set to 270000.
8392
8393 2011-10-01  Bruno Haible  <bruno@clisp.org>
8394
8395         mkfifoat tests: Fix a test failure on mingw.
8396         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
8397         with error ENOSYS.
8398
8399 2011-09-30  Bruno Haible  <bruno@clisp.org>
8400
8401         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
8402         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
8403         'long double'. Set REPLACE_ITOLD.
8404         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
8405         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
8406         * lib/itold.c: New file.
8407         * modules/float (Files): Add lib/itold.c.
8408         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
8409         (Makefile.am): Substitute REPLACE_ITOLD.
8410         * modules/math (Depends-on): Add float.
8411         (Makefile.am): Substitute REPLACE_ITOLD.
8412         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
8413         * doc/posix-headers/math.texi: Likewise.
8414         * doc/posix-functions/logl.texi: Likewise.
8415
8416 2011-09-30  Bruno Haible  <bruno@clisp.org>
8417
8418         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
8419         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
8420         Set to 140000.
8421
8422 2011-09-30  Bruno Haible  <bruno@clisp.org>
8423
8424         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
8425         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
8426         invocation, say "right after AC_PROG_CC_STDC", not "right after
8427         AC_PROG_CC".
8428         Reported by Gary V. Vaughan <gary@gnu.org>.
8429
8430 2011-09-30  Bruno Haible  <bruno@clisp.org>
8431
8432         Centralize C99 requirement.
8433         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
8434         * modules/stdarg (configure.ac-early): Invoke it instead of
8435         AC_PROG_CC_STDC.
8436         Reported by Gary V. Vaughan and Paul Eggert.
8437
8438 2011-09-29  Bruno Haible  <bruno@clisp.org>
8439
8440         float: Fix LDBL_MAX value on Linux/PowerPC.
8441         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
8442         on Linux/PowerPC.
8443         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
8444         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
8445         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
8446         platform.
8447         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
8448
8449 2011-09-29  Bruno Haible  <bruno@clisp.org>
8450
8451         doc: Improve doc about gl_EARLY.
8452         * doc/gnulib-tool.texi (Initial import): Mention where to place an
8453         AC_PROG_CC_STDC invocation.
8454         Reported by Gary V. Vaughan <gary@gnu.org>.
8455
8456 2011-09-28  Bruno Haible  <bruno@clisp.org>
8457
8458         fgetc, fputc, fread, fwrite tests: Fix link error.
8459         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
8460         on non-MSVC platforms.
8461         * tests/test-fputc.c (main): Likewise.
8462         * tests/test-fread.c (main): Likewise.
8463         * tests/test-fwrite.c (main): Likewise.
8464         Reported by Jim Meyering.
8465
8466 2011-09-27  Bruno Haible  <bruno@clisp.org>
8467
8468         fputc, fwrite tests: Avoid test failure on MSVC.
8469         * tests/test-fgetc.c: Include msvc-inval.h.
8470         (main): Invoke gl_msvc_inval_ensure_handler.
8471         * tests/test-fputc.c: Include msvc-inval.h.
8472         (main): Invoke gl_msvc_inval_ensure_handler.
8473         * tests/test-fread.c: Include msvc-inval.h.
8474         (main): Invoke gl_msvc_inval_ensure_handler.
8475         * tests/test-fwrite.c: Include msvc-inval.h.
8476         (main): Invoke gl_msvc_inval_ensure_handler.
8477         * modules/fgetc-tests (Depends-on): Add msvc-inval.
8478         * modules/fputc-tests (Depends-on): Likewise.
8479         * modules/fread-tests (Depends-on): Likewise.
8480         * modules/fwrite-tests (Depends-on): Likewise.
8481
8482 2011-09-27  Bruno Haible  <bruno@clisp.org>
8483
8484         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
8485         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
8486         (raise): Remove older, duplicated declaration.
8487         (_gl_raise_SIGPIPE): New declaration.
8488         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
8489         (rpl_raise): Remove function.
8490         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
8491         a gnulib-defined SIGPIPE here.
8492         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
8493         'sigprocmask' has detected missing signal-blocking and the module
8494         'sigpipe' is enabled.
8495         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8496
8497 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
8498
8499         base64-tests: avoid memory leak
8500         * tests/test-base64.c (main): Plug memory leak.
8501
8502         base32: new module
8503         * modules/base32: New module.
8504         * lib/base32.c: New file.
8505         * lib/base32.h: Likewise.
8506         * m4/base32.m4: Likewise.
8507         * modules/base32-tests: New test.
8508         * tests/test-base32.c: Likewise.
8509         * MODULES.html.sh (Misc): Mention it.
8510
8511 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
8512
8513         gnulib: use more-standard license notice wording
8514         * gnulib-tool (func_emit_copyright_notice): When emitting a
8515         license notice into a file, use the standard wording as suggested
8516         by the current information for GNU maintainers, except say "file"
8517         rather than "program".  The new wording gives a license version
8518         number, which addresses an issue raised by Glenn Morris in
8519         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
8520         * m4/onceonly.m4: Use that same wording here, too.
8521
8522         dup2: minor simplification
8523         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
8524         as lib/dup2.c no longer uses 'inline'.
8525
8526 2011-09-25  Bruno Haible  <bruno@clisp.org>
8527
8528         strings: Fix compilation error on MSVC.
8529         * lib/strings.in.h: Include <stddef.h> for size_t.
8530
8531 2011-09-25  Bruno Haible  <bruno@clisp.org>
8532
8533         fflush et al.: Document limitation on MSVC.
8534         * doc/posix-functions/fflush.texi: Document possible crash in handling
8535         mode other than DEFAULT_HANDLING.
8536         * doc/posix-functions/fgetc.texi: Likewise.
8537         * doc/posix-functions/fputc.texi: Likewise.
8538         * doc/posix-functions/fread.texi: Likewise.
8539         * doc/posix-functions/fwrite.texi: Likewise.
8540
8541 2011-09-25  Bruno Haible  <bruno@clisp.org>
8542
8543         msvc-inval: Allow three invalid parameter handling modes.
8544         * lib/msvc-inval.h: Don't include <stdlib.h> here.
8545         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
8546         macros.
8547         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
8548         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
8549         SANE_LIBRARY_HANDLING as a no-op.
8550         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
8551         <stdlib.h>.
8552         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
8553
8554 2011-09-25  Bruno Haible  <bruno@clisp.org>
8555
8556         msvc-inval: Make handler multithread-safe.
8557         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
8558         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
8559         declarations.
8560         (gl_msvc_inval_current): New declaration.
8561         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
8562         Operate on the structure returned by gl_msvc_inval_current().
8563         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
8564         Remove varaiables.
8565         (tls_index, tls_initialized): New variables.
8566         (not_per_thread): New variable.
8567         (gl_msvc_inval_current): New function.
8568         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
8569         returned by gl_msvc_inval_current().
8570
8571 2011-09-25  Bruno Haible  <bruno@clisp.org>
8572
8573         msvc-inval: Install handler globally.
8574         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
8575         !_MSC_VER.
8576         (gl_msvc_invalid_parameter_handler): Remove declaration.
8577         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
8578         declarations.
8579         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
8580         Install the handler globally, don't uninstall it.
8581         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
8582         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
8583         currently valid, call RaiseException instead.
8584         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
8585         for !_MSC_VER.
8586
8587 2011-09-25  Bruno Haible  <bruno@clisp.org>
8588
8589         strerror_r-posix: Fix for MSVC 9.
8590         * lib/strerror_r.c (local_snprintf): New function.
8591         (snprintf): Define to local_snprintf, not to _snprintf.
8592
8593 2011-09-25  Bruno Haible  <bruno@clisp.org>
8594
8595         ftruncate: Support for MSVC 9.
8596         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
8597         (chsize_nothrow): New function.
8598         (chsize): Redefine as a macro.
8599         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
8600         * modules/ftruncate (Depends-on): Add msvc-inval.
8601
8602 2011-09-25  Bruno Haible  <bruno@clisp.org>
8603
8604         New module 'fstat'.
8605         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
8606         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
8607         * lib/fchdir.c (rpl_fstat): Remove function.
8608         * m4/fstat.m4: New file.
8609         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
8610         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
8611         declared.
8612         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
8613         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
8614         * modules/fstat: New file.
8615         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
8616         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
8617         is set.
8618         * doc/posix-functions/fstat.texi: Mention the new module and the
8619         problem on MSVC.
8620         * NEWS: Mention the change.
8621         * modules/acl (Depends-on): Add fstat.
8622         * modules/chdir-safer (Depends-on): Likewise.
8623         * modules/chown (Depends-on): Likewise.
8624         * modules/copy-file (Depends-on): Likewise.
8625         * modules/fchdir (Depends-on): Likewise.
8626         * modules/fdopendir (Depends-on): Likewise.
8627         * modules/fopen (Depends-on): Likewise.
8628         * modules/fts (Depends-on): Likewise.
8629         * modules/getcwd (Depends-on): Likewise.
8630         * modules/isapipe (Depends-on): Likewise.
8631         * modules/linkat (Depends-on): Likewise.
8632         * modules/lseek (Depends-on): Likewise.
8633         * modules/mkdir-p (Depends-on): Likewise.
8634         * modules/open (Depends-on): Likewise.
8635         * modules/openat (Depends-on): Likewise.
8636         * modules/read-file (Depends-on): Likewise.
8637         * modules/renameat (Depends-on): Likewise.
8638         * modules/utimens (Depends-on): Likewise.
8639
8640 2011-09-25  Bruno Haible  <bruno@clisp.org>
8641
8642         linkat: Fix compilation on MSVC 9.
8643         * lib/linkat.c: Don't include <stdint.h>.
8644
8645 2011-09-25  Bruno Haible  <bruno@clisp.org>
8646
8647         fclose: Support for MSVC 9.
8648         * lib/fclose.c: Include msvc-inval.h.
8649         (fclose_nothrow): New function.
8650         (rpl_fclose): Use it.
8651         * modules/fclose (Depends-on): Add msvc-inval.
8652         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
8653
8654 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
8655
8656         dup2: minor simplifications
8657         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
8658         that it's a performance win.
8659         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
8660         ! defined __CYGWIN__)" to "ifdef F_GETFL".
8661
8662 2011-09-24  Jim Meyering  <meyering@redhat.com>
8663
8664         test-futimens: avoid a warning from gcc -Wshadow
8665         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
8666         to avoid a shadowing warning.
8667
8668 2011-09-24  Bruno Haible  <bruno@clisp.org>
8669
8670         fdopen: Support for MSVC 9.
8671         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
8672         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
8673         * lib/fdopen.c: Include msvc-inval.h.
8674         (fdopen_nothrow): New function.
8675         (rpl_fdopen): Use it.
8676         * modules/fdopen (Depends-on): Add msvc-inval.
8677         * modules/fclose-tests (Depends-on): Add fdopen.
8678         * modules/fflush-tests (Depends-on): Likewise.
8679         * modules/fgetc-tests (Depends-on): Likewise.
8680         * modules/fputc-tests (Depends-on): Likewise.
8681         * modules/fread-tests (Depends-on): Likewise.
8682         * modules/freopen-tests (Depends-on): Likewise.
8683         * modules/fseeko-tests (Depends-on): Likewise.
8684         * modules/ftello-tests (Depends-on): Likewise.
8685         * modules/fwrite-tests  (Depends-on): Likewise.
8686         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
8687
8688 2011-09-24  Bruno Haible  <bruno@clisp.org>
8689
8690         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
8691         * modules/fgetc-tests (Depends-on): Add unistd.
8692         * modules/fputc-tests (Depends-on): Likewise.
8693         * modules/fread-tests (Depends-on): Likewise.
8694         * modules/fwrite-tests (Depends-on): Likewise.
8695
8696 2011-09-24  Bruno Haible  <bruno@clisp.org>
8697
8698         dup: Simplify autoconf test.
8699         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
8700         on gl_MSVC_INVAL's result.
8701
8702 2011-09-24  Bruno Haible  <bruno@clisp.org>
8703
8704         Tests for function fwrite().
8705         * modules/fwrite-tests: New file.
8706         * tests/test-fwrite.c: New file.
8707         * modules/stdio-tests (Depends-on): Add fwrite-tests.
8708
8709         Tests for function fread().
8710         * modules/fread-tests: New file.
8711         * tests/test-fread.c: New file.
8712         * modules/stdio-tests (Depends-on): Add fread-tests.
8713
8714         Activate fputc tests.
8715         * modules/stdio-tests (Depends-on): Add fputc-tests.
8716
8717         Enhance fgetc, fputc tests.
8718         * tests/test-fgetc.c (main): Also test the stream's error indicator.
8719         * tests/test-fputc.c (main): Likewise.
8720
8721 2011-09-24  Bruno Haible  <bruno@clisp.org>
8722
8723         write: Support for MSVC 9.
8724         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8725         is not 1.
8726         * lib/write.c (write_nothrow): New function.
8727         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
8728         not 1. Use write_nothrow.
8729         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
8730         invalid parameter handler.
8731         (gl_PREREQ_WRITE): New macro.
8732         * modules/write (Depends-on): Add msvc-inval.
8733         (configure.ac): Invoke gl_PREREQ_WRITE.
8734         * doc/posix-functions/write.texi: Mention the problem on MSVC.
8735
8736 2011-09-24  Bruno Haible  <bruno@clisp.org>
8737
8738         read: Fix last commit.
8739         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
8740
8741 2011-09-24  Bruno Haible  <bruno@clisp.org>
8742
8743         dup2: Fix last commit.
8744         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
8745         (rpl_dup2): Disable fcntl workaround on native Windows.
8746
8747         sigprocmask: Make code safer.
8748         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
8749         section that changes macro definitions for this compilation unit.
8750
8751 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8752
8753         dup2: clarify by coalescing Windows-specific material
8754         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
8755         "msvc-nothrow.h"' to the Windows-specific section, so that the
8756         Emacs source need not contain these include files.
8757         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
8758         Windows-specific fixes into this function rather than just the
8759         nothrow fix, as this shortens and clarifies the code.  Always
8760         define as a function, as that's a bit cleaner than having it be
8761         sometimes a function and sometimes a macro.
8762         (rpl_dup2): Move the Windows-specific stuff out of here and into
8763         ms_windows_dup2.  Don't protect the Haiku-related fix with
8764         "#if !defined __linux__", as the same code also works around
8765         a Linux kernel bug, and it doesn't add any system calls on any
8766         platform.  Add comment about FreeBSD 6.1.
8767
8768         sigprocmask: move #include directive
8769         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
8770         Windows-specific section, so that the Emacs source need not
8771         contain msvc-inval.h.
8772
8773 2011-09-23  Bruno Haible  <bruno@clisp.org>
8774
8775         read: Support for MSVC 9.
8776         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8777         is not 1.
8778         * lib/read.c (read_nothrow): New function.
8779         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
8780         read_nothrow.
8781         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
8782         invalid parameter handler.
8783         (gl_PREREQ_READ): New macro.
8784         * modules/read (Depends-on): Add msvc-inval.
8785         (configure.ac): Invoke gl_PREREQ_READ.
8786         * doc/posix-functions/read.texi: Mention the problem on MSVC.
8787
8788 2011-09-23  Bruno Haible  <bruno@clisp.org>
8789
8790         close: Support for MSVC 9.
8791         * lib/close.c: Include <errno.h>, msvc-inval.h.
8792         (close_nothrow): New function.
8793         (rpl_close): Use it.
8794         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
8795         invalid parameter handler.
8796         * modules/close (Depends-on): Add msvc-inval.
8797         * modules/dup2-tests (Depends-on): Add close.
8798         * modules/dup3-tests (Depends-on): Likewise.
8799         * modules/fcntl-tests (Depends-on): Likewise.
8800         * modules/spawn-pipe-tests (Depends-on): Likewise.
8801         * modules/unistd-safer-tests (Depends-on): Likewise.
8802         * doc/posix-functions/close.texi: Mention the problem on MSVC.
8803
8804 2011-09-23  Bruno Haible  <bruno@clisp.org>
8805
8806         New module 'dup'.
8807         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
8808         Allow replacement.
8809         * lib/dup.c: New file.
8810         * lib/fchdir.c (rpl_dup): Remove function.
8811         * m4/dup.m4: New file.
8812         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
8813         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
8814         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
8815         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
8816         * modules/dup: New file.
8817         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
8818         'dup' module is in use.
8819         * modules/fdopendir (Depends-on): Add dup.
8820         * modules/fdutimensat-tests (Depends-on): Likewise.
8821         * modules/fts (Depends-on): Likewise.
8822         * modules/futimens-tests (Depends-on): Likewise.
8823         * modules/posix_spawnp-tests (Depends-on): Likewise.
8824         * modules/unistd-safer-tests (Depends-on): Likewise.
8825         * modules/utimens-tests (Depends-on): Likewise.
8826         * doc/posix-functions/dup.texi: Mention the new module and the problem
8827         on MSVC.
8828
8829 2011-09-23  Bruno Haible  <bruno@clisp.org>
8830
8831         getdtablesize: Support for MSVC 9.
8832         * lib/getdtablesize.c: Include msvc-inval.h.
8833         (_setmaxstdio_nothrow): New function.
8834         (_setmaxstdio): Redefine it.
8835         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
8836         * modules/getdtablesize (Depends-on): Add msvc-inval.
8837         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
8838
8839 2011-09-23  Bruno Haible  <bruno@clisp.org>
8840
8841         signal-h: Rename from signal.
8842         * modules/signal-h: Renamed from modules/signal.
8843         * modules/pthread_sigmask (Depends-on): Update.
8844         * modules/raise (Depends-on): Likewise.
8845         * modules/sigaction (Depends-on): Likewise.
8846         * modules/sigpipe (Depends-on): Likewise.
8847         * modules/sigprocmask (Depends-on): Likewise.
8848         * modules/sys_select (Depends-on): Likewise.
8849         * modules/signal-h-tests: Renamed from modules/signal-tests.
8850         (Files, Depends-on, Makefile.am): Update.
8851         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
8852         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
8853         (Files, Makefile.am): Update.
8854         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
8855         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
8856         * modules/signal: New placeholder file.
8857         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
8858         * doc/posix-headers/signal.texi: Update.
8859         * NEWS: Mention the change.
8860
8861 2011-09-23  Bruno Haible  <bruno@clisp.org>
8862
8863         sigprocmask: Avoid crashes through signal() on MSVC 9.
8864         * lib/sigprocmask.c: Include msvc-inval.h.
8865         (signal_nothrow): New function.
8866         (signal): Redefine it.
8867         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
8868         * modules/sigprocmask (Depends-on): Add msvc-inval.
8869         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
8870
8871 2011-09-23  Bruno Haible  <bruno@clisp.org>
8872
8873         Tests for module 'raise'.
8874         * modules/raise-tests: New file.
8875         * tests/test-raise.c: New file.
8876
8877         raise: Support for MSVC.
8878         * lib/signal.in.h (raise): New declaration.
8879         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
8880         for native Windows platforms.
8881         * m4/raise.m4: New file.
8882         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
8883         HAVE_RAISE, REPLACE_RAISE.
8884         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
8885         REPLACE_RAISE.
8886         * modules/raise (Status, Notice): Remove fields.
8887         (Files): Add m4/raise.m4.
8888         (Depends-on): Add signal, msvc-inval.
8889         (configure.ac): Use the common idioms.
8890         (Maintainer): Add me.
8891         * tests/test-signal-c++.cc: Check the signature of raise.
8892         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
8893
8894 2011-09-23  Bruno Haible  <bruno@clisp.org>
8895
8896         pipe2: Fix compilation on pre-C99 compilers.
8897         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
8898
8899 2011-09-23  Bruno Haible  <bruno@clisp.org>
8900
8901         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
8902         * lib/msvc-nothrow.h: New file.
8903         * lib/msvc-nothrow.c: New file.
8904         * m4/msvc-nothrow.m4: New file.
8905         * modules/msvc-nothrow: New file.
8906         * lib/dup2.c: Include msvc-nothrow.h.
8907         (rpl_dup2): No need to protect _get_osfhandle call here.
8908         * lib/accept4.c: Include msvc-nothrow.h.
8909         * lib/error.c: Likewise.
8910         * lib/fcntl.c: Likewise.
8911         * lib/lseek.c: Likewise.
8912         * lib/nonblocking.c: Likewise.
8913         * lib/poll.c: Likewise.
8914         * lib/read.c: Likewise.
8915         * lib/select.c: Likewise.
8916         * lib/sockets.h: Likewise.
8917         * lib/sockets.c: Likewise.
8918         * lib/stdio-read.c: Likewise.
8919         * lib/stdio-write.c: Likewise.
8920         * lib/write.c: Likewise.
8921         * lib/w32sock.h: Likewise.
8922         * lib/w32spawn.h: Likewise.
8923         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
8924         * lib/fsync.c: Likewise.
8925         * lib/isapipe.c: Likewise.
8926         * modules/dup2 (Depends-on): Add msvc-nothrow.
8927         * modules/accept4 (Depends-on): Likewise.
8928         * modules/error (Depends-on): Likewise.
8929         * modules/fcntl (Depends-on): Likewise.
8930         * modules/lseek (Depends-on): Likewise.
8931         * modules/nonblocking (Depends-on): Likewise.
8932         * modules/poll (Depends-on): Likewise.
8933         * modules/read (Depends-on): Likewise.
8934         * modules/select (Depends-on): Likewise.
8935         * modules/sockets (Depends-on): Likewise.
8936         * modules/sigpipe (Depends-on): Likewise.
8937         * modules/write (Depends-on): Likewise.
8938         * modules/accept (Depends-on): Likewise.
8939         * modules/bind (Depends-on): Likewise.
8940         * modules/connect (Depends-on): Likewise.
8941         * modules/gethostname (Depends-on): Likewise.
8942         * modules/getpeername (Depends-on): Likewise.
8943         * modules/getsockname (Depends-on): Likewise.
8944         * modules/getsockopt (Depends-on): Likewise.
8945         * modules/ioctl (Depends-on): Likewise.
8946         * modules/listen (Depends-on): Likewise.
8947         * modules/recv (Depends-on): Likewise.
8948         * modules/recvfrom (Depends-on): Likewise.
8949         * modules/send (Depends-on): Likewise.
8950         * modules/sendto (Depends-on): Likewise.
8951         * modules/setsockopt (Depends-on): Likewise.
8952         * modules/shutdown (Depends-on): Likewise.
8953         * modules/socket (Depends-on): Likewise.
8954         * modules/execute (Depends-on): Likewise.
8955         * modules/spawn-pipe (Depends-on): Likewise.
8956         * modules/flock (Depends-on): Likewise.
8957         * modules/fsync (Depends-on): Likewise.
8958         * modules/isapipe (Depends-on): Likewise.
8959         * tests/test-cloexec.c: Include msvc-nothrow.h.
8960         * tests/test-dup-safer.c: Likewise.
8961         * tests/test-dup2.c: Likewise.
8962         * tests/test-dup3.c: Likewise.
8963         * tests/test-fcntl.c: Likewise.
8964         * tests/test-pipe.c: Likewise.
8965         * tests/test-pipe2.c: Likewise.
8966         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
8967         * modules/unistd-safer-tests (Depends-on): Likewise.
8968         * modules/dup2-tests (Depends-on): Likewise.
8969         * modules/dup3-tests (Depends-on): Likewise.
8970         * modules/fcntl-tests (Depends-on): Likewise.
8971         * modules/pipe-posix-tests (Depends-on): Likewise.
8972         * modules/pipe2-tests (Depends-on): Likewise.
8973
8974 2011-09-23  Bruno Haible  <bruno@clisp.org>
8975
8976         dup2: Make code more maintainable.
8977         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
8978         (rpl_dup2): Use it.
8979         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
8980         * modules/dup2 (configure.ac): Invoke it.
8981         Reported by Paul Eggert.
8982
8983 2011-09-23  Bruno Haible  <bruno@clisp.org>
8984
8985         msvc-inval: Fix compilation error.
8986         * lib/msvc-inval.h: Include <excpt.h>.
8987
8988 2011-09-23  Bruno Haible  <bruno@clisp.org>
8989
8990         mkdir: Tweak for MSVC 9.
8991         * lib/sys_stat.in.h: Update comments.
8992         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
8993
8994         Tests for module 'chdir'.
8995         * modules/chdir-tests: New file.
8996         * tests/test-chdir.c: New file.
8997
8998         New module 'chdir'.
8999         * modules/chdir: New file.
9000         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
9001         (chdir): New declaration.
9002         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
9003         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
9004         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
9005         * tests/test-unistd-c++.cc: Check signature of chdir.
9006         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
9007         * modules/chdir-long (Depends-on): Add chdir.
9008         * modules/fchdir (Depends-on): Likewise.
9009         * modules/rename (Depends-on): Likewise.
9010         * modules/savewd (Depends-on): Likewise.
9011
9012         rmdir: Support for mingw, MSVC 9.
9013         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
9014         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
9015
9016         getcwd: Tweak for MSVC 9.
9017         * lib/unistd.in.h: Update comments.
9018         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
9019
9020 2011-09-22  Bruno Haible  <bruno@clisp.org>
9021
9022         strerror_r-posix: Avoid a link error on MSVC.
9023         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
9024         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
9025
9026 2011-09-22  Bruno Haible  <bruno@clisp.org>
9027
9028         select: Avoid link errors on MSVC.
9029         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
9030         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
9031         * modules/pselect (Link): Likewise.
9032         * NEWS: Mention the change.
9033         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
9034         test-select-stdin against $(LIB_SELECT).
9035         * modules/pselect-tests (Makefile.am): Link test-pselect against
9036         $(LIB_SELECT).
9037
9038 2011-09-22  Bruno Haible  <bruno@clisp.org>
9039
9040         select: Avoid compilation error on MSVC.
9041         * lib/select.c: Don't include <stdbool.h>.
9042
9043 2011-09-21  Bruno Haible  <bruno@clisp.org>
9044
9045         Consolidate all uses of PATH_MAX in *.m4 files.
9046         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
9047         macros.
9048         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
9049         and gl_PATHMAX_SNIPPET.
9050         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9051         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9052         * modules/chdir-long (Files): Add m4/pathmax.m4.
9053         * modules/getcwd (Files): Likewise.
9054
9055 2011-09-21  Bruno Haible  <bruno@clisp.org>
9056
9057         ftruncate: Un-deprecate, concentrate on Win32 support.
9058         * modules/ftruncate (Status, Notice): Remove sections.
9059         (Depends-on): Add largefile.
9060         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
9061         non-mingw platforms.
9062         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
9063         include <io.h>.
9064         * modules/perror-tests (Depends-on): Add ftruncate.
9065         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
9066         'ftruncate' module.
9067
9068 2011-09-21  Bruno Haible  <bruno@clisp.org>
9069
9070         Add dependencies to new dirent related modules.
9071         * modules/opendir (Depends-on): Add closedir.
9072         * modules/getcwd (Depends-on): Add opendir, closedir.
9073         * modules/dirent-safer-tests (Depends-on): Likewise.
9074         * modules/fdopendir-tests (Depends-on): Likewise.
9075         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
9076         * modules/renameat-tests (Depends-on): Likewise.
9077
9078 2011-09-21  Bruno Haible  <bruno@clisp.org>
9079
9080         opendir: Avoid compilation error on mingw.
9081         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
9082         * modules/opendir (Depends-on): Add unistd.
9083
9084 2011-09-21  Bruno Haible  <bruno@clisp.org>
9085
9086         ftruncate tests: Avoid a test failure on mingw.
9087         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
9088
9089 2011-09-21  Bruno Haible  <bruno@clisp.org>
9090
9091         select tests: Avoid test failures on OSF/1 5.1 and mingw.
9092         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
9093         native Windows.
9094
9095 2011-09-21  Bruno Haible  <bruno@clisp.org>
9096
9097         New module 'fdopen'.
9098         * lib/stdio.in.h (fdopen): New declaration.
9099         * lib/fdopen.c: New file.
9100         * m4/fdopen.m4: New file.
9101         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
9102         REPLACE_FDOPEN.
9103         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
9104         REPLACE_FDOPEN.
9105         * modules/fdopen: New file.
9106         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
9107         * tests/test-stdio-c++.cc: Check signature of fdopen.
9108         * doc/posix-functions/fdopen.texi: Mention the new module.
9109
9110 2011-09-21  Bruno Haible  <bruno@clisp.org>
9111
9112         unlockpt tests: Avoid test failure on NetBSD 5.1.
9113         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
9114         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
9115
9116 2011-09-21  Bruno Haible  <bruno@clisp.org>
9117
9118         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
9119         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
9120         * tests/test-getlogin_r.c (main): Likewise.
9121
9122 2011-09-20  Bruno Haible  <bruno@clisp.org>
9123
9124         time tests: Don't require pid_t.
9125         * doc/posix-headers/time.texi: Revert last change.
9126         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
9127         * tests/test-time.c: Comment out the check for pid_t.
9128
9129 2011-09-20  Bruno Haible  <bruno@clisp.org>
9130
9131         fsync tests: Avoid a test failure on mingw.
9132         * tests/test-fsync.c (main): Allow a failure with EIO.
9133
9134 2011-09-20  Bruno Haible  <bruno@clisp.org>
9135
9136         euidaccess: Update comments.
9137         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
9138
9139 2011-09-20  Bruno Haible  <bruno@clisp.org>
9140
9141         Ensure EBADF returns for socket functions on mingw.
9142         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
9143         descriptor is invalid.
9144         * lib/bind.c (rpl_bind): Likewise.
9145         * lib/connect.c (rpl_connect): Likewise.
9146         * lib/getpeername.c (rpl_getpeername): Likewise.
9147         * lib/getsockname.c (rpl_getsockname): Likewise.
9148         * lib/getsockopt.c (rpl_getsockopt): Likewise.
9149         * lib/listen.c (rpl_listen): Likewise.
9150         * lib/recv.c (rpl_recv): Likewise.
9151         * lib/recvfrom.c (rpl_recvfrom): Likewise.
9152         * lib/send.c (rpl_send): Likewise.
9153         * lib/sendto.c (rpl_sendto): Likewise.
9154         * lib/setsockopt.c (rpl_setsockopt): Likewise.
9155         * lib/shutdown.c (rpl_shutdown): Likewise.
9156
9157 2011-09-20  Bruno Haible  <bruno@clisp.org>
9158
9159         select tests: EBADF tests.
9160         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
9161         test_bad_fd): New functions.
9162         (test_function): Invoke also test_bad_fd.
9163
9164 2011-09-20  Bruno Haible  <bruno@clisp.org>
9165
9166         Tests for module 'posix_spawn_file_actions_addopen.
9167         * modules/posix_spawn_file_actions_addopen-tests: New file.
9168         * tests/test-posix_spawn_file_actions_addopen.c: New file.
9169
9170         Tests for module 'posix_spawn_file_actions_adddup2'.
9171         * modules/posix_spawn_file_actions_adddup2-tests: New file.
9172         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
9173
9174         Tests for module 'posix_spawn_file_actions_addclose'.
9175         * modules/posix_spawn_file_actions_addclose-tests: New file.
9176         * tests/test-posix_spawn_file_actions_addclose.c: New file.
9177
9178 2011-09-20  Bruno Haible  <bruno@clisp.org>
9179
9180         Tests for module 'unlockpt'.
9181         * modules/unlockpt-tests: New file.
9182         * tests/test-unlockpt.c: New file.
9183         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
9184
9185         Tests for module 'grantpt'.
9186         * modules/grantpt-tests: New file.
9187         * tests/test-grantpt.c: New file.
9188         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
9189
9190 2011-09-20  Bruno Haible  <bruno@clisp.org>
9191
9192         freopen tests: EBADF tests.
9193         * tests/test-freopen.c: Include errno.h, unistd.h.
9194         (main): Add tests for EBADF, commented out for the moment.
9195
9196         fclose tests: EBADF tests.
9197         * tests/test-fclose.c (main): Add tests for EBADF.
9198
9199         fflush tests: EBADF tests.
9200         * tests/test-fflush.c: Include errno.h, macros.h.
9201         (main): Add tests for EBADF.
9202
9203         ftello tests: EBADF tests.
9204         * tests/test-ftello4.sh: New file.
9205         * tests/test-ftello4.c: New file.
9206         * modules/ftello-tests (Files): Add them.
9207         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
9208
9209         fseeko tests: EBADF tests.
9210         * tests/test-fseeko4.sh: New file.
9211         * tests/test-fseeko4.c: New file.
9212         * modules/fseeko-tests (Files): Add them.
9213         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
9214
9215         Tests for function fputc().
9216         * modules/fputc-tests: New file.
9217         * tests/test-fputc.c: New file.
9218         * modules/stdio-tests (Depends-on): Add fputc-tests.
9219
9220         Tests for function fgetc().
9221         * modules/fgetc-tests: New file.
9222         * tests/test-fgetc.c: New file.
9223         * modules/stdio-tests (Depends-on): Add fgetc-tests.
9224
9225         Tests for function fdopen().
9226         * modules/fdopen-tests: New file.
9227         * tests/test-fdopen.c: New file.
9228         * modules/stdio-tests (Depends-on): Add fdopen-tests.
9229
9230         Tests for module 'vdprintf'.
9231         * modules/vdprintf-tests: New file.
9232         * tests/test-vdprintf.c: New file.
9233
9234         Tests for module 'dprintf'.
9235         * modules/dprintf-tests: New file.
9236         * tests/test-dprintf.c: New file.
9237
9238 2011-09-20  Bruno Haible  <bruno@clisp.org>
9239
9240         Tests for module 'ioctl'.
9241         * modules/ioctl-tests: New file.
9242         * tests/test-ioctl.c: New file.
9243
9244 2011-09-20  Bruno Haible  <bruno@clisp.org>
9245
9246         fcntl tests: EBADF tests.
9247         * tests/test-fcntl.c (main): Add more tests for EBADF.
9248
9249 2011-09-20  Bruno Haible  <bruno@clisp.org>
9250
9251         utimensat tests: EBADF tests.
9252         * tests/test-utimensat.c (main): Add tests for EBADF.
9253
9254         renameat tests: EBADF tests.
9255         * tests/test-renameat.c (main): Add tests for EBADF.
9256
9257         mkfifoat tests: EBADF tests.
9258         * tests/test-mkfifoat.c (main): Add tests for EBADF.
9259
9260         readlinkat tests: EBADF tests.
9261         * tests/test-readlinkat.c (main): Add tests for EBADF.
9262
9263         symlinkat tests: EBADF tests.
9264         * tests/test-symlinkat.c (main): Add tests for EBADF.
9265
9266         linkat tests: EBADF tests.
9267         * tests/test-linkat.c (main): Add tests for EBADF.
9268
9269         Tests for module 'faccessat'.
9270         * modules/faccessat-tests: New file.
9271         * tests/test-faccessat.c: New file.
9272
9273         fdopendir tests: EBADF tests.
9274         * tests/test-fdopendir.c (main): Add more tests for EBADF.
9275
9276         openat tests: EBADF tests.
9277         * tests/test-fchownat.c (main): Add tests for EBADF.
9278         * tests/test-fstatat.c (main): Likewise.
9279         * tests/test-mkdirat.c (main): Likewise.
9280         * tests/test-openat.c (main): Likewise.
9281         * tests/test-unlinkat.c (main): Likewise.
9282         * tests/test-fchmodat.c: New file.
9283         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
9284         (Makefile.am): Also run 'test-fchmodat'.
9285
9286 2011-09-20  Bruno Haible  <bruno@clisp.org>
9287
9288         utimens, futimens, fdutimensat tests: EBADF tests.
9289         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
9290
9291         Tests for function fstat().
9292         * modules/fstat-tests: New file.
9293         * tests/test-fstat.c: New file.
9294         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
9295
9296 2011-09-20  Bruno Haible  <bruno@clisp.org>
9297
9298         test-ttyname_r tests: EBADF tests.
9299         * tests/test-ttyname_r.c (main): Add tests for EBADF.
9300
9301         Tests for module 'isatty'.
9302         * modules/isatty-tests: New file.
9303         * tests/test-isatty.c: New file.
9304
9305         Tests for module 'write'.
9306         * modules/write-tests: New file.
9307         * tests/test-write.c: New file.
9308
9309         Tests for module 'read'.
9310         * modules/read-tests: New file.
9311         * tests/test-read.c: New file.
9312
9313         pwrite tests: EBADF tests.
9314         * tests/test-pwrite.c (main): Add tests for EBADF.
9315
9316         pread tests: EBADF tests.
9317         * tests/test-pread.c (main): Add tests for EBADF.
9318
9319         lseek tests: EBADF tests.
9320         * tests/test-lseek.c (main): Add more tests for EBADF.
9321
9322         Tests for module 'ftruncate'.
9323         * modules/ftruncate-tests: New file.
9324         * tests/test-ftruncate.sh: New file.
9325         * tests/test-ftruncate.c: New file.
9326
9327         fsync tests: EBADF tests.
9328         * tests/test-fsync.c (main): Add more tests for EBADF.
9329
9330         fdatasync tests: EBADF tests.
9331         * tests/test-fdatasync.c (main): Add more tests for EBADF.
9332
9333         Tests for module 'fchown'.
9334         * modules/fchown-tests: New file.
9335         * tests/test-fchown.c: New file.
9336
9337         Tests for module 'fchmod'.
9338         * modules/fchmod-tests: New file.
9339         * tests/test-fchmod.c: New file.
9340
9341         fchdir tests: EBADF tests.
9342         * tests/test-fchdir.c (main): Add more tests for EBADF.
9343
9344         dup2 tests: EBADF tests.
9345         * tests/test-dup2.c (main): Add more tests for EBADF.
9346
9347         Tests for module 'dup'.
9348         * modules/dup-tests: New file.
9349         * tests/test-dup.c: New file.
9350
9351         Tests for module 'close'.
9352         * modules/close-tests: New file.
9353         * tests/test-close.c: New file.
9354
9355 2011-09-20  Bruno Haible  <bruno@clisp.org>
9356
9357         Tests for module 'shutdown'.
9358         * modules/shutdown-tests: New file.
9359         * tests/test-shutdown.c: New file.
9360
9361         Tests for module 'setsockopt'.
9362         * modules/setsockopt-tests: New file.
9363         * tests/test-setsockopt.c: New file.
9364
9365         Tests for module 'sendto'.
9366         * modules/sendto-tests: New file.
9367         * tests/test-sendto.c: New file.
9368
9369         Tests for module 'send'.
9370         * modules/send-tests: New file.
9371         * tests/test-send.c: New file.
9372
9373         Tests for module 'recvfrom'.
9374         * modules/recvfrom-tests: New file.
9375         * tests/test-recvfrom.c: New file.
9376
9377         Tests for module 'recv'.
9378         * modules/recv-tests: New file.
9379         * tests/test-recv.c: New file.
9380
9381         Tests for module 'listen'.
9382         * modules/listen-tests: New file.
9383         * tests/test-listen.c: New file.
9384
9385         Tests for module 'getsockopt'.
9386         * modules/getsockopt-tests: New file.
9387         * tests/test-getsockopt.c: New file.
9388
9389         Tests for module 'getsockname'.
9390         * modules/getsockname-tests: New file.
9391         * tests/test-getsockname.c: New file.
9392
9393         Tests for module 'getpeername'.
9394         * modules/getpeername-tests: New file.
9395         * tests/test-getpeername.c: New file.
9396
9397         Tests for module 'connect'.
9398         * modules/connect-tests: New file.
9399         * tests/test-connect.c: New file.
9400
9401         Tests for module 'bind'.
9402         * modules/bind-tests: New file.
9403         * tests/test-bind.c: New file.
9404
9405         accept4 tests: Fix for native Windows.
9406         * tests/test-accept4.c: Include sockets.h.
9407         (main): Invoke gl_sockets_startup.
9408         * modules/accept4-tests (Depends-on): Add sockets.
9409
9410         accept tests: Fix for native Windows.
9411         * tests/test-accept.c: Include sockets.h.
9412         (main): Invoke gl_sockets_startup.
9413         * modules/accept-tests (Depends-on): Add sockets.
9414
9415 2011-09-19  Bruno Haible  <bruno@clisp.org>
9416
9417         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
9418         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
9419         do...while(0).
9420         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
9421         Suggested by Paul Eggert.
9422
9423 2011-09-19  Bruno Haible  <bruno@clisp.org>
9424
9425         sched: Ensure pid_t is defined.
9426         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
9427         not define pid_t.
9428         * lib/sched.in.h: Include <sys/types.h>.
9429         * doc/posix-headers/sched.texi: Mention the pid_t problem.
9430         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9431
9432 2011-09-19  Bruno Haible  <bruno@clisp.org>
9433
9434         msvc-inval: Ensure the entire expansion is a single statement.
9435         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
9436         of braces.
9437
9438 2011-09-19  Jim Meyering  <meyering@redhat.com>
9439
9440         tests: use printf, not echo in init.sh's warn_ function
9441         * tests/init.sh (warn_): Use printf, not echo.  The latter would
9442         misbehave when given strings containing a backslash or starting
9443         with e.g., -n.  James Youngman suggested setting IFS.
9444
9445 2011-09-19  Eric Blake  <eblake@redhat.com>
9446
9447         futimens: enhance test
9448         * tests/test-futimens.h (test_futimens): Also check for EBADF on
9449         closed non-negative fd.
9450
9451         date: accept 'hence' as opposite of 'ago'
9452         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
9453         * tests/test-parse-datetime.c (main): Enhance test.
9454         Suggested by Jesse Wilson.
9455
9456 2011-09-19  Jim Meyering  <meyering@redhat.com>
9457
9458         getcwd: don't fail in a deep directory on a system without openat
9459         Before this change, getcwd would fail when called from a directory
9460         of depth PATH_MAX / 3 or greater.  That was due to the fact that
9461         the non-openat implementation used "..", "../..", "../../..", etc.
9462         to access ancestor directories.  With too many, that string would
9463         be longer than PATH_MAX.
9464         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
9465         using gnulib's openat replacement.
9466         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
9467         we're using the replacement function.
9468
9469 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
9470
9471         maint.mk: avoid warnings from perl about missing files
9472         * top/maint.mk (def_sym_regex): Ignore files listed in
9473         $(gl_other_headers_) that do not exist, say because a project
9474         does not use a corresponding module.
9475
9476 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
9477
9478         stat: use pathmax.h only if needed
9479         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
9480         This is better for Emacs, which does not have a mingw port and
9481         therefore can avoid the pathmax module.
9482
9483         utimens: remove dependency on dup2
9484         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
9485         to work around the Linux kernel bug.
9486         * modules/utimens (Depends-on): Remove dup2.
9487
9488 2011-09-18  Bruno Haible  <bruno@clisp.org>
9489
9490         inet_ntop, inet_pton: Look for it also in libresolv.
9491         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
9492         libnsl, search for it in libresolv.
9493         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9494         Needed on Solaris 7.
9495
9496 2011-09-18  Bruno Haible  <bruno@clisp.org>
9497
9498         accept, accept4 tests: Avoid link error on Solaris.
9499         * modules/accept-tests (Makefile.am): Link test-accept against
9500         $(LIBSOCKET).
9501         * modules/accept4-tests (Makefile.am): Link test-accept4 against
9502         $(LIBSOCKET).
9503
9504         accept4: Avoid link error on Solaris.
9505         * modules/accept4 (Link): New section.
9506
9507         socket functions: Avoid link errors on Solaris.
9508         * modules/accept (Depends-on): Add socketlib.
9509         (Link): New section.
9510         * modules/bind (Depends-on): Add socketlib.
9511         (Link): New section.
9512         * modules/connect (Depends-on): Add socketlib.
9513         (Link): New section.
9514         * modules/getpeername (Depends-on): Add socketlib.
9515         (Link): New section.
9516         * modules/getsockname (Depends-on): Add socketlib.
9517         (Link): New section.
9518         * modules/getsockopt (Depends-on): Add socketlib.
9519         (Link): New section.
9520         * modules/listen (Depends-on): Add socketlib.
9521         (Link): New section.
9522         * modules/recv (Depends-on): Add socketlib.
9523         (Link): New section.
9524         * modules/recvfrom (Depends-on): Add socketlib.
9525         (Link): New section.
9526         * modules/send (Depends-on): Add socketlib.
9527         (Link): New section.
9528         * modules/sendto (Depends-on): Add socketlib.
9529         (Link): New section.
9530         * modules/setsockopt (Depends-on): Add socketlib.
9531         (Link): New section.
9532         * modules/shutdown (Depends-on): Add socketlib.
9533         (Link): New section.
9534         * modules/socket (Depends-on): Add socketlib.
9535         (Link): New section.
9536
9537 2011-09-18  Bruno Haible  <bruno@clisp.org>
9538
9539         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
9540         * tests/test-ptsname.c (main): Terminate the test if it takes longer
9541         than 5 seconds.
9542         * modules/ptsname-tests (configure.ac): Test for alarm.
9543
9544 2011-09-18  Bruno Haible  <bruno@clisp.org>
9545
9546         posix_spawn_file_actions_add*: Fix module dependencies.
9547         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
9548         posix_spawn_file_actions_init.
9549         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
9550         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
9551
9552 2011-09-18  Bruno Haible  <bruno@clisp.org>
9553
9554         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
9555         * tests/test-rename.h (test_rename): Allow error code EEXIST.
9556         * tests/test-renameat.c (main): Likewise.
9557
9558 2011-09-18  Bruno Haible  <bruno@clisp.org>
9559
9560         Tests for module 'accept4'.
9561         * modules/accept4-tests: New file.
9562         * tests/test-accept4.c: New file.
9563
9564 2011-09-18  Bruno Haible  <bruno@clisp.org>
9565
9566         Tests for module 'accept'.
9567         * modules/accept-tests: New file.
9568         * tests/test-accept.c: New file.
9569
9570 2011-09-18  Bruno Haible  <bruno@clisp.org>
9571
9572         dup2: Support for MSVC.
9573         * lib/dup2.c: Include msvc-inval.h.
9574         (rpl_dup2): Handle invalid parameter notifications during dup2 and
9575         _get_osfhandle calls.
9576         * modules/dup2 (Depends-on): Add msvc-inval.
9577         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
9578
9579         New module 'msvc-inval'.
9580         * lib/msvc-inval.h: New file.
9581         * lib/msvc-inval.c: New file.
9582         * m4/msvc-inval.m4: New file.
9583         * modules/msvc-inval: New file.
9584
9585 2011-09-17  Bruno Haible  <bruno@clisp.org>
9586
9587         Tests for module 'pclose'.
9588         * modules/pclose-tests: New file.
9589
9590         New module 'pclose'.
9591         * lib/stdio.in.h (pclose): New declaration.
9592         * lib/pclose.c: New file.
9593         * m4/pclose.m4: New file.
9594         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
9595         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
9596         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
9597         * modules/pclose: New file.
9598         * modules/popen-tests (Depends-on): Add pclose.
9599         * modules/popen-safer-tests (Depends-on): Likewise.
9600         * doc/posix-functions/pclose.texi: Mention the new module.
9601
9602 2011-09-17  Bruno Haible  <bruno@clisp.org>
9603
9604         popen: Support for MSVC.
9605         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
9606         * lib/popen.c (popen): Provide alternate definition for native Windows.
9607         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
9608         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
9609         * modules/popen (Depends-on, configure.ac): Update condition.
9610         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
9611         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
9612         fixed.
9613
9614 2011-09-17  Bruno Haible  <bruno@clisp.org>
9615
9616         isnanl, isnand, isnanf: Work around MSVC bug.
9617         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
9618
9619 2011-09-17  Bruno Haible  <bruno@clisp.org>
9620
9621         sys_socket tests: Fix recent mistake.
9622         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
9623
9624 2011-09-17  Bruno Haible  <bruno@clisp.org>
9625
9626         putenv: Support for MSVC.
9627         * modules/putenv (Depends-on): Add environ.
9628         * lib/putenv.c (environ): Disable declaration.
9629         * lib/unistd.in.h: Update comment.
9630
9631 2011-09-17  Bruno Haible  <bruno@clisp.org>
9632
9633         math: Avoid macro redefinition warnings on MSVC.
9634         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
9635         Undefine before redefining.
9636
9637 2011-09-17  Bruno Haible  <bruno@clisp.org>
9638
9639         doc: Mention functions which are declared as macros.
9640         * doc/posix-functions/*[fl].texi: Mention that some functions are
9641         defined as macros with arguments only.
9642
9643 2011-09-17  Bruno Haible  <bruno@clisp.org>
9644
9645         Add dependencies to new dirent related modules.
9646         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
9647         * modules/fts (Depends-on): Likewise.
9648         * modules/glob (Depends-on): Likewise.
9649         * modules/savedir (Depends-on): Likewise.
9650         * modules/scandir (Depends-on): Likewise.
9651         * modules/dirent-safer (Depends-on): Add opendir, closedir.
9652         * modules/fdopendir (Depends-on): Add opendir.
9653
9654 2011-09-17  Bruno Haible  <bruno@clisp.org>
9655
9656         inet_pton: Support for MSVC on Windows Vista or newer.
9657         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
9658         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
9659         HAVE_DECL_INET_PTON is defined.
9660         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9661         On platforms with <winsock2.h>, test whether inet_pton is declared in
9662         <ws2tcpip.h>. If so, arrange to replace it.
9663         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9664         REPLACE_INET_PTON.
9665         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
9666         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
9667         (Depends-on, configure.ac): Update condition.
9668         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
9669
9670 2011-09-17  Bruno Haible  <bruno@clisp.org>
9671
9672         inet_ntop: Support for MSVC on Windows Vista or newer.
9673         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
9674         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
9675         HAVE_DECL_INET_NTOP is defined.
9676         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9677         On platforms with <winsock2.h>, test whether inet_ntop is declared in
9678         <ws2tcpip.h>. If so, arrange to replace it.
9679         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9680         REPLACE_INET_NTOP.
9681         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
9682         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
9683         (Depends-on, configure.ac): Update condition.
9684         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
9685
9686 2011-09-16  Eric Blake  <eblake@redhat.com>
9687
9688         test-fsync: yet another enhancement
9689         * tests/test-fsync.c (main): Also test behavior on read-only text
9690         file.
9691
9692 2011-09-16  Bruno Haible  <bruno@clisp.org>
9693
9694         Enhance fsync, fdatasync tests.
9695         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
9696         * tests/test-fdatasync.c (main): Likewise.
9697
9698 2011-09-16  Bruno Haible  <bruno@clisp.org>
9699
9700         Support for MSVC compiler: Ensure mode_t gets defined.
9701         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
9702         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9703         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
9704         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
9705         * tests/test-fcntl-h.c: Check that mode_t is defined.
9706         * tests/test-sys_stat.c: Likewise.
9707         * tests/test-sys_types.c: Likewise.
9708         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
9709         * doc/posix-headers/sys_stat.texi: Likewise.
9710         * doc/posix-headers/sys_types.texi: Likewise.
9711
9712 2011-09-16  Bruno Haible  <bruno@clisp.org>
9713
9714         sys_stat: Support for MSVC.
9715         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
9716         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
9717         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
9718         MSVC.
9719
9720 2011-09-16  Bruno Haible  <bruno@clisp.org>
9721
9722         Support for MSVC compiler: Ensure off_t gets defined.
9723         * lib/unistd.in.h: Include <sys/types.h>.
9724         * tests/test-fcntl-h.c: Check that off_t is defined.
9725         * tests/test-sys_stat.c: Likewise.
9726         * tests/test-sys_types.c: Likewise.
9727
9728 2011-09-16  Eric Blake  <eblake@redhat.com>
9729
9730         fdatasync: port to Solaris
9731         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
9732         * modules/fdatasync (Link): Document it.
9733         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
9734
9735         fdatasync: port to MacOS X 10.7
9736         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
9737         declared.
9738         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
9739         * modules/unistd (Makefile.am): Substitute it.
9740         * lib/unistd.in.h (fdatasync): Declare on MacOS.
9741         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
9742
9743         fdatasync: minor improvements
9744         * modules/fdatasync (Depends-on): Add condition for fsync.
9745         * lib/fdatasync.c (fdatasync): Add comment.
9746         * tests/test-unistd-c++.cc: Test fdatasync.
9747
9748         unistd: update refs to newer POSIX
9749         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
9750         Suggested by Bruno Haible.
9751
9752         fdatasync: new module
9753         * modules/fsync (Description): Document difference to fdatasync.
9754         * modules/fdatasync: New module.
9755         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
9756         * lib/fdatasync.c (fdatasync): Likewise.
9757         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
9758         defaults.
9759         * modules/unistd (Makefile.am): Set witnesses.
9760         * lib/unistd.in.h (fdatasync): Declare.
9761         * MODULES.html.sh: Document it.
9762         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
9763         * modules/fdatasync-tests: New test.
9764         * tests/test-fdatasync.c: Likewise.
9765
9766 2011-09-16  Eric Blake  <eblake@redhat.com>
9767
9768         test-fsync: enhance tests
9769         * modules/fsync-tests (Depends-on): Add errno, for mingw.
9770         * tests/test-fsync.c (main): Enhance test.
9771
9772 2011-09-15  Bruno Haible  <bruno@clisp.org>
9773
9774         Support for MSVC compiler: Ensure ssize_t gets defined.
9775         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
9776         * doc/posix-headers/stdio.texi: Likewise.
9777         * modules/stdio (Depends-on): Add ssize_t.
9778         * modules/sys_socket (Depends-on): Likewise.
9779         * modules/sys_types (Depends-on): Likewise.
9780         * modules/sys_uio (Depends-on): Likewise.
9781         * modules/unistd (Depends-on): Likewise.
9782         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
9783         * tests/test-sys_types.c: Check that ssize_t is defined.
9784
9785 2011-09-14  Bruno Haible  <bruno@clisp.org>
9786
9787         Avoid using #, the m4 comment starter character, near brackets.
9788         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
9789         delimiter character in sed expressions.
9790         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
9791         Suggested by Eric Blake.
9792
9793         Properly quote AC_CHECK_DECLS' 4th argument.
9794         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
9795         argument.
9796         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9797         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9798         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9799         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
9800         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
9801         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
9802         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
9803         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
9804         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
9805         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9806         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
9807         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9808         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
9809         * m4/isinf.m4 (gl_ISINF): Likewise.
9810         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
9811         * m4/readutmp.m4 (gl_READUTMP): Likewise.
9812         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
9813         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9814         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9815         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9816         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
9817         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
9818         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
9819         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9820         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9821         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9822         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
9823         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9824         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9825         Reported by Eric Blake.
9826
9827         Properly quote AC_CHECK_DECL's 4th argument.
9828         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
9829         argument.
9830         * m4/argp.m4 (gl_ARGP): Likewise.
9831         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
9832         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
9833         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
9834         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
9835         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
9836         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
9837         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
9838         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
9839         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9840         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
9841         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
9842         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
9843         Reported by Eric Blake.
9844
9845 2011-09-14  Eric Blake  <eblake@redhat.com>
9846
9847         opendir: avoid compile warning
9848         * lib/opendir.c (includes): Always include errno.h.
9849         Reported by Tatsuro MATSUOKA.
9850
9851 2011-09-14  Jim Meyering  <meyering@redhat.com>
9852
9853         maint.mk: sc_tight_scope: propagate failure from sub-make
9854         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
9855         Reported by Martin von Gagern.
9856
9857 2011-09-13  Bruno Haible  <bruno@clisp.org>
9858
9859         tempname: Support for MSVC.
9860         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
9861         MSVC.
9862         * modules/tempname (Depends-on): Add fcntl-h.
9863
9864 2011-09-13  Bruno Haible  <bruno@clisp.org>
9865
9866         sys_time: Support for MSVC.
9867         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
9868         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
9869         include <winsock2.h>.
9870         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
9871         function declarations that collide with POSIX.
9872         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
9873         (Makefile.am): Substitute HAVE_WINSOCK2_H.
9874
9875 2011-09-13  Bruno Haible  <bruno@clisp.org>
9876
9877         stat: Support for MSVC.
9878         * lib/stat.c: Include pathmax.h.
9879         * modules/stat (Depends-on): Add pathmax.
9880
9881         pathmax: Support for native Windows.
9882         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
9883
9884 2011-09-12  Bruno Haible  <bruno@clisp.org>
9885
9886         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
9887         * lib/dirent.in.h (struct dirent): New type.
9888         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
9889         DT_WHT): New macros.
9890         (DIR): New type.
9891         (opendir, closedir): Declare only if the module 'opendir' is enabled.
9892         (readdir, rewinddir): New declarations.
9893         * lib/dirent-private.h: New file.
9894         * lib/opendir.c: New file.
9895         * lib/readdir.c: New file.
9896         * lib/rewinddir.c: New file.
9897         * lib/closedir.c: New file.
9898         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
9899         * m4/opendir.m4: New file.
9900         * m4/readdir.m4: New file.
9901         * m4/rewinddir.m4: New file.
9902         * m4/closedir.m4: New file.
9903         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
9904         REPLACE_CLOSEDIR here.
9905         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
9906         readdir, rewinddir are declared.
9907         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
9908         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
9909         HAVE_REWINDDIR, HAVE_CLOSEDIR.
9910         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
9911         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
9912         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
9913         * modules/opendir: New file.
9914         * modules/readdir: New file.
9915         * modules/rewinddir: New file.
9916         * modules/closedir: New file.
9917         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
9918         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
9919         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
9920         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
9921         * NEWS: Mention the 'fchdir' change.
9922
9923 2011-09-11  Bruno Haible  <bruno@clisp.org>
9924
9925         asm-underscore.m4: Support for MSVC.
9926         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
9927         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
9928
9929 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
9930
9931         Doc about crypt functions.
9932         * doc/posix-functions/crypt.texi: Expand range of glibc versions
9933         needing for _GNU_SOURCE to get crypt.
9934         * doc/posix-functions/encrypt.texi: Likewise.
9935         * doc/posix-functions/setkey.texi: Likewise.
9936
9937 2011-09-11  Bruno Haible  <bruno@clisp.org>
9938
9939         doc: Update regarding MSVC 9.
9940         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
9941         tested".
9942         * doc/posix-functions/*.texi: Update with info about MSVC 9.
9943         * doc/posix-headers/*.texi: Likewise.
9944         * doc/pastposix-functions/*.texi: Likewise.
9945         * doc/glibc-functions/*.texi: Likewise.
9946         * doc/glibc-headers/*.texi: Likewise.
9947
9948 2011-09-11  Bruno Haible  <bruno@clisp.org>
9949
9950         unistd et al.: Don't assume <unistd.h> exists.
9951         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
9952         does not exist.
9953         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
9954         exist. But include <stdlib.h>.
9955         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
9956         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
9957         symlink() does not exist.
9958         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
9959         include <io.h> instead.
9960         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
9961         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
9962         include <direct.h> instead.
9963         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9964         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9965         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
9966         <io.h> instead.
9967         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
9968         correctly if the system does not have hard links.
9969         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
9970         <direct.h> instead.
9971         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
9972         it when looking for function declarations.
9973         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
9974         <direct.h> and <io.h> instead.
9975         * doc/posix-headers/unistd.texi: More details about MSVC problem.
9976
9977 2011-09-11  Bruno Haible  <bruno@clisp.org>
9978
9979         strcase: Support for MSVC.
9980         * modules/strcase (Status, Notice): Remove obsoletion mark.
9981         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
9982         * doc/posix-functions/strncasecmp.texi: Likewise.
9983
9984         strings: Don't assume <strings.h> exists.
9985         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
9986         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
9987         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
9988         * doc/posix-headers/strings.texi: Mention the MSVC problem.
9989
9990 2011-09-11  Bruno Haible  <bruno@clisp.org>
9991
9992         dirent: Don't assume <dirent.h> exists.
9993         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
9994         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
9995         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
9996         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
9997
9998 2011-09-11  Bruno Haible  <bruno@clisp.org>
9999
10000         Fix wint_t on MSVC.
10001         * lib/wchar.in.h (wint_t): On MSVC, override it.
10002         * lib/wctype.in.h (wint_t): Likewise.
10003         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
10004         MSVC.
10005         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
10006         * doc/posix-headers/wctype.texi: Likewise.
10007
10008 2011-09-11  Bruno Haible  <bruno@clisp.org>
10009
10010         sys_types: Fix typo.
10011         * lib/sys_types.in.h: Fix typo in comment.
10012         Reported by Paul Eggert.
10013
10014         Support for MSVC compiler: Ensure size_t gets defined.
10015         * modules/strings (Depends-on): Add 'sys_types'.
10016         * modules/sys_uio (Depends-on): Likewise.
10017         * lib/sys_uio.in.h: Update comment.
10018
10019         C++ tests for module 'sys_types'.
10020         * modules/sys_types-c++-tests: New file.
10021         * tests/test-sys_types-c++.cc: New file.
10022
10023         Tests for module 'sys_types'.
10024         * modules/sys_types-tests: New file.
10025         * tests/test-sys_types.c: New file.
10026
10027         New module 'sys_types'.
10028         * lib/sys_types.in.h: New file.
10029         * m4/sys_types_h.m4: New file.
10030         * modules/sys_types: New file.
10031         * doc/posix-headers/sys_types.texi: Mention the new module and the
10032         size_t problem on MSVC 9.
10033
10034 2011-09-11  Bruno Haible  <bruno@clisp.org>
10035
10036         Support for MSVC compiler: Avoid division by a literal 0.
10037         * lib/math.in.h (NAN): Define through a function call also on MSVC.
10038         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
10039         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
10040         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
10041         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
10042         * tests/infinity.h: New file.
10043         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
10044         on MSVC.
10045         * tests/test-ceilf1.c: Include infinity.h.
10046         (main): Use Infinityf.
10047         * tests/test-ceil1.c: Include infinity.h.
10048         (main): Use Infinityd.
10049         * tests/test-ceill.c: Include infinity.h.
10050         (main): Use Infinityl.
10051         * tests/test-dprintf-posix.c: Include infinity.h.
10052         (test_function): Use Infinityd.
10053         * tests/test-floorf1.c: Include infinity.h.
10054         (main): Use Infinityf.
10055         * tests/test-floor1.c: Include infinity.h.
10056         (main): Use Infinityd.
10057         * tests/test-floorl.c: Include infinity.h.
10058         (main): Use Infinityl.
10059         * tests/test-fprintf-posix.c: Include infinity.h.
10060         (test_function): Use Infinityd.
10061         * tests/test-frexp.c: Include infinity.h.
10062         (main): Use Infinityd.
10063         * tests/test-frexpl.c: Include infinity.h.
10064         (main): Use Infinityl.
10065         * tests/test-isfinite.c: Include infinity.h.
10066         (test_isfinitef): Use Infinityf.
10067         (test_isfinited): Use Infinityd.
10068         (test_isfinitel): Use Infinityl.
10069         * tests/test-isinf.c: Include infinity.h.
10070         (test_isinff): Use Infinityf.
10071         (test_isinfd): Use Infinityd.
10072         (test_isinfl): Use Infinityl.
10073         * tests/test-isnan.c: Include infinity.h.
10074         (test_float): Use Infinityf.
10075         (test_double): Use Infinityd.
10076         (test_long_double): Use Infinityl.
10077         * tests/test-isnanf.h: Include infinity.h.
10078         (main): Use Infinityf.
10079         * tests/test-isnand.h: Include infinity.h.
10080         (main): Use Infinityd.
10081         * tests/test-isnanl.h: Include infinity.h.
10082         (main): Use Infinityl.
10083         * tests/test-ldexpl.c: Include infinity.h.
10084         (main): Use Infinityl.
10085         * tests/test-printf-posix.h: Include infinity.h.
10086         (test_function): Use Infinityd.
10087         * tests/test-roundf1.c: Include infinity.h.
10088         (main): Use Infinityf.
10089         * tests/test-round1.c: Include infinity.h.
10090         (main): Use Infinityd.
10091         * tests/test-roundl.c: Include infinity.h.
10092         (main): Use Infinityl.
10093         * tests/test-signbit.c: Include infinity.h.
10094         (test_signbitf): Use Infinityf.
10095         (test_signbitd): Use Infinityd.
10096         (test_signbitl): Use Infinityl.
10097         * tests/test-snprintf-posix.h: Include infinity.h.
10098         (test_function): Use Infinityd, Infinityl.
10099         * tests/test-sprintf-posix.h: Include infinity.h.
10100         (test_function): Use Infinityd, Infinityl.
10101         * tests/test-truncf1.c: Include infinity.h.
10102         (main): Use Infinityf.
10103         * tests/test-trunc1.c: Include infinity.h.
10104         (main): Use Infinityd.
10105         * tests/test-truncl.c: Include infinity.h.
10106         (main): Use Infinityl.
10107         * tests/test-vasnprintf-posix.c: Include infinity.h.
10108         (test_function): Use Infinityd, Infinityl.
10109         * tests/test-vasprintf-posix.c: Include infinity.h.
10110         (test_function): Use Infinityd, Infinityl.
10111         * modules/ceilf-tests (Files): Add tests/infinity.h.
10112         * modules/ceil-tests (Files): Likewise.
10113         * modules/ceill-tests (Files): Likewise.
10114         * modules/dprintf-posix-tests (Files): Likewise.
10115         * modules/floorf-tests (Files): Likewise.
10116         * modules/floor-tests (Files): Likewise.
10117         * modules/floorl-tests (Files): Likewise.
10118         * modules/fprintf-posix-tests (Files): Likewise.
10119         * modules/frexp-tests (Files): Likewise.
10120         * modules/frexp-nolibm-tests (Files): Likewise.
10121         * modules/frexpl-tests (Files): Likewise.
10122         * modules/frexpl-nolibm-tests (Files): Likewise.
10123         * modules/isfinite-tests (Files): Likewise.
10124         * modules/isinf-tests (Files): Likewise.
10125         * modules/isnan-tests (Files): Likewise.
10126         * modules/isnanf-tests (Files): Likewise.
10127         * modules/isnanf-nolibm-tests (Files): Likewise.
10128         * modules/isnand-tests (Files): Likewise.
10129         * modules/isnand-nolibm-tests (Files): Likewise.
10130         * modules/isnanl-tests (Files): Likewise.
10131         * modules/isnanl-nolibm-tests (Files): Likewise.
10132         * modules/ldexpl-tests (Files): Likewise.
10133         * modules/printf-posix-tests (Files): Likewise.
10134         * modules/roundf-tests (Files): Likewise.
10135         * modules/round-tests (Files): Likewise.
10136         * modules/roundl-tests (Files): Likewise.
10137         * modules/signbit-tests (Files): Likewise.
10138         * modules/snprintf-posix-tests (Files): Likewise.
10139         * modules/sprintf-posix-tests (Files): Likewise.
10140         * modules/truncf-tests (Files): Likewise.
10141         * modules/trunc-tests (Files): Likewise.
10142         * modules/truncl-tests (Files): Likewise.
10143         * modules/vasnprintf-posix-tests (Files): Likewise.
10144         * modules/vasprintf-posix-tests (Files): Likewise.
10145         * modules/vdprintf-posix-tests (Files): Likewise.
10146         * modules/vfprintf-posix-tests (Files): Likewise.
10147         * modules/vprintf-posix-tests (Files): Likewise.
10148         * modules/vsnprintf-posix-tests (Files): Likewise.
10149         * modules/vsprintf-posix-tests (Files): Likewise.
10150         * modules/xprintf-posix-tests (Files): Likewise.
10151
10152 2011-09-11  Bruno Haible  <bruno@clisp.org>
10153
10154         Ensure pid_t gets defined.
10155         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
10156         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10157         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
10158         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10159         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
10160         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10161         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
10162         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10163         * tests/test-fcntl-h.c: Check that pid_t is defined.
10164         * tests/test-sched.c: Likewise.
10165         * tests/test-termios.c: Likewise.
10166         * tests/test-time.c: Likewise.
10167         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
10168         * doc/posix-headers/signal.texi: Likewise.
10169         * doc/posix-headers/sys_types.texi: Likewise.
10170         * doc/posix-headers/time.texi: Likewise.
10171
10172 2011-09-11  Bruno Haible  <bruno@clisp.org>
10173
10174         acl: Fix compilation on Solaris 10 (older version).
10175         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
10176         of ACE_EVERYONE.
10177         * lib/set-mode-acl.c (qset_acl): Likewise.
10178         Reported by Christian Jullien <eligis@orange.fr>.
10179
10180 2011-09-10  Bruno Haible  <bruno@clisp.org>
10181
10182         iconv, unsetenv: Add support for MSVC compiler.
10183         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
10184         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
10185
10186 2011-09-10  Bruno Haible  <bruno@clisp.org>
10187
10188         *printf: Add support for MSVC compiler.
10189         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
10190         handles the exception caused by the %n directive. When cross-compiling,
10191         guess no on native Windows.
10192         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10193         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
10194         emulate it through vsnprintf.
10195         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
10196         * doc/posix-functions/dprintf.texi: Update documentation regarding
10197         MSVC 9.
10198         * doc/posix-functions/fprintf.texi: Likewise.
10199         * doc/posix-functions/printf.texi: Likewise.
10200         * doc/posix-functions/snprintf.texi: Likewise.
10201         * doc/posix-functions/sprintf.texi: Likewise.
10202         * doc/posix-functions/swprintf.texi: Likewise.
10203         * doc/posix-functions/vdprintf.texi: Likewise.
10204         * doc/posix-functions/vfprintf.texi: Likewise.
10205         * doc/posix-functions/vprintf.texi: Likewise.
10206         * doc/posix-functions/vsnprintf.texi: Likewise.
10207         * doc/posix-functions/vsprintf.texi: Likewise.
10208         * doc/glibc-functions/asprintf.texi: Likewise.
10209         * doc/glibc-functions/obstack_printf.texi: Likewise.
10210         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10211         * doc/glibc-functions/vasprintf.texi: Likewise.
10212
10213 2011-09-10  Bruno Haible  <bruno@clisp.org>
10214
10215         nocrash: Add support for native Windows.
10216         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
10217
10218 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
10219             Bruno Haible  <bruno@clisp.org>
10220
10221         absolute-header, include-next: Add support for MSVC compiler.
10222         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
10223         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
10224         directory separator in #line directives.
10225         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
10226         recognize also backslash as directory separator in #line directives.
10227
10228 2011-09-08  Jim Meyering  <meyering@redhat.com>
10229
10230         maint.mk: mark the post-release commit log with "maint: " prefix
10231         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
10232         one-line commit-log summary.
10233
10234 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
10235             Bruno Haible  <bruno@clisp.org>
10236
10237         Doc about crypt functions.
10238         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
10239         systems.
10240         * doc/posix-functions/encrypt.texi: Likewise.
10241         * doc/posix-functions/setkey.texi: Likewise.
10242
10243 2011-09-08  Simon Josefsson  <simon@josefsson.org>
10244
10245         * lib/gc.h: Fix copyright header.
10246
10247 2011-09-07  Bruno Haible  <bruno@clisp.org>
10248
10249         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
10250         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
10251         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
10252
10253 2011-09-07  Bruno Haible  <bruno@clisp.org>
10254
10255         openat: Work around compilation error with OSF/1 5.1 DTK cc.
10256         * lib/fopen.c: Use different syntax for include of <stdio.h>.
10257         * lib/freopen.c: Likewise.
10258         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
10259         * lib/lstat.c: Likewise.
10260         * lib/stat.c: Likewise.
10261         * lib/open.c: Use different syntax for include of <fcntl.h>.
10262         * lib/openat.c: Include fcntl.h again, explicitly.
10263
10264 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
10265
10266         parse-datetime: document the newly accepted format
10267         * doc/parse-datetime.texi (Combined date and time of day items):
10268         New section.
10269
10270 2011-09-06  Bruno Haible  <bruno@clisp.org>
10271
10272         acl: Fix a test failure on newer Solaris 10 with ZFS.
10273         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
10274         ENOSYS as no ACL.
10275         Reported by Jim Meyering.
10276
10277 2011-09-06  Bruno Haible  <bruno@clisp.org>
10278
10279         acl: Update for AIX >= 5.3 with NFS.
10280         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
10281         ENOSYS as no ACL.
10282
10283         acl: Fix a test failure on AIX >= 5.3 with NFS.
10284         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
10285         as no ACL.
10286
10287 2011-09-06  Bruno Haible  <bruno@clisp.org>
10288
10289         acl: Fix a test failure on IRIX 6.5 with NFS.
10290         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
10291         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
10292         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
10293         * lib/copy-acl.c (qcopy_acl): Likewise.
10294
10295 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
10296
10297         openat: port to AIX 7.1 with large files
10298         AIX 7.1 does a "#define openat open64at" if large files are in use,
10299         so we can't simply #undef openat.  Use the orig_openat trick (similar
10300         to orig_open in lib/open.c) to work around the problem.  Problem
10301         reported by Kevin Brott for GNU tar, in the thread containing
10302         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
10303         * lib/openat.c (__need_system_fcntl_h): Define first.
10304         Include <fcntl.h> and <sys/types.h> before undefining.
10305         (orig_openat) [HAVE_OPENAT]: New inline function.
10306         (openat) [HAVE_OPENAT]: Do not undef.
10307         (rpl_openat): Use orig_openat, not openat.
10308
10309 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10310             Bruno Haible  <bruno@clisp.org>
10311
10312         acl: Avoid errors on NonStop Kernel.
10313         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
10314         ENOTSUP errors.
10315
10316 2011-09-05  Bruno Haible  <bruno@clisp.org>
10317
10318         acl: Clean up Solaris code.
10319         * lib/acl-internal.h: Remove no-op #if.
10320         * lib/file-has-acl.c: Likewise.
10321         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
10322         * lib/copy-acl.c (qcopy_acl): Likewise.
10323
10324 2011-09-05  Bruno Haible  <bruno@clisp.org>
10325
10326         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
10327         binaries built on the original Solaris 10.
10328         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
10329         trivial.
10330
10331 2011-09-05  Bruno Haible  <bruno@clisp.org>
10332
10333         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10334         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
10335         10.
10336         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
10337         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
10338         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
10339         instead of acl_get, facl_get, acl_set, facl_set.
10340
10341 2011-09-05  Bruno Haible  <bruno@clisp.org>
10342
10343         copy-file: Try unit tests on more file systems.
10344         * tests/test-copy-file-1.sh: New file.
10345         * tests/test-copy-file-2.sh: New file.
10346         * modules/copy-file-tests (Files): Add them.
10347         (Makefile.am): Add them to TESTS.
10348
10349         acl: Try unit tests on more file systems.
10350         * tests/test-file-has-acl-1.sh: New file.
10351         * tests/test-file-has-acl-2.sh: New file.
10352         * tests/test-set-mode-acl-1.sh: New file.
10353         * tests/test-set-mode-acl-2.sh: New file.
10354         * tests/test-copy-acl-1.sh: New file.
10355         * tests/test-copy-acl-2.sh: New file.
10356         * modules/acl-tests (Files): Add them.
10357         (Makefile.am): Add them to TESTS.
10358
10359 2011-09-04  Bruno Haible  <bruno@clisp.org>
10360
10361         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10362         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
10363         10.
10364         (OLD_ALLOW, OLD_DENY): New macros.
10365         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
10366         ACE_ACCESS_ALLOWED_ACE_TYPE.
10367         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
10368         ACE_ACCESS_DENIED_ACE_TYPE.
10369         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
10370         (NEW_ACE_EXECUTE): Fix value.
10371         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
10372         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
10373         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
10374         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
10375         NEW_ACE_SYNCHRONIZE): New macros.
10376         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
10377         instead of acl_fromtext, acl_set, facl_set.
10378         Fixes a coreutils/tests/cp/perm failure.
10379
10380 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
10381
10382         openat: test for fstatat (..., 0) bug
10383         Further testing with tar suggests that fstatat (..., 0)
10384         does not work in general, on AIX 7.1; see
10385         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
10386         So, give up entirely on AIX 7.1's fstatat, and fall back on our
10387         replacement fstatat (which is what older AIX releases were using
10388         anyway).
10389         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
10390         use is now changed to orig_fstatat.  This was probably the right
10391         thing to do anyway.
10392         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
10393         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
10394         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
10395         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
10396         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
10397         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
10398         if the bug is found.
10399
10400         openat: test for fstatat (AT_FDCWD, ..., 0) bug
10401         This tests for another fstatat bug on AIX 7.1:
10402         fstatat (AT_FDCWD, ..., 0) does not work.  See
10403         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
10404         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
10405         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
10406         (rpl_fstatat): Adjust so that it works around either (or both)
10407         bugs if present.
10408         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
10409
10410 2011-09-03  Karl Berry  <karl@gnu.org>
10411
10412         * doc/regex.texi (Character Class Operators): Avoid literal ":"
10413         in index entries.
10414
10415 2011-09-02  Bruno Haible  <bruno@clisp.org>
10416
10417         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
10418         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
10419         values of AR, ARFLAGS, RANLIB.
10420         Reported by John W. Eaton <jwe@gnu.org> for Octave.
10421
10422 2011-09-02  Bruno Haible  <bruno@clisp.org>
10423
10424         Find 'ar' program that fits with --host argument.
10425         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
10426
10427 2011-09-02  Bruno Haible  <bruno@clisp.org>
10428
10429         tests: init.sh: Support any non-GNU diff.
10430         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
10431         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
10432         Solaris 8.
10433
10434 2011-09-02  Bruno Haible  <bruno@clisp.org>
10435
10436         tests: init.sh: work also with any non-GNU diff that supports -u
10437         * tests/init.sh: Relax check for diff -u support.
10438         Rather than checking for GNU diff via --version, simply check
10439         for support for -u itself.  Useful at least on OpenBSD 4.9,
10440         AIX 7.1, IRIX 6.5, and Solaris 10.
10441
10442 2011-09-01  Bruno Haible  <bruno@clisp.org>
10443
10444         strtoimax, strtoumax: Document problem on HP-UX 11.
10445         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
10446         * doc/posix-functions/strtoumax.texi: Likewise.
10447
10448 2011-09-01  Bruno Haible  <bruno@clisp.org>
10449
10450         strtoumax: Avoid link error on OSF/1 with DTK cc.
10451         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
10452         defined as a function.
10453         * modules/strtoumax (Depends-on, configure.ac): Test only whether
10454         strtoumax is defined, not whether it is declared.
10455
10456 2011-09-01  Bruno Haible  <bruno@clisp.org>
10457
10458         strtoimax: Avoid link error on OSF/1 with DTK cc.
10459         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
10460         defined as a function.
10461         * modules/strtoimax (Depends-on, configure.ac): Test only whether
10462         strtoimax is defined, not whether it is declared.
10463
10464 2011-09-01  Bruno Haible  <bruno@clisp.org>
10465
10466         imaxdiv: Avoid link error on OSF/1 with DTK cc.
10467         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
10468         as a function.
10469         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
10470         whether it is declared.
10471
10472 2011-09-01  Bruno Haible  <bruno@clisp.org>
10473
10474         imaxabs: Avoid link error on OSF/1 with DTK cc.
10475         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
10476         as a function.
10477         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
10478         whether it is declared.
10479
10480 2011-09-01  Bruno Haible  <bruno@clisp.org>
10481
10482         Tests for module 'strtoumax'.
10483         * modules/strtoumax-tests: New file.
10484         * tests/test-strtoumax.c: New file.
10485
10486         Tests for module 'strtoimax'.
10487         * modules/strtoimax-tests: New file.
10488         * tests/test-strtoimax.c: New file.
10489
10490         Tests for module 'imaxdiv'.
10491         * modules/imaxdiv-tests: New file.
10492         * tests/test-imaxdiv.c: New file.
10493
10494         Tests for module 'imaxabs'.
10495         * modules/imaxabs-tests: New file.
10496         * tests/test-imaxabs.c: New file.
10497
10498 2011-09-01  Bruno Haible  <bruno@clisp.org>
10499
10500         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
10501         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
10502         pthread_create.
10503
10504 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10505
10506         openat: work around AIX 7.1 fstatat issue
10507         This should fix the problem that was not properly fixed
10508         in the previous change, dated 2011-08-30.
10509         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
10510         __need_system_stat_h defined.
10511         (orig_fstatat) [HAVE_FSTATAT]: New function.
10512         (rpl_fstatat): Go back to the old way of doing things,
10513         except call orig_fstatat instead of fstatat.
10514         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
10515         Remove unnecessary check whether fstatat fills in st_size etc.
10516
10517 2011-09-01  Bruno Haible  <bruno@clisp.org>
10518
10519         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
10520         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
10521         just include the system's header.
10522
10523 2011-08-31  Jim Meyering  <meyering@redhat.com>
10524
10525         tests: avoid spurious assertion failure in test-float.c on ppc64
10526         * tests/test-float.c (test_long_double): Comment out an assertion,
10527         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
10528         with gcc-4.4.4.
10529
10530         maint: indent with spaces, not TABs
10531         I need to get in the habit of running gnulib's "make check".
10532         Both of these would have been caught.
10533         * m4/largefile.m4: Indent with spaces, not TABs.
10534         * lib/parse-datetime.y (iso_8601_time): Likewise.
10535         Spotted by Pádraig Brady.
10536
10537         test-parse-datetime.c: accommodate a relatively strict gcc warning
10538         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
10539         to avoid a warning from gcc's -Werror=missing-declarations.
10540         Insert a few spaces-before-funcall-parenthesis.
10541
10542 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
10543
10544         parse-datetime: accept ISO 8601 date and time rep with "T" separator
10545         The parser now accepts ISO 8601 date-time strings with "T" as the
10546         separator.  It has long parsed dates like "2004-02-29 16:21:42"
10547         with a space between the date and time strings.  Now it also parses
10548         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
10549         variants like "2004-02-29T16:21:42.333-07:00"
10550         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
10551         of day representation using the 'T' separator character.
10552         * doc/parse-datetime.texi (General date syntax): replace use of
10553         deprecated --iso-8601 option with --rfc-3339 in example of date
10554         command output formats that can be parsed.
10555         * tests/test-parse-datetime.c (tm_diff): New function, taken from
10556         lib/parse-datetime.y.
10557         (gmt_offset): New function.
10558         (main): Add additional test cases to validate ISO8601 extended
10559         date and time of day parsing.
10560
10561 2011-08-31  Bruno Haible  <bruno@clisp.org>
10562
10563         freopen: Documentation.
10564         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
10565         name.
10566         Reported by Claudio Bley <claudio.bley@gmail.com>.
10567
10568 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
10569
10570         freopen: Don't crash if the filename argument is NULL.
10571         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
10572         NULL.
10573
10574 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10575
10576         openat: work around AIX 7.1 fstatat bug
10577         Problem reported by Kevin Brott for GNU tar, in the thread containing
10578         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
10579         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
10580         FSTATAT_ST_SIZE_ETC_BROKEN.
10581         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
10582         rpl_fstatat.
10583         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
10584         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
10585         AC_CHECK_FUNCS_ONCE for fstatat.
10586         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
10587         fchmodat, mkdirat, openat and unlinkat.
10588
10589 2011-08-30  Bruno Haible  <bruno@clisp.org>
10590
10591         Avoid endless recursions if config.h includes some header files.
10592         * lib/fopen.c (__need_FILE): Define already before including config.h.
10593         * lib/freopen.c (__need_FILE): Likewise.
10594         * lib/open.c (__need_system_fcntl_h): Likewise.
10595         * lib/stat.c (__need_system_sys_stat_h): Likewise.
10596         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
10597         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10598
10599 2011-08-25  Karl Berry  <karl@gnu.org>
10600
10601         * config/srclist.txt (ylwrap): new try.
10602         * build-aux/ylwrap: new file.
10603
10604 2011-08-23  Bruno Haible  <bruno@clisp.org>
10605
10606         tmpdir: Use a good default directory on native Windows.
10607         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
10608         (P_tmpdir): Default to _P_tmpdir on native Windows.
10609         (path_search): On native Windows, try the value returned by GetTempPath
10610         before trying P_tmpdir.
10611         * modules/tmpdir (Depends-on): Add pathmax.
10612         Suggested by John Darrington <john@darrington.wattle.id.au>.
10613
10614 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
10615
10616         doc: fix typo in README-release
10617         * top/README-release: Capitalize first word of a sentence.
10618
10619 2011-08-19  Jim Meyering  <meyering@redhat.com>
10620
10621         fts: do not exhaust memory when processing million-entry directories
10622         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
10623         directory would require about 256*N bytes of memory.  Thus, it was
10624         easy to construct a directory too large to be processed by any of
10625         those tools.  With this change, fts' maximum memory utilization is
10626         now limited to around 30MB.
10627         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
10628         (fts_read): When we've processed the final entry (i.e., when
10629         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
10630         using the parent entry to read any remaining entries.  Dispatch
10631         depending on what fts_build returns:
10632         - NULL+stop, aka failure: stop
10633         - NULL otherwise: move up in the dir hierarchy
10634         - non-NULL: handle this new entry
10635         (fts_build): Declare and use new local, continue_readdir.
10636         Prepare to be called from fts_read, when the entries
10637         from a partially-read directory have just been exhausted.
10638         In that case, we'll skip the opendir and instead use the parent's
10639         fts_dirp and derive dir_fd from that.
10640         Finally, in the readdir loop, if we read max_entries entries,
10641         exit the loop ensuring *not* to call closedir.  This is required
10642         so that fts_dirp can be reused on a subsequent call.
10643         Prompted by Ben England's report of memory exhaustion in find
10644         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
10645
10646         maint: fts: move decl of `dp' down into while loop; split a long line
10647         * lib/fts.c (fts_build): No semantic change.
10648
10649         fts: add/use new struct member, fts_dirp
10650         We are about to use this to manage any directory with
10651         too many entries to read all of them into memory at once.
10652         To do that, we'll need to save the DIR* pointer in each
10653         affected FTSENT struct.
10654         * lib/fts_.h: Include <dirent.h>.
10655         (struct FTSENT) [fts_dirp]: New member.
10656         * lib/fts.c (closedir_and_clear): Define.
10657         Use it in place of closedir so that we are sure to
10658         clear the new fts_dirp member when done with it.
10659         (fts_alloc): Initialize the new member.
10660         (fts_lfree): Free, if needed.
10661
10662         maint: fts: give __opendir2 a new parameter and rename
10663         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
10664         than surreptitiously using sole caller's "dir_fd".
10665         (fts_opendir): Rename from __opendir2.
10666
10667         maint: fts.c: remove __opendir2's now-unused parameter, oflag
10668         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
10669
10670         maint: fts.c: correct off-by-one indentation
10671         * lib/fts.c (fts_build): Correct indentation, change style
10672         of a couple of block comments, and bracing style.
10673
10674         maint: fts.c: move __opendir2 #define "up" out of function body
10675         * lib/fts.c (__opendir2): Move "up".  No semantic change.
10676
10677         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
10678         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
10679         out for a long time and besides was useful only on BSD systems.
10680
10681 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
10682
10683         regex: port to Stratus OpenVOS
10684         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
10685         define to empty, rather than attempting nonportable optimizations.
10686         Problem reported by Paul Green in:
10687         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
10688         and fix suggested by Eric Blake in:
10689         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
10690
10691 2011-08-17  Eric Blake  <eblake@redhat.com>
10692
10693         getcwd: fix test failures on mingw
10694         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
10695         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
10696         test if long directory cannot be created, and allow mingw errno.
10697
10698         getcwd-lgpl: fix m4 to match relaxed test for BSD
10699         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
10700         (gl_FUNC_GETCWD_SIGNATURE): New macro.
10701         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
10702         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
10703         signature problem.
10704
10705         getcwd: fix compilation on mingw64
10706         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
10707         getcwd.
10708         Reported by Marc-André Lureau.
10709
10710         pipe2: silence compiler warning
10711         * lib/pipe2.c (pipe2): Hide label if it is not used.
10712
10713 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
10714
10715         relocatable-prog: fix link error
10716         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
10717         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
10718         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
10719         into modules/relocatable-lib without noticing that
10720         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
10721         also needs to build relocatable.c.
10722
10723 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
10724
10725         getaddrinfo: fix sh typo in gai_strerrorA decl checking
10726         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
10727         shell code: it contained a 'break' that was not in a loop.
10728         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
10729         via a shell-language loop; this may have been true in old Autoconf
10730         versions, but it's not true in Autoconf 2.68.  I found this bug
10731         when testing coreutils git on Solaris 8, whose shell complains
10732         about the syntax error.
10733
10734 2011-08-12  Simon Josefsson  <simon@josefsson.org>
10735
10736         * lib/base64.c: Fix comment to reference RFC 4648.
10737         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
10738         <gvtulder@gmail.com>.
10739
10740 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
10741
10742         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
10743
10744         po/Makefile.in.in: fix make -q problem
10745         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
10746         rule, since there's no file named 'check-macro-version' and its
10747         use as a file breaks make -q.
10748         (all): Don't depend on check-macro-version.
10749         (CHECK_MACRO_VERSION): New macro.
10750         (stamp-po): Use it.
10751
10752         configmake: fix make -q problem
10753         * modules/configmake (configmake.h): Update configmake.h's time stamp
10754         even if the file does not change.  Otherwise, 'make -q' fails.
10755         Problem reported by Simon Josefsson in
10756         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
10757
10758 2011-08-11  Jim Meyering  <meyering@redhat.com>
10759
10760         git-version-gen: correct the advice in a comment
10761         * build-aux/git-version-gen: Correct comment.
10762         Don't recommend to list .tarball-version in .gitignore.
10763
10764 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
10765
10766         base64: fix off-by-one buffer size bug
10767         Problem and (trivial) fix reported by Gijs van Tulder in
10768         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
10769         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
10770         * tests/test-base64.c (main): Catch the bug.
10771
10772 2011-08-10  Eric Blake  <eblake@redhat.com>
10773
10774         closein: correct comments
10775         * lib/closein.c (close_stdin): Improve comments.
10776
10777 2011-08-09  Bruno Haible  <bruno@clisp.org>
10778
10779         More tests for 'fseeko'.
10780         * tests/test-fseeko3.c: New file, from Eric Blake.
10781         * tests/test-fseeko3.sh: New file.
10782         * modules/fseeko-tests (Files): Add them.
10783         (TESTS): Add test-fseeko3.sh.
10784         (check_PROGRAMS): Add test-fseeko3.
10785
10786 2011-08-09  Eric Blake  <eblake@redhat.com>
10787
10788         fseeko: remove unneeded hack
10789         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
10790
10791         fseeko: fix bug on glibc
10792         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
10793         Reported by John W. Eaton.
10794
10795 2011-08-08  Bruno Haible  <bruno@clisp.org>
10796
10797         unictype/base: Fix interoperability with preinstalled libunistring.
10798         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
10799         Reported by Simon Josefsson.
10800
10801 2011-08-08  Bruno Haible  <bruno@clisp.org>
10802
10803         iswblank: Detect declaration correctly.
10804         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
10805         AC_CHECK_DECLS invocation.
10806
10807 2011-08-08  Bruno Haible  <bruno@clisp.org>
10808
10809         tcgetsid: Detect declaration correctly.
10810         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
10811         AC_CHECK_DECLS invocation.
10812         Reported by Simon Josefsson.
10813
10814 2011-08-08  Eric Blake  <eblake@redhat.com>
10815
10816         largefile: fix typo that regressed large file support
10817         * modules/largefile (configure.ac-early): Fix section name.
10818
10819 2011-08-06  Karl Berry  <karl@gnu.org>
10820
10821         * MODULES.html.sh (func_all_files): _Noreturn is no longer
10822         a separate module.
10823
10824 2011-08-05  Simon Josefsson  <simon@josefsson.org>
10825
10826         openat: Fix warnings and commens when building unlinkat.c on Hurd.
10827         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
10828         get prototype for free.
10829
10830 2011-08-04  Bruno Haible  <bruno@clisp.org>
10831
10832         Tests for module 'pathmax'.
10833         * modules/pathmax-tests: New file.
10834         * tests/test-pathmax.c: New file.
10835
10836         canonicalize-lgpl: Support larger filenames on the Hurd.
10837         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
10838         Reported by Paul Eggert.
10839
10840         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
10841         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
10842         * lib/chdir-long.h: Include pathmax.h.
10843         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
10844         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
10845         (PATH_MAX): Remove code that is done by pathmax.h.
10846         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
10847         * lib/tmpfile.c: Add a comment.
10848         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
10849         * modules/chdir-long (Depends-on): Add pathmax.
10850         * modules/getcwd (Depends-on): Add pathmax.
10851         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
10852         is not defined.
10853         * doc/posix-headers/limits.texi: Mention the pathmax module.
10854         * NEWS: Mention the change.
10855
10856 2011-08-02  Bruno Haible  <bruno@clisp.org>
10857
10858         pthread_sigmask: Actually use results of gl_THREADLIB.
10859         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
10860         gl_THREADLIB, not gl_[]THREADLIB.
10861         Reported by Eric Blake.
10862
10863 2011-08-02  Jim Meyering  <meyering@redhat.com>
10864
10865         maint.mk: relax the default _gl_TS_function_match regexp
10866         * top/maint.mk (_gl_TS_function_match): Don't require at least one
10867         space between function name and "(" in an "extern" declaration.
10868         That would fail to match a decl with no space there: extern void foo();
10869
10870 2011-07-31  Iain Nicol  <iain@thenicols.net>
10871
10872         git-version-gen: document that EXTRA_DIST must include .version
10873         * build-aux/git-version-gen: In the how-to-use comment, document
10874         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
10875         will fail when run from an unpacked distribution tarball.
10876
10877 2011-08-01  Bruno Haible  <bruno@clisp.org>
10878
10879         wctype-h: Fix last change.
10880         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
10881         REPLACE_TOWLOWER to 0.
10882         Reported by Sam Steingold <sds@gnu.org>.
10883
10884 2011-07-31  Bruno Haible  <bruno@clisp.org>
10885
10886         frexpl: Update autoconf test.
10887         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
10888         according to changes of 2011-06-20.
10889
10890 2011-07-31  Bruno Haible  <bruno@clisp.org>
10891
10892         sys_utsname: Add support for Minix.
10893         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
10894         <sys/utsname.h>.
10895         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10896         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
10897
10898 2011-07-31  Bruno Haible  <bruno@clisp.org>
10899
10900         strings: Add support for Minix.
10901         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
10902         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
10903         * doc/posix-headers/strings.texi: Document the Minix problem.
10904
10905 2011-07-31  Bruno Haible  <bruno@clisp.org>
10906
10907         wctype-h: Add support for Minix.
10908         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
10909         REPLACE_TOWLOWER.
10910         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
10911         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
10912         REPLACE_ISWCNTRL.
10913
10914 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
10915
10916         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
10917         This is a performance improvement for 64-bit hosts: it causes the
10918         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
10919
10920 2011-07-31  Bruno Haible  <bruno@clisp.org>
10921
10922         stdioext: Add support for Minix.
10923         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
10924         * lib/fpurge.c (fpurge): Likewise.
10925         * lib/freadahead.c (freadahead): Likewise.
10926         * lib/freadable.c (freadable): Likewise.
10927         * lib/freading.c (freading): Likewise.
10928         * lib/freadptr.c (freadptr): Likewise.
10929         * lib/freadseek.c (freadptrinc): Likewise.
10930         * lib/fseeko.c (rpl_fseeko): Likewise.
10931         * lib/fseterr.c (fseterr): Likewise.
10932         * lib/fwritable.c (fwritable): Likewise.
10933         * lib/fwriting.c (fwriting): Likewise.
10934         * lib/fflush.c (clear_ungetc_buffer): Update comment.
10935         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
10936
10937 2011-07-31  Bruno Haible  <bruno@clisp.org>
10938
10939         errno: Port to Minix.
10940         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
10941         ECONNABORTED are defined.
10942         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
10943         GNULIB_defined_ECONNABORTED): New macros.
10944         * lib/strerror-override.h (strerror_override): Test also
10945         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
10946         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
10947         ECONNABORTED.
10948         * doc/posix-headers/errno.texi: Mention the Minix problem.
10949
10950 2011-07-31  Bruno Haible  <bruno@clisp.org>
10951
10952         Work around declaration collisions on Minix.
10953         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
10954         defined, set REPLACE_MBSINIT.
10955         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
10956         defined, set REPLACE_MBRTOWC.
10957         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
10958         set REPLACE_MBRLEN.
10959         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
10960         defined, set REPLACE_MBSRTOWCS.
10961         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
10962         defined, set REPLACE_WCRTOMB.
10963         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
10964         defined, set REPLACE_WCSRTOMBS.
10965
10966 2011-07-31  Bruno Haible  <bruno@clisp.org>
10967
10968         Add support for Minix with ACK compiler.
10969         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
10970         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
10971         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
10972
10973 2011-07-31  Bruno Haible  <bruno@clisp.org>
10974
10975         Documentation about Minix.
10976         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
10977         * doc/glibc-headers/*.texi: Likewise.
10978         * doc/posix-functions/*.texi: Likewise.
10979         * doc/glibc-functions/*.texi: Likewise.
10980
10981 2011-07-31  Bruno Haible  <bruno@clisp.org>
10982
10983         snippet/warn-on-use: Fix indentation.
10984         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
10985
10986 2011-07-25  Jim Meyering  <meyering@redhat.com>
10987
10988         tests: test-update-copyright.sh: remove unnecessary "rm" commands
10989         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
10990         commands.
10991
10992 2011-07-27  Jim Meyering  <meyering@redhat.com>
10993
10994         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
10995         * top/maint.mk (gl_extract_significant_defines_): Now that
10996         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
10997         gnulib/lib/signal.in.h, and now that we recommend to
10998         define-if-undefined those two symbols in application code,
10999         we must filter them out of the "significant" list.
11000         This avoids a "make syntax-check" failure in coreutils.
11001
11002 2011-07-26  Eric Blake  <eblake@redhat.com>
11003
11004         warnings: add comments about previous patch
11005         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
11006         * m4/include_next.m4: Likewise.
11007         * m4/warn-on-use.m4: Likewise.
11008         * m4/warnings.m4: Likewise, and simplify use.
11009         Suggested by Stefano Lattarini.
11010
11011         include-next, warnings: support older autoconf
11012         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
11013         AS_VAR_PUSHDEF in a way that works with older autoconf.
11014         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
11015         Reported by Daniel P. Berrange.
11016
11017 2011-07-25  Bruno Haible  <bruno@clisp.org>
11018
11019         fseek, ftell: Fix doc.
11020         * doc/posix-functions/fseek.texi: Reword statement about
11021         AC_SYS_LARGEFILE.
11022         * doc/posix-functions/ftell.texi: Likewise.
11023
11024 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11025             Bruno Haible  <bruno@clisp.org>
11026
11027         Add dependencies to the 'largefile' module.
11028         * modules/fopen (Depends-on): Add 'largefile'.
11029         * modules/freopen (Depends-on): Likewise.
11030         * modules/fseeko (Depends-on): Likewise.
11031         * modules/ftello (Depends-on): Likewise.
11032         * modules/glob (Depends-on): Likewise.
11033         * modules/lseek (Depends-on): Likewise.
11034         * modules/lstat (Depends-on): Likewise.
11035         * modules/mkostemp (Depends-on): Likewise.
11036         * modules/mkostemps (Depends-on): Likewise.
11037         * modules/mkstemp (Depends-on): Likewise.
11038         * modules/mkstemps (Depends-on): Likewise.
11039         * modules/open (Depends-on): Likewise.
11040         * modules/openat (Depends-on): Likewise.
11041         * modules/pread (Depends-on): Likewise.
11042         * modules/pwrite (Depends-on): Likewise.
11043         * modules/scandir (Depends-on): Likewise.
11044         * modules/stat (Depends-on): Likewise.
11045         * modules/tmpfile (Depends-on): Likewise.
11046         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
11047         since the containing module now depends on the largefile module.
11048         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
11049         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
11050         off_t is fixed by gnulib.
11051         * doc/posix-functions/freopen.texi: Likewise.
11052         * doc/posix-functions/fseeko.texi: Likewise.
11053         * doc/posix-functions/fstatat.texi: Likewise.
11054         * doc/posix-functions/ftello.texi: Likewise.
11055         * doc/posix-functions/glob.texi: Likewise.
11056         * doc/posix-functions/lseek.texi: Likewise.
11057         * doc/posix-functions/lstat.texi: Likewise.
11058         * doc/posix-functions/mkstemp.texi: Likewise.
11059         * doc/posix-functions/open.texi: Likewise.
11060         * doc/posix-functions/openat.texi: Likewise.
11061         * doc/posix-functions/pread.texi: Likewise.
11062         * doc/posix-functions/pwrite.texi: Likewise.
11063         * doc/posix-functions/scandir.texi: Likewise.
11064         * doc/posix-functions/stat.texi: Likewise.
11065         * doc/posix-functions/tmpfile.texi: Likewise.
11066         * doc/glibc-functions/mkostemp.texi: Likewise.
11067         * doc/glibc-functions/mkostemps.texi: Likewise.
11068         * doc/glibc-functions/mkstemps.texi: Likewise.
11069
11070 2011-07-25  Bruno Haible  <bruno@clisp.org>
11071
11072         fcntl: Move AC_LIBOBJ invocation to module description.
11073         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
11074         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
11075
11076         fcntl: Remove call-in from fchdir.m4.
11077         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
11078         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
11079
11080         dup3: Remove potential call-in from fchdir.m4.
11081         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
11082         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
11083
11084         dup2: Move AC_LIBOBJ invocation to module description.
11085         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
11086         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
11087         Don't invoke AC_LIBOBJ.
11088         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
11089
11090         dup2: Remove call-in from fchdir.m4.
11091         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
11092         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
11093
11094         fclose: Move AC_LIBOBJ invocation to module description.
11095         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
11096         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
11097         to 1.
11098         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
11099
11100         fclose: Remove call-in from close.m4.
11101         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
11102         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
11103
11104         close: Move AC_LIBOBJ invocation to module description.
11105         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
11106         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
11107         1.
11108         * modules/close (configure.ac): Invoke AC_LIBOBJ.
11109
11110         close: Remove call-in from fchdir.m4.
11111         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
11112         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
11113
11114         open: Move AC_LIBOBJ invocation to module description.
11115         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
11116         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
11117         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
11118
11119         open: Remove call-in from fchdir.m4.
11120         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
11121         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
11122
11123         fchdir: Start to remove gl_REPLACE_* idiom.
11124         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
11125         (gl_FUNC_FCHDIR): Invoke it.
11126
11127 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11128
11129         * lib/ftell.c (ftell): Comment out cast.
11130
11131         close: use gl_REPLACE_FCLOSE only if defined
11132         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
11133         is defined.  The close module doesn't depend on the fclose module
11134         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
11135         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
11136         I reproduced the problem with "./gnulib-tool --test close sys_socket".
11137
11138 2011-07-24  Jim Meyering  <meyering@redhat.com>
11139
11140         test-select.h: avoid warning when using gcc's -Wmissing-declarations
11141         * tests/test-select.h (test_function): Declare as "static".
11142
11143 2011-07-24  Bruno Haible  <bruno@clisp.org>
11144
11145         doc: Mention the effects of AC_SYS_LARGEFILE.
11146         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
11147         on this function.
11148         * doc/posix-functions/aio_error.texi: Likewise.
11149         * doc/posix-functions/aio_fsync.texi: Likewise.
11150         * doc/posix-functions/aio_read.texi: Likewise.
11151         * doc/posix-functions/aio_return.texi: Likewise.
11152         * doc/posix-functions/aio_suspend.texi: Likewise.
11153         * doc/posix-functions/aio_write.texi: Likewise.
11154         * doc/posix-functions/fgetpos.texi: Likewise.
11155         * doc/posix-functions/fopen.texi: Likewise.
11156         * doc/posix-functions/freopen.texi: Likewise.
11157         * doc/posix-functions/fsetpos.texi: Likewise.
11158         * doc/posix-functions/fstatvfs.texi: Likewise.
11159         * doc/posix-functions/ftruncate.texi: Likewise.
11160         * doc/posix-functions/ftw.texi: Likewise.
11161         * doc/posix-functions/getrlimit.texi: Likewise.
11162         * doc/posix-functions/glob.texi: Likewise.
11163         * doc/posix-functions/lio_listio.texi: Likewise.
11164         * doc/posix-functions/lockf.texi: Likewise.
11165         * doc/posix-functions/mkstemp.texi: Likewise.
11166         * doc/posix-functions/mmap.texi: Likewise.
11167         * doc/posix-functions/nftw.texi: Likewise.
11168         * doc/posix-functions/openat.texi: Likewise.
11169         * doc/posix-functions/opendir.texi: Likewise.
11170         * doc/posix-functions/posix_fadvise.texi: Likewise.
11171         * doc/posix-functions/posix_fallocate.texi: Likewise.
11172         * doc/posix-functions/pread.texi: Likewise.
11173         * doc/posix-functions/pwrite.texi: Likewise.
11174         * doc/posix-functions/readdir.texi: Likewise.
11175         * doc/posix-functions/readdir_r.texi: Likewise.
11176         * doc/posix-functions/rewinddir.texi: Likewise.
11177         * doc/posix-functions/scandir.texi: Likewise.
11178         * doc/posix-functions/seekdir.texi: Likewise.
11179         * doc/posix-functions/setrlimit.texi: Likewise.
11180         * doc/posix-functions/statvfs.texi: Likewise.
11181         * doc/posix-functions/telldir.texi: Likewise.
11182         * doc/posix-functions/tmpfile.texi: Likewise.
11183         * doc/posix-functions/truncate.texi: Likewise.
11184         * doc/glibc-functions/fallocate.texi: Likewise.
11185         * doc/glibc-functions/fstatfs.texi: Likewise.
11186         * doc/glibc-functions/fts_children.texi: Likewise.
11187         * doc/glibc-functions/fts_read.texi: Likewise.
11188         * doc/glibc-functions/getdirentries.texi: Likewise.
11189         * doc/glibc-functions/mkostemp.texi: Likewise.
11190         * doc/glibc-functions/mkostemps.texi: Likewise.
11191         * doc/glibc-functions/mkstemps.texi: Likewise.
11192         * doc/glibc-functions/preadv.texi: Likewise.
11193         * doc/glibc-functions/pwritev.texi: Likewise.
11194         * doc/glibc-functions/sendfile.texi: Likewise.
11195         * doc/glibc-functions/statfs.texi: Likewise.
11196
11197 2011-07-24  Bruno Haible  <bruno@clisp.org>
11198
11199         doc: Fix typo.
11200         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
11201
11202 2011-07-24  Bruno Haible  <bruno@clisp.org>
11203
11204         doc: Mention fsusage.
11205         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
11206
11207 2011-07-24  Bruno Haible  <bruno@clisp.org>
11208
11209         doc: Mention new glibc headers and functions.
11210         * doc/glibc-headers/gshadow.texi: New file.
11211         * doc/glibc-functions/endsgent.texi: New file.
11212         * doc/glibc-functions/fgetsgent.texi: New file.
11213         * doc/glibc-functions/fgetsgent_r.texi: New file.
11214         * doc/glibc-functions/getsgent.texi: New file.
11215         * doc/glibc-functions/getsgent_r.texi: New file.
11216         * doc/glibc-functions/getsgnam.texi: New file.
11217         * doc/glibc-functions/getsgnam_r.texi: New file.
11218         * doc/glibc-functions/putsgent.texi: New file.
11219         * doc/glibc-functions/setsgent.texi: New file.
11220         * doc/glibc-functions/sgetsgent.texi: New file.
11221         * doc/glibc-functions/sgetsgent_r.texi: New file.
11222         * doc/glibc-functions/malloc_info.texi: New file.
11223         * doc/glibc-functions/preadv.texi: New file.
11224         * doc/glibc-functions/pwritev.texi: New file.
11225         * doc/glibc-functions/register_printf_modifier.texi: New file.
11226         * doc/glibc-functions/register_printf_specifier.texi: New file.
11227         * doc/glibc-functions/register_printf_type.texi: New file.
11228         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
11229         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
11230         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
11231         * doc/glibc-functions/pthread_getname_np.texi: New file.
11232         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
11233         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
11234         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
11235         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
11236         * doc/glibc-functions/pthread_setname_np.texi: New file.
11237         * doc/glibc-functions/pthread_sigqueue.texi: New file.
11238         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
11239         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
11240         * doc/glibc-functions/qsort_r.texi: New file.
11241         * doc/glibc-functions/quick_exit.texi: New file.
11242         * doc/glibc-functions/syncfs.texi: New file.
11243         * doc/gnulib.texi: Include them.
11244         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
11245         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
11246         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
11247         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
11248         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
11249         * doc/glibc-functions/execvpe.texi: Likewise.
11250
11251 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11252
11253         ftell: don't include <unistd.h>
11254         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
11255         guaranteed to define off_t, and the ftell module depends on the
11256         stdio module.
11257
11258         ftell: do not assume wraparound signed arithmetic
11259         * lib/ftell.c: Include <limits.h>.
11260         (ftell): Don't assume wraparound signed arithmetic.
11261
11262 2011-07-24  Bruno Haible  <bruno@clisp.org>
11263
11264         close: No longer depend on module 'fclose'.
11265         * modules/close (Depends-on): Remove fclose.
11266         * NEWS: Mention the change.
11267         Suggested by Sam Steingold <sds@gnu.org>.
11268
11269 2011-07-24  Bruno Haible  <bruno@clisp.org>
11270
11271         fsusage: Enable large volume support on AIX >= 5.2.
11272         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
11273         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
11274         instead of STAT_STATVFS.
11275         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
11276
11277         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
11278         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
11279         f_blocks field only on MacOS X.
11280
11281         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
11282         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
11283         * modules/fsusage (Depends-on): Add largefile.
11284
11285 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11286
11287         * README: Modernize discussion of signed integers.
11288         Assuming overflow wraparound is no longer safe.
11289         Mention ones' complement and signed magnitude.
11290
11291 2011-07-22  Bruno Haible  <bruno@clisp.org>
11292
11293         select tests, pselect tests: Refactor.
11294         * tests/test-select.h: New file, extracted from tests/test-select.c.
11295         (select_fn): New type.
11296         (test, do_select, do_select_nowait, do_select_wait, test_tty,
11297         test_connect_first, test_accept_first, test_pair, test_socket_pair,
11298         test_pipe): Add my_select argument.
11299         (test_function): Renamed from main. Add my_select argument.
11300         * tests/test-select.c: Move most code to tests/test-select.h. Include
11301         test-select.h.
11302         * modules/select-tests (Files): Add tests/test-select.h.
11303         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
11304         (my_select, main): New functions.
11305         * modules/pselect-tests (Files): Add tests/test-select.h,
11306         tests/macros.h, tests/signature.h.
11307         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
11308         (configure.ac): Check for <sys/wait.h>.
11309
11310 2011-07-22  Bruno Haible  <bruno@clisp.org>
11311
11312         sys_select tests: Check the signature of FD_*.
11313         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
11314         signature tests from here...
11315         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
11316         here.
11317         * modules/sys_select-tests (Files): Add tests/signature.h.
11318
11319 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
11320
11321         largefile: new module, replacing large-inode
11322         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
11323         * MODULES.html.sh: Add largefile, remove large-inode.
11324         * modules/largefile, m4/largefile.m4: New files.
11325         * modules/large-inode, m4/large-inode.m4: Remove.
11326
11327         fsusage: port to MacOS X 10.7 with 4 TiB file systems
11328         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
11329         implementations that use only 32 bits to count blocks.
11330         On typical hosts with 1024-byte blocks, this fails with file
11331         systems as small as 4 TiB.  Problem reported by Herb Wartens
11332         <http://debbugs.gnu.org/9140> and this should also fix a similar
11333         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
11334
11335         large-inode: New module
11336         * MODULES.html.sh: Add it.
11337         * modules/large-inode, m4/large-inode.m4: New files.
11338
11339         extensions: Enable extensions on MacOS X 10.5 and later.
11340         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
11341
11342 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
11343
11344         file-has-acl: use acl_extended_file_nofollow if available
11345         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
11346         (acl_extended_file): New macro.
11347         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
11348         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
11349
11350 2011-07-21  Bruno Haible  <bruno@clisp.org>
11351
11352         Declare system functions in a way that works with C++.
11353         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
11354         declare fdopendir as extern "C".
11355         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
11356         declare frexpl as extern "C".
11357         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
11358         declare gai_strerror as extern "C".
11359         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
11360         programs, declare gai_strerror as extern "C".
11361         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
11362         declare getlogin_r as extern "C".
11363         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
11364         as extern "C".
11365         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
11366         declare ldexpl as extern "C".
11367         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
11368         as extern "C".
11369         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
11370         program, declare getmntinfo as extern "C".
11371         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
11372         stpncpy as extern "C".
11373         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
11374         program, declare __xpg_strerror_r as extern "C".
11375         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
11376         strndup as extern "C".
11377         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
11378         declare memset and bzero as extern "C".
11379         Reported by Sam Steingold <sds@gnu.org>.
11380
11381 2011-07-12  Jim Meyering  <meyering@redhat.com>
11382
11383         maint.mk: prohibit inclusion of "verify.h" without use
11384         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
11385
11386 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11387
11388         timer-time: A new module to check for timer_settime()
11389         * m4/timer_time.m4: Check for the posix function.
11390         * modules/timer-time: Add the new module.
11391         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
11392         Mention it.
11393
11394 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
11395             Bruno Haible  <bruno@clisp.org>
11396
11397         pthread_sigmask: assume POSIX threads if --avoid=threadlib
11398         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
11399         not defined, assume POSIX threads and look for pthread_sigmask in
11400         $LIBS, without changing $CPPFLAGS.
11401
11402 2011-07-19  Bruno Haible  <bruno@clisp.org>
11403
11404         strstr: Update cross-compilation guess.
11405         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
11406         CPUs, guess no, in view of glibc
11407         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
11408         Suggested by Eric Blake. Reported by Reuben Thomas.
11409
11410 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11411
11412         getopt-gnu: suppress core dumps from detection code
11413         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
11414         to suppress core dumps that may well occur on glibc systems.
11415         * modules/getopt-gnu: Depend on nocrash.
11416
11417 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
11418
11419         pthread_sigmask: ensure usleep is declared
11420         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
11421         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
11422
11423 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11424
11425         doc: Document NonStop portability issues.
11426         * doc/posix-functions/sigaction.texi (sigaction):
11427         * doc/posix-headers/signal.texi (signal.h):
11428         Document NonStop.  See Joachim Schmitz in
11429         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
11430
11431 2011-07-15  Bruno Haible  <bruno@clisp.org>
11432
11433         ffsl, ffsll: Avoid unportable behaviour.
11434         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
11435
11436 2011-07-15  Bruno Haible  <bruno@clisp.org>
11437
11438         ffs: More tests.
11439         * tests/test-ffs.c (NBITS): New macro.
11440         (main): Add more tests.
11441         * tests/test-ffsl.c (NBITS): New macro.
11442         (main): Add more tests.
11443         * tests/test-ffsll.c (NBITS): New macro.
11444         (main): Add more tests.
11445
11446 2011-07-15  Eric Blake  <eblake@redhat.com>
11447
11448         ffsl, ffsll: new modules
11449         * modules/ffsl: New file.
11450         * modules/ffsll: Likewise.
11451         * m4/ffsl.m4: Likewise.
11452         * m4/ffsll.m4: Likewise.
11453         * lib/ffsl.c: Likewise.
11454         * lib/ffsl.h: Likewise.
11455         * lib/ffsll.c: Likewise.
11456         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
11457         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
11458         * modules/string (Makefile.am): Substitute witnesses.
11459         * lib/strings.in.h (ffsl, ffsll): Declare.
11460         * modules/ffsl-tests: New test file.
11461         * modules/ffsll-tests: Likewise.
11462         * tests/test-ffsl.c: Likewise.
11463         * tests/test-ffsll.c: Likewise.
11464         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11465         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
11466         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
11467
11468         ffs: fix m4 prerequisite
11469         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
11470
11471         ffs: avoid undefined behavior
11472         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
11473         * tests/test-ffs.c (naive, main): Avoid signed shifts.
11474         Reported by Bruno Haible.
11475
11476 2011-07-12  Bruno Haible  <bruno@clisp.org>
11477
11478         pthread_sigmask: Rely on module 'threadlib'.
11479         * modules/pthread_sigmask (Depends-on): Add threadlib.
11480         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
11481         is defined.
11482
11483 2011-07-12  Bruno Haible  <bruno@clisp.org>
11484
11485         regex: Depend on module 'strcase'.
11486         * modules/regex (Depends-on): Add strcase, for strcasecmp().
11487
11488 2011-07-12  Jim Meyering  <meyering@redhat.com>
11489
11490         warn-on-use: fix typo in file name
11491         * modules/snippet/warn-on-use (Files): Correct file name:
11492         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
11493
11494 2011-07-12  Bruno Haible  <bruno@clisp.org>
11495
11496         strings: Document module.
11497         * doc/posix-headers/strings.texi: Mention module 'strings'.
11498
11499 2011-07-12  Bruno Haible  <bruno@clisp.org>
11500
11501         Rename module '_Noreturn' to 'snippet/_Noreturn'.
11502         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
11503         (Files, Makefile.am): Update.
11504         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
11505         * modules/stdlib (Depends-on): Update.
11506
11507 2011-07-12  Bruno Haible  <bruno@clisp.org>
11508
11509         * NEWS: Mention the changes.
11510
11511         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
11512         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
11513         (Files, Makefile.am): Update.
11514         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
11515         * modules/arpa_inet (Depends-on): Update.
11516         * modules/ctype (Depends-on): Update.
11517         * modules/dirent (Depends-on): Update.
11518         * modules/fcntl-h (Depends-on): Update.
11519         * modules/glob (Depends-on): Update.
11520         * modules/iconv-h (Depends-on): Update.
11521         * modules/inttypes-incomplete (Depends-on): Update.
11522         * modules/langinfo (Depends-on): Update.
11523         * modules/locale (Depends-on): Update.
11524         * modules/math (Depends-on): Update.
11525         * modules/netdb (Depends-on): Update.
11526         * modules/poll-h (Depends-on): Update.
11527         * modules/pty (Depends-on): Update.
11528         * modules/search (Depends-on): Update.
11529         * modules/signal (Depends-on): Update.
11530         * modules/spawn (Depends-on): Update.
11531         * modules/stdio (Depends-on): Update.
11532         * modules/stdlib (Depends-on): Update.
11533         * modules/string (Depends-on): Update.
11534         * modules/strings (Depends-on): Update.
11535         * modules/sys_file (Depends-on): Update.
11536         * modules/sys_ioctl (Depends-on): Update.
11537         * modules/sys_select (Depends-on): Update.
11538         * modules/sys_socket (Depends-on): Update.
11539         * modules/sys_stat (Depends-on): Update.
11540         * modules/sys_time (Depends-on): Update.
11541         * modules/sys_times (Depends-on): Update.
11542         * modules/sys_utsname (Depends-on): Update.
11543         * modules/sys_wait (Depends-on): Update.
11544         * modules/termios (Depends-on): Update.
11545         * modules/time (Depends-on): Update.
11546         * modules/unistd (Depends-on): Update.
11547         * modules/wchar (Depends-on): Update.
11548         * modules/wctype-h (Depends-on): Update.
11549         * MODULES.html.sh (Support for building libraries and executables):
11550         Update.
11551
11552         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
11553         * modules/snippet/unused-parameter: Renamed from
11554         modules/unused-parameter.
11555         (Files, Makefile.am): Update.
11556         * build-aux/snippet/unused-parameter.h: Renamed from
11557         build-aux/unused-parameter.h.
11558         * modules/selinux-h (Depends-on): Update.
11559         * modules/unistr/base (Depends-on): Update.
11560         * MODULES.html.sh (Core language properties): Update.
11561
11562         Rename module 'link-warning' to 'snippet/link-warning'.
11563         * modules/snippet/link-warning: Renamed from modules/link-warning.
11564         (Files, Makefile.am): Update.
11565         * build-aux/snippet/link-warning.h: Renamed from
11566         build-aux/link-warning.h.
11567         * MODULES.html.sh (Support for building libraries and executables):
11568         Update.
11569
11570         Rename module 'c++defs' to 'snippet/c++defs'.
11571         * modules/snippet/c++defs: Renamed from modules/c++defs.
11572         (Files, Makefile.am): Update.
11573         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
11574         * modules/arpa_inet (Depends-on): Update.
11575         * modules/ctype (Depends-on): Update.
11576         * modules/dirent (Depends-on): Update.
11577         * modules/fcntl-h (Depends-on): Update.
11578         * modules/glob (Depends-on): Update.
11579         * modules/iconv-h (Depends-on): Update.
11580         * modules/langinfo (Depends-on): Update.
11581         * modules/locale (Depends-on): Update.
11582         * modules/math (Depends-on): Update.
11583         * modules/netdb (Depends-on): Update.
11584         * modules/poll-h (Depends-on): Update.
11585         * modules/pty (Depends-on): Update.
11586         * modules/search (Depends-on): Update.
11587         * modules/signal (Depends-on): Update.
11588         * modules/spawn (Depends-on): Update.
11589         * modules/stdio (Depends-on): Update.
11590         * modules/stdlib (Depends-on): Update.
11591         * modules/string (Depends-on): Update.
11592         * modules/strings (Depends-on): Update.
11593         * modules/sys_ioctl (Depends-on): Update.
11594         * modules/sys_select (Depends-on): Update.
11595         * modules/sys_socket (Depends-on): Update.
11596         * modules/sys_stat (Depends-on): Update.
11597         * modules/sys_time (Depends-on): Update.
11598         * modules/sys_wait (Depends-on): Update.
11599         * modules/termios (Depends-on): Update.
11600         * modules/time (Depends-on): Update.
11601         * modules/unistd (Depends-on): Update.
11602         * modules/wchar (Depends-on): Update.
11603         * modules/wctype-h (Depends-on): Update.
11604
11605         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
11606         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
11607         (Files, Makefile.am): Update.
11608         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
11609         * modules/argv-iter (Depends-on): Update.
11610         * modules/arpa_inet (Depends-on): Update.
11611         * modules/dirent (Depends-on): Update.
11612         * modules/fcntl-h (Depends-on): Update.
11613         * modules/fnmatch (Depends-on): Update.
11614         * modules/getopt-posix (Depends-on): Update.
11615         * modules/glob (Depends-on): Update.
11616         * modules/iconv-h (Depends-on): Update.
11617         * modules/inttypes-incomplete (Depends-on): Update.
11618         * modules/locale (Depends-on): Update.
11619         * modules/math (Depends-on): Update.
11620         * modules/netdb (Depends-on): Update.
11621         * modules/search (Depends-on): Update.
11622         * modules/signal (Depends-on): Update.
11623         * modules/spawn (Depends-on): Update.
11624         * modules/stdio (Depends-on): Update.
11625         * modules/stdlib (Depends-on): Update.
11626         * modules/string (Depends-on): Update.
11627         * modules/strings (Depends-on): Update.
11628         * modules/sys_socket (Depends-on): Update.
11629         * modules/sys_stat (Depends-on): Update.
11630         * modules/sys_time (Depends-on): Update.
11631         * modules/sys_times (Depends-on): Update.
11632         * modules/sys_utsname (Depends-on): Update.
11633         * modules/time (Depends-on): Update.
11634         * modules/unistd (Depends-on): Update.
11635         * modules/wchar (Depends-on): Update.
11636         * MODULES.html.sh (Support for building libraries and executables):
11637         Update.
11638
11639 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11640
11641         Improvements on _Noreturn and related modules.
11642
11643         modules/_Exit-tests: test _Noreturn too
11644         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
11645         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
11646         (main): Use them.
11647
11648         stdnoreturn, stdnoreturn-tests: remove modules
11649         They're not needed here and a bit premature for use elsewhere.  See
11650         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
11651         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
11652         * tests/test-stdnoreturn.c: Remove files.
11653         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
11654         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
11655         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
11656         and using noreturn.
11657         * modules/openat, modules/sigpipe-die, modules/xalloc:
11658         * modules/xmemdup0, modules/xstrtol:
11659         Remove dependency on stdnoreturn.
11660
11661         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
11662         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
11663         Reparenthesize to avoid GCC warning.
11664         Support Microsoft's syntax.
11665         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
11666
11667         _Noreturn-tests: remove module
11668         * modules/_Noreturn-tests: Remove.
11669         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
11670         * tests/test-_Noreturn.c: Remove.
11671         * tests/test-stdnoreturn.c: Merge from the old
11672         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
11673
11674 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11675
11676         _Noreturn, stdnoreturn, and related modules.
11677
11678         * top/maint.mk: Adjust to new noreturn support.
11679         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
11680         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
11681
11682         xalloc: use stdnoreturn.h
11683         * lib/xalloc.h: Include <stdnoreturn.h>.
11684         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11685         * modules/xalloc (Depends-on): Add stdnoreturn.
11686
11687         xstrtol: use stdnoreturn.h
11688         * lib/xstrtol.h: Include <stdnoreturn.h>.
11689         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11690         * modules/xstrtol (Depends-on): Add stdnoreturn.
11691
11692         xmemdup0: use stdnoreturn.h
11693         * lib/xmemdup0.h: Include <stdnoreturn.h>.
11694         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11695         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
11696
11697         sigpipe-die: use stdnoreturn.h
11698         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
11699         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11700         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
11701
11702         openat: use stdnoreturn.h
11703         * lib/openat.h: Include <stdnoreturn.h>.
11704         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11705         * modules/openat (Depends-on): Add stdnoreturn.
11706
11707         * lib/openat-die.c (openat_save_fail): Modernize comment.
11708
11709         * lib/xalloc-die.c (xalloc_die): Modernize comment.
11710
11711         * lib/glthread/thread.h: Modernize comment.
11712
11713         obstack: use _Noreturn
11714         * lib/obstack.c (__attribute__): Remove macro.
11715         (print_and_abort): Use _Noreturn.
11716
11717         c-stack: use _Noreturn
11718         * lib/c-stack.c (die, overflow_handler, segv_handler):
11719         Use _Noreturn rather than __attribute__((noreturn)).
11720
11721         argmatch-tests, exclude_tests: use _Noreturn
11722         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
11723         Remove.
11724         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
11725
11726         stdlib: use _Noreturn
11727         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
11728         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
11729         * modules/stdlib (Depends-on): Add _Noreturn.
11730         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
11731
11732         stdnoreturn-tests: new module
11733         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
11734
11735         stdnoreturn: new module
11736         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
11737         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
11738
11739         _Noreturn-tests: new module
11740         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
11741
11742         _Noreturn: new module
11743         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
11744         New section, mentioning it.
11745         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
11746
11747         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
11748
11749 2011-07-11  Eric Blake  <eblake@redhat.com>
11750
11751         ffs: new module
11752         * modules/ffs: New file.
11753         * m4/ffs.m4: Likewise.
11754         * lib/ffs.c: Likewise.
11755         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
11756         * modules/strings (Makefile.am): Substitute witness.
11757         (Depends-on): Add c++defs.
11758         * lib/strings.in.h (ffs): Declare.
11759         * modules/ffs-tests: New test file.
11760         * tests/test-ffs.c: Test new module.
11761         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11762         * doc/posix-functions/ffs.texi (ffs): Likewise.
11763
11764         regex: avoid compiler warning
11765         * lib/regex.c (includes): Include <strings.h>, for use of
11766         strcasecmp in regcomp.c.
11767         Reported by Joachim Schmitz.
11768
11769 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
11770
11771         stdint: respect system's intmax_t if INTMAX_MAX
11772         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
11773         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
11774         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
11775         long but int64_t is long long, and where we will clash with the
11776         system intmax_t if we override it.  See
11777         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
11778         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
11779         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
11780         similarly for UINTMAX_C.
11781
11782 2011-07-08  Bruno Haible  <bruno@clisp.org>
11783
11784         pthread_sigmask tests: Avoid a compiler warning.
11785         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
11786         non-zero.
11787
11788         sigprocmask tests: A better way to avoid a compiler warning.
11789         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
11790         (main): Complain if system() returns non-zero.
11791         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
11792
11793 2011-07-08  Bruno Haible  <bruno@clisp.org>
11794
11795         pthread_sigmask: Work around IRIX bug.
11796         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
11797         bug.
11798         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
11799         there may be unblocked pending signals.
11800         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
11801
11802 2011-07-08  Bruno Haible  <bruno@clisp.org>
11803
11804         pthread_sigmask: Work around Cygwin bug.
11805         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
11806         bug.
11807         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
11808         the system's pthread_sigmask function.
11809         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
11810
11811 2011-07-08  Bruno Haible  <bruno@clisp.org>
11812
11813         pthread_sigmask: Work around bug in single-threaded implementation.
11814         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
11815         FreeBSD, HP-UX, Solaris bug.
11816         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
11817         * lib/pthread_sigmask.c: Include <stddef.h>.
11818         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
11819         the system's pthread_sigmask function.
11820         * modules/pthread_sigmask (configure.ac): Invoke
11821         gl_PREREQ_PTHREAD_SIGMASK.
11822         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
11823         HP-UX, Solaris.
11824
11825 2011-07-08  Eric Blake  <eblake@redhat.com>
11826
11827         test-sigprocmask: avoid compiler warning
11828         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
11829         * tests/test-sigprocmask.c (main): Use it to silence warning.
11830         Reported by Jim Meyering.
11831
11832         test-snprintf: avoid compiler warning
11833         * tests/test-snprintf.c (main): Avoid shadowed declaration.
11834         * tests/test-vsnprintf.c (main): Likewise.
11835         Reported by Jim Meyering.
11836
11837 2011-07-08  Bruno Haible  <bruno@clisp.org>
11838
11839         Tests for module 'pthread_sigmask'.
11840         * modules/pthread_sigmask-tests: New file.
11841         * tests/test-pthread_sigmask1.c: New file, based on
11842         tests/test-sigprocmask.c.
11843         * tests/test-pthread_sigmask2.c: New file.
11844
11845 2011-07-08  Jim Meyering  <meyering@redhat.com>
11846
11847         test-getopt.h: avoid warning about an unused variable
11848         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
11849
11850 2011-07-07  Jim Meyering  <meyering@redhat.com>
11851
11852         maint: reduce list of files exempt from sc_prohibit_leading_TABs
11853         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
11854         now that it no longer contains leading TABs.
11855         Remove unused "url=FIXME" statement.
11856
11857 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11858
11859         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
11860         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11861         When gl_THREADLIB is not in use, assume that the POSIX sematics
11862         are desired.  This is better for Emacs, which uses POSIX semantics
11863         on GNUish and/or POSIXish platforms, and does not use threads at
11864         all otherwise.
11865
11866         pthread_sigmask: fix typo when testing for libraries
11867         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11868         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
11869
11870 2011-07-08  Eric Blake  <eblake@redhat.com>
11871
11872         fts: introduce FTS_NOATIME
11873         * lib/fts_.h (FTS_NOATIME): New bit flag.
11874         (FTS_OPTIONMASK): Adjust.
11875         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
11876         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
11877
11878 2011-07-08  Bruno Haible  <bruno@clisp.org>
11879
11880         Tests for module 'thread'.
11881         * modules/thread-tests: New file.
11882         * tests/test-thread_self.c: New file.
11883         * tests/test-thread_create.cc: New file.
11884
11885 2011-07-08  Bruno Haible  <bruno@clisp.org>
11886
11887         thread: Avoid gcc warnings when using gl_thread_self().
11888         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
11889         'void *'.
11890         (gl_thread_self_pointer): Update.
11891
11892 2011-07-07  Bruno Haible  <bruno@clisp.org>
11893
11894         signal-c++-tests: Check declaration of pthread_sigmask.
11895         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
11896         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
11897         $(LIB_PTHREAD_SIGMASK).
11898
11899 2011-07-07  Bruno Haible  <bruno@clisp.org>
11900
11901         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
11902         * lib/signal.in.h (pthread_sigmask): Override if
11903         REPLACE_PTHREAD_SIGMASK is 1.
11904         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11905         REPLACE_PTHREAD_SIGMASK.
11906         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
11907         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
11908         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
11909         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11910         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
11911
11912 2011-07-07  Bruno Haible  <bruno@clisp.org>
11913
11914         pthread_sigmask: Ensure declaration in <signal.h>.
11915         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
11916         include <pthread.h>.
11917         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
11918         problem.
11919
11920 2011-07-07  Bruno Haible  <bruno@clisp.org>
11921
11922         pthread_sigmask: Document the module.
11923         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
11924
11925 2011-07-07  Bruno Haible  <bruno@clisp.org>
11926
11927         pthread_sigmask: Follow gnulib conventions.
11928         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
11929         gl_PTHREAD_SIGMASK.
11930         * modules/pthread_sigmask (configure.ac): Update.
11931
11932 2011-07-07  Bruno Haible  <bruno@clisp.org>
11933
11934         pthread_sigmask: Make declaration C++ safe.
11935         * lib/signal.in.h: In two special conditions, just do an #include_next.
11936         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11937         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
11938         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11939         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11940         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
11941         not REPLACE_PTHREAD_MASK.
11942         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
11943         not REPLACE_PTHREAD_MASK.
11944         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11945
11946 2011-07-07  Bruno Haible  <bruno@clisp.org>
11947
11948         pthread_sigmask: Fix return value.
11949         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
11950         * lib/pthread_sigmask.c: New file.
11951         * modules/pthread_sigmask (Files): Add it.
11952         (configure.ac): Invoke AC_LIBOBJ.
11953
11954 2011-07-07  Eric Blake  <eblake@redhat.com>
11955
11956         getopt: more portable argv creation
11957         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
11958         const, use char arrays rather than strings.
11959         Suggested by Paul Eggert.
11960
11961 2011-07-07  Bruno Haible  <bruno@clisp.org>
11962
11963         Tests for module 'sigprocmask'.
11964         * modules/sigprocmask-tests: New file.
11965         * tests/test-sigprocmask.c: New file.
11966
11967 2011-07-07  Bruno Haible  <bruno@clisp.org>
11968
11969         float tests: Tweak.
11970         * tests/test-float.c (main): Tweak skip message.
11971
11972 2011-07-07  Eric Blake  <eblake@redhat.com>
11973
11974         getopt: avoid compiler warning during configure
11975         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
11976         assigning string literals to non-const pointer.
11977
11978         getopt-gnu: avoid crash in glibc getopt
11979         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
11980         * tests/test-getopt.h (test_getopt): Enhance test.
11981         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11982         * doc/posix-functions/getopt.texi (getopt): Document it.
11983         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11984         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11985         Likewise.
11986
11987 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
11988
11989         getopt: handle W; without long options in getopt [BZ #12922]
11990         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
11991         but no long options are defined, just return 'W'.
11992
11993 2011-07-07  Bruno Haible  <bruno@clisp.org>
11994
11995         Avoid literal tabs.
11996         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
11997         variable containing a tab instead of a literal tab.
11998         Reported by Jim Meyering.
11999
12000 2011-07-07  Bruno Haible  <bruno@clisp.org>
12001
12002         Comments.
12003         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
12004
12005 2011-07-06  Bruno Haible  <bruno@clisp.org>
12006
12007         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
12008         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
12009         <winsock2.h>.
12010         (rpl_fd_isset, FD_ISSET): New definitions, copied from
12011         lib/sys_socket.in.h.
12012         (close, gethostname): Hide declarations from <winsock2.h>.
12013         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
12014         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
12015         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
12016         (select): Don't override if gnulib's <sys/select.h> was already
12017         included.
12018         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
12019         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
12020         setsockopt, shutdown, select): Tweak indentation.
12021
12022 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12023
12024         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
12025         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
12026         in an application that does not use the sys_select module.
12027
12028 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
12029
12030         poll: do not return 0 on timeout=-1
12031         * lib/poll.c: Loop with yield if no events occured
12032
12033 2011-07-06  Eric Blake  <eblake@redhat.com>
12034
12035         pthread_sigmask: always replace when not using pthread
12036         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
12037         replacement when using some threading other than pthread.  Fix
12038         logic bug.
12039
12040 2011-07-06  Bruno Haible  <bruno@clisp.org>
12041
12042         Comments.
12043         * m4/printf.m4: Update comments about mingw.
12044
12045 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12046
12047         sys_select: define sigset_t more portably
12048         * lib/sys_select.in.h: Always include <sys/types.h>, since
12049         we now need sigset_t and mingw defines it there.
12050         Include <signal.h> before split inclusion guard, to avoid
12051         mishaps on Solaris, whose <signal.h> eventually includes us.
12052         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
12053         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
12054         which come from ...
12055         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
12056         gl_CHECK_TYPE_SIGSET_T.
12057         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
12058         does the real work.
12059         * modules/sys_select (Depends-on): Add 'signal'.
12060
12061         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
12062         Suggested by Bruno Haible.
12063
12064         pselect: Use pthread_sigmask, not sigprocmask.
12065         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
12066         multithreaded apps better than sigprocmask does.
12067         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
12068         sigprocmask directly.
12069
12070 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12071
12072         * lib/pselect.c (pselect): Use plain name, without "rpl_".
12073         Don't #undef,  since we don't need any underlying pselect.
12074         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
12075         (Depends-on): Add select.
12076         (Link): Add $(LIBSOCKET).
12077         These changes suggested by Bruno Haible.
12078
12079         pselect: document better
12080         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12081         * doc/posix-functions/pselect.texi (pselect): Document new module.
12082
12083         pthread_sigmask: new module
12084         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12085         * doc/posix-functions/pthread_sigmask.texi: Document new module.
12086         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
12087         This is done only as a macro; I don't know how well that'll
12088         work for C++.  Move <sys/types.h> include before the include_next,
12089         to avoid mishap on Solaris.
12090         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
12091         * modules/signal (Makefile.am): Substitute the check's results.
12092         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
12093
12094         test-pselect: new module
12095         * modules/pselect-tests, tests/test-pselect.c: New files.
12096         * tests/test-select.c, tests/test-sys_select-c++.cc:
12097         If TEST_PSELECT is defined, test pselect instead of testing select.
12098
12099         * tests/test-sys_select.c (sigset_t): Test for it, too.
12100         Suggested by Bruno Haible.
12101
12102 2011-07-05  Eric Blake  <eblake@redhat.com>
12103
12104         snprintf: guarantee %1$d, for libintl
12105         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
12106         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
12107         * doc/posix-functions/snprintf.texi (snprintf): Update.
12108         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12109         * tests/test-snprintf.c (main): Enhance test.
12110         * tests/test-vsnprintf.c (main): Likewise.
12111
12112 2011-07-05  Jim Meyering  <meyering@redhat.com>
12113
12114         maint: exempt stdio-read.c and stdio-write.c from the cppi check
12115         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
12116         per Bruno's request, to accommodate this idiom (no space after "#")
12117         even when the function is inside an #if block:
12118         char *
12119         gets (char *s)
12120         #undef gets
12121         {
12122           ...
12123         }
12124
12125 2011-07-04  Jim Meyering  <meyering@redhat.com>
12126
12127         maint: indent with spaces, not TABs, and add a rule to check this
12128         * tests/test-userspec.c: Indent with spaces, not TABs.
12129         * tests/test-argp.c: Likewise.
12130         * tests/test-c-stack2.sh: Likewise.
12131         * tests/test-parse-duration.sh: Likewise
12132         * m4/strtod.m4: Likewise.
12133         * m4/alloca.m4: Likewise.
12134         * m4/pselect.m4: Likewise.
12135         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
12136
12137 2011-07-03  Jim Meyering  <meyering@redhat.com>
12138
12139         maint.mk: correct omissions in prohibit_argmatch_without_use check
12140         This rule would mistakenly report that argmatch.h is included without
12141         use even when both the argmatch and invalid_arg macro were used.
12142         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
12143         of argmatch and invalid_arg.
12144
12145 2011-07-03  Bruno Haible  <bruno@clisp.org>
12146
12147         Comments about EINTR.
12148         * lib/safe-read.h: Explain the purpose of this module.
12149         * lib/safe-write.h: Likewise.
12150         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
12151         module.
12152         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
12153         module.
12154         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12155
12156 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12157
12158         xnanosleep: Rewrite to use new dtotimespec module.
12159         It has the conversion code that used to be in xnanosleep.
12160         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
12161         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
12162         (TIME_T_MAX): Remove.
12163         (xnanosleep): Rewrite in terms of dtotimespec.
12164         * modules/xnanosleep (Depends-on): Add dtotimespec.
12165         Remove intprops, stdbool.
12166
12167         timespec-add, timespec-sub: new modules
12168         * lib/timespec.h (timespec_add, timespec_sub): New decls.
12169         * lib/timespec-add.c, lib/timespec-sub.c:
12170         * modules/timespec-add, modules/timespec-sub: New files.
12171
12172         dtotimespec: new module
12173         * lib/timespec.h (dtotimespec): New decl.
12174         * lib/dtotimespec.c, modules/dtotimespec: New files.
12175
12176         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
12177
12178         pselect: new module
12179         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
12180         (pselect): New decls.
12181         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
12182         since the standard pselect decl uses 'restrict'.
12183         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
12184         HAVE_PSELECT, REPLACE_PSELECT.
12185         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
12186         HAVE_PSELECT, REPLACE_PSELECT.
12187         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
12188
12189         sys_select: don't depend on sys_socket
12190         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
12191         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
12192         This fix works on GNU and GNU-like platforms, but has not been tested
12193         on native Windows.
12194         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
12195         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
12196         gl_HEADER_SYS_SOCKET.
12197         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
12198         gl_PREREQ_SYS_H_WINSOCK2.
12199
12200 2011-06-29  Eric Blake  <eblake@redhat.com>
12201
12202         pipe2: fix C89 compile problem
12203         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
12204         Reported by Bruno Haible.
12205
12206         pipe, pipe2: don't corrupt fd on error
12207         * lib/pipe.c (pipe): Leave fd unchanged on error.
12208         * lib/pipe2.c (pipe2): Likewise.
12209         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
12210         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12211
12212 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
12213
12214         mmap-anon: do not use regular expressions inadvertently
12215         * m4/mmap-anon.m4: Remove trailing period from strings sought
12216         in the output.
12217
12218 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
12219
12220         nanosleep: fix integer overflow problem
12221         * lib/nanosleep.c (my_usleep): Don't assume signed integer
12222         arithmetic wraps around on overflow.
12223
12224         nanosleep: simplify carrying
12225         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
12226         first call to the underyling nanosleep, not for the last one.
12227         This doesn't fix any bugs, but it simplifies the computation of
12228         the remaining delay.  Found while auditing integer overflow issues.
12229
12230         dup2: remove test for existence of fcntl
12231         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
12232         "#if HAVE_FCNTL", in the configure-time test program.
12233         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
12234         and therefore speeds up "configure" a bit.  Found while
12235         adding the dup2 module to Emacs.
12236
12237 2011-06-24  Eric Blake  <eblake@redhat.com>
12238
12239         maint.mk: enhance useless header checks
12240         * top/maint.mk (_sc_header_without_use): Check both include
12241         styles.
12242         (sc_prohibit_assert_without_use)
12243         (sc_prohibit_close_stream_without_use)
12244         (sc_prohibit_getopt_without_use)
12245         (sc_prohibit_quotearg_without_use)
12246         (sc_prohibit_quote_without_use)
12247         (sc_prohibit_long_options_without_use)
12248         (sc_prohibit_inttostr_without_use)
12249         (sc_prohibit_ignore_value_without_use)
12250         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
12251         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
12252         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
12253         (sc_prohibit_hash_pjw_without_use)
12254         (sc_prohibit_safe_read_without_use)
12255         (sc_prohibit_argmatch_without_use)
12256         (sc_prohibit_canonicalize_without_use)
12257         (sc_prohibit_root_dev_ino_without_use)
12258         (sc_prohibit_openat_without_use)
12259         (sc_prohibit_c_ctype_without_use)
12260         (sc_prohibit_signal_without_use)
12261         (sc_prohibit_stdio--_without_use)
12262         (sc_prohibit_stdio-safer_without_use)
12263         (sc_prohibit_strings_without_use)
12264         (sc_prohibit_intprops_without_use)
12265         (sc_prohibit_stddef_without_use)
12266         (sc_prohibit_xfreopen_without_use): Update clients.
12267
12268 2011-06-24  Jim Meyering  <meyering@redhat.com>
12269
12270         syntax-check: keep one maint.mk rule in sync with its header
12271         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
12272         of the bug Eric has just fixed, with today's commit 25e4c2ec.
12273         I prefer to avoid temporary files here, so use <(...), but that
12274         is not supported by /bin/sh, so...
12275         (SHELL): Define to /bin/bash.
12276
12277 2011-06-24  Eric Blake  <eblake@redhat.com>
12278
12279         maint.mk: update sc_prohibit_intprops_without_use
12280         * top/maint.mk (_intprops_names): Match recent changes.
12281
12282 2011-06-24  Bruno Haible  <bruno@clisp.org>
12283
12284         strerror-override: No-op tweak.
12285         * lib/strerror-override.h (strerror_override): Reorder conditions,
12286         for consistency with lib/strerror-override.c.
12287
12288 2011-06-23  Eric Blake  <eblake@redhat.com>
12289
12290         maint.mk: test further PATH_MAX issues
12291         * top/maint.mk (sc_prohibit_path_max_array): Rename...
12292         (sc_prohibit_path_max_allocation): ...and also test alloca.
12293         Suggested by Jim Meyering.
12294
12295 2011-06-22  Eric Blake  <eblake@redhat.com>
12296
12297         maint.mk: add syntax-check to avoid char[PATH_MAX]
12298         * top/maint.mk (sc_prohibit_path_max_array): New rule.
12299
12300         stat: be robust to PATH_MAX definition
12301         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
12302         * modules/stat (Depends-on): Add verify.
12303
12304         link: work around IRIX bug
12305         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
12306         * lib/link.c (rpl_link): Work around it.
12307         * tests/test-link.h (test_link): Enhance test.
12308         * doc/posix-functions/link.texi (link): Document the bug.
12309
12310         getopt: silence clang warning
12311         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
12312         dereference.
12313         Reported by Gustavo Martin Domato.
12314
12315 2011-06-22  Jim Meyering  <meyering@redhat.com>
12316
12317         bootstrap: do not insert a blank line into each .gitignore file
12318         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
12319
12320 2011-06-21  Eric Blake  <eblake@redhat.com>
12321
12322         perror: test for output mismatch
12323         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
12324         perror on IRIX.
12325
12326         strerror_r: fix OpenBSD behavior on out-of-range
12327         * lib/strerror_r.c (strerror_r): Always use maximal string.
12328         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12329
12330         strerror_r: fix OpenBSD behavior on 0
12331         * lib/strerror-override.c (strerror_override): Also override 0
12332         when needed.
12333         * lib/strerror-override.h (strerror_override): Likewise.
12334         * lib/strerror.c (strerror): Simplify, now that 0 override is done
12335         earlier.
12336         * lib/strerror_r.c (strerror_r): Likewise.
12337         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
12338         behavior...
12339         (gl_FUNC_STRERROR_0): ...into new macro.
12340         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
12341         is overridden.
12342         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
12343         * modules/strerror-override (Files): Add strerror.m4.
12344         (configure.ac): Also provide override for 0 when needed.
12345         * doc/posix-functions/strerror.texi (strerror): Document this.
12346         * doc/posix-functions/perror.texi (perror): Likewise.
12347
12348         perror: adjust array size
12349         * modules/perror (Depends-on): Add strerror-override.
12350         * lib/perror.c (perror): Use it to avoid magic number.
12351
12352         strerror-override: reduce size
12353         * lib/strerror-override.c (strerror_override): Use fewer lines.
12354
12355 2011-06-20  Bruno Haible  <bruno@clisp.org>
12356
12357         pathmax: Ensure correct value for PATH_MAX on HP-UX.
12358         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
12359
12360 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
12361
12362         alloca: port to compilers that can optimize like GCC 4.6.0
12363         * lib/alloca.c (find_stack_direction): New signature, taken from
12364         Autoconf git.  This works with GCC 4.6.0.  This code should never
12365         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
12366         be used with other compilers that optimize as well as GCC 4.6.0 does.
12367         (alloca): Adjust to new signature.
12368         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
12369         New macro, which patches Autoconf in a similar way.
12370
12371         c-stack: stop worrying about stack direction
12372         * lib/c-stack.c (find_stack_direction): Remove.
12373         (segv_handler): Don't worry about stack direction growth, as it's
12374         too much of a pain to configure this correctly, given how compilers
12375         are optimizing-away our stack-growth detection code.  Instead, assume
12376         that any access to just before or just after the stack is OK.
12377         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
12378         Don't require AC_FUNC_ALLOCA; no longer needed.
12379
12380 2011-06-20  Eric Blake  <eblake@redhat.com>
12381
12382         test-stat: don't allocate PATH_MAX bytes
12383         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
12384         PATH_MAX-sized buffer.
12385         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
12386         * modules/stat-tests (Depends-on): Likewise.
12387         * tests/test-fstatat.c (includes): Drop pathmax.h.
12388         * tests/test-stat.c (includes): Likewise.
12389         Reported by Bruno Haible.
12390
12391 2011-06-20  Bruno Haible  <bruno@clisp.org>
12392
12393         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
12394         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
12395         * lib/float.c: New file.
12396         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
12397         REPLACE_FLOAT_LDBL.
12398         * modules/float (Files): Add lib/float.c.
12399         (configure.ac): Invoke AC_LIBOBJ.
12400         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
12401
12402 2011-06-20  Bruno Haible  <bruno@clisp.org>
12403
12404         Tests for module 'float'.
12405         * modules/float-tests: New file.
12406         * tests/test-float.c: New file.
12407
12408 2011-06-19  Bruno Haible  <bruno@clisp.org>
12409
12410         isinf: Coding style.
12411         * lib/isinf.c: Use GNU coding style.
12412
12413 2011-06-19  Bruno Haible  <bruno@clisp.org>
12414
12415         linkat test: Avoid test failure on AIX 7.1.
12416         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
12417         * tests/test-link.h (test_link): Likewise.
12418
12419 2011-06-19  Bruno Haible  <bruno@clisp.org>
12420
12421         pread test: Avoid test failure on OpenBSD 4.9.
12422         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
12423
12424 2011-06-19  Bruno Haible  <bruno@clisp.org>
12425
12426         sprintf-posix: Fix test failure on AIX 7.1.
12427         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
12428         * doc/posix-functions/dprintf.texi: Mention limited precision problem
12429         on AIX.
12430         * doc/posix-functions/fprintf.texi: Likewise.
12431         * doc/posix-functions/printf.texi: Likewise.
12432         * doc/posix-functions/snprintf.texi: Likewise.
12433         * doc/posix-functions/sprintf.texi: Likewise.
12434         * doc/posix-functions/vdprintf.texi: Likewise.
12435         * doc/posix-functions/vfprintf.texi: Likewise.
12436         * doc/posix-functions/vprintf.texi: Likewise.
12437         * doc/posix-functions/vsnprintf.texi: Likewise.
12438         * doc/posix-functions/vsprintf.texi: Likewise.
12439
12440 2011-06-19  Bruno Haible  <bruno@clisp.org>
12441
12442         roundl-ieee: Fix test failure on AIX 7.1.
12443         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
12444         * doc/posix-functions/roundl.texi: Mention problem with negative
12445         arguments.
12446
12447 2011-06-19  Bruno Haible  <bruno@clisp.org>
12448
12449         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12450         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
12451         * doc/posix-functions/round.texi: Mention problem with negative
12452         arguments.
12453         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
12454
12455 2011-06-19  Bruno Haible  <bruno@clisp.org>
12456
12457         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12458         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
12459         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
12460         * doc/posix-functions/roundf.texi: Mention problem with negative
12461         arguments.
12462         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
12463
12464 2011-06-19  Bruno Haible  <bruno@clisp.org>
12465
12466         ceilf-ieee: Work around bug on MacOS X 10.5.
12467         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
12468
12469         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
12470         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
12471         IEEE compliant, avoid compiler optimizations.
12472         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
12473         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
12474         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
12475         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12476         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12477         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
12478         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12479         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
12480         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
12481         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
12482
12483 2011-06-19  Bruno Haible  <bruno@clisp.org>
12484
12485         ceilf-ieee: Work around bug on AIX 7.1.
12486         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
12487         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
12488
12489 2011-06-19  Bruno Haible  <bruno@clisp.org>
12490
12491         ceil-ieee: Work around bug on AIX 7.1.
12492         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
12493         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
12494
12495 2011-06-18  Bruno Haible  <bruno@clisp.org>
12496
12497         fsync test: Avoid test failure on MacOS X and AIX.
12498         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
12499         EINVAL.
12500
12501 2011-06-18  Bruno Haible  <bruno@clisp.org>
12502
12503         openat, fdopendir tests: Fix link errors.
12504         * modules/openat-tests (Depends-on): Add progname.
12505         * modules/fdopendir-tests (Depends-on): Likewise.
12506         * tests/test-fchownat.c: Include progname.h.
12507         (main): Call set_program_name.
12508         * tests/test-fstatat.c: Include progname.h.
12509         (main): Call set_program_name.
12510         * tests/test-mkdirat.c: Include progname.h.
12511         (main): Call set_program_name.
12512         * tests/test-openat.c: Include progname.h.
12513         (main): Call set_program_name.
12514         * tests/test-unlinkat.c: Include progname.h.
12515         (main): Call set_program_name.
12516         * tests/test-fdopendir.c: Include progname.h.
12517         (main): Call set_program_name.
12518
12519 2011-06-18  Bruno Haible  <bruno@clisp.org>
12520
12521         Doc update.
12522         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
12523         HP-UX.
12524         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
12525
12526 2011-06-18  Bruno Haible  <bruno@clisp.org>
12527
12528         getcwd tests: Avoid compilation error on HP-UX 11.31.
12529         * modules/getcwd-tests (Depends-on): Add pathmax.
12530         * tests/test-getcwd.c: Include pathmax.h.
12531
12532 2011-06-18  Bruno Haible  <bruno@clisp.org>
12533
12534         isfinite, isinf: Fix link error on AIX 6 and 7.
12535         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
12536         needed, also test the macro with a 'float' argument.
12537         * m4/isinf.m4 (gl_ISINF): Likewise.
12538
12539 2011-06-18  Bruno Haible  <bruno@clisp.org>
12540
12541         getloadavg: Don't clobber LIBS. Regression from previous commit.
12542         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
12543         AC_CHECK_LIB from here...
12544         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
12545         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
12546         gl_func_getloadavg_done.
12547         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12548
12549 2011-06-18  Bruno Haible  <bruno@clisp.org>
12550
12551         clean-temp: Improve documentation.
12552         * lib/clean-temp.h: Explain better how to use this module.
12553         Reported by John Darrington <john@darrington.wattle.id.au>.
12554
12555 2011-06-17  Bruno Haible  <bruno@clisp.org>
12556
12557         pread, pwrite: Avoid cc warning on AIX.
12558         * lib/unistd.in.h (pread): Undefine before defining as a macro.
12559         (pwrite): Likewise.
12560
12561 2011-06-17  Bruno Haible  <bruno@clisp.org>
12562
12563         spawn-pipe tests: Fix link error.
12564         * tests/test-spawn-pipe-child.c: Undefine fprintf.
12565         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12566
12567 2011-06-17  Bruno Haible  <bruno@clisp.org>
12568
12569         Tests: Remove unnecessary dependency.
12570         * modules/canonicalize-tests (Depends-on): Remove progname.
12571         * modules/chown-tests (Depends-on): Likewise.
12572         * modules/dirname-tests (Depends-on): Likewise.
12573         * modules/fdopendir-tests (Depends-on): Likewise.
12574         * modules/fdutimensat-tests (Depends-on): Likewise.
12575         * modules/hash-tests (Depends-on): Likewise.
12576         * modules/lchown-tests (Depends-on): Likewise.
12577         * modules/linkat-tests (Depends-on): Likewise.
12578         * modules/renameat-tests (Depends-on): Likewise.
12579         * modules/spawn-pipe-tests (Depends-on): Likewise.
12580         * modules/utimensat-tests (Depends-on): Likewise.
12581
12582 2011-06-17  Bruno Haible  <bruno@clisp.org>
12583
12584         spawn-pipe tests: Fix link error.
12585         * tests/test-spawn-pipe-child.c: Undefine fflush.
12586
12587 2011-06-17  Bruno Haible  <bruno@clisp.org>
12588
12589         Fix tests link errors.
12590         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
12591         * modules/chown-tests (Makefile.am): Don't link test-chown with
12592         LIBINTL.
12593         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
12594         LIBINTL.
12595         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
12596         LIBINTL.
12597         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
12598         LIBINTL.
12599
12600 2011-06-16  Bruno Haible  <bruno@clisp.org>
12601
12602         crypto/gc-sha1: Fix recent regression.
12603         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
12604         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
12605
12606         crypto/gc-md5: Fix recent regression.
12607         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
12608
12609         crypto/gc-md4: Fix recent regression.
12610         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
12611         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
12612
12613         crypto/gc-arctwo: Fix recent regression.
12614         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
12615         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
12616
12617         crypto/gc-rijndael: Fix recent regression.
12618         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
12619         (configure.ac): Invoke AC_LIBOBJ here.
12620         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
12621         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12622
12623         crypto/gc-hmac-sha1: Fix recent regression.
12624         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
12625         (configure.ac): Invoke AC_LIBOBJ here.
12626         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
12627         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12628
12629         crypto/gc-hmac-md5: Fix recent regression.
12630         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
12631         (configure.ac): Invoke AC_LIBOBJ here.
12632         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
12633         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12634
12635         crypto/gc-des: Fix recent regression.
12636         * modules/crypto/gc-des (Files): Remove m4/des.m4.
12637         (configure.ac): Invoke AC_LIBOBJ here.
12638         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
12639         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12640
12641         crypto/gc-arcfour: Fix recent regression.
12642         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
12643         (configure.ac): Invoke AC_LIBOBJ here.
12644         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
12645         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12646
12647 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
12648
12649         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
12650         After the 2011-05-21 change, this macro requires
12651         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
12652         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
12653
12654 2011-06-16  Bruno Haible  <bruno@clisp.org>
12655
12656         fprintftime: Move AC_LIBOBJ invocations to module description.
12657         * m4/fprintftime.m4: Remove file.
12658         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
12659         (configure.ac): Remove gl_FPRINTFTIME call.
12660         (Makefile.am): Augment lib_SOURCES.
12661         Reported by Jim Meyering.
12662
12663 2011-06-16  Bruno Haible  <bruno@clisp.org>
12664
12665         tmpfile-safer: Finish 2011-05-23 commit.
12666         * m4/stdio-safer.m4: Really remove file.
12667         Reported by Jim Meyering.
12668
12669 2011-06-16  Bruno Haible  <bruno@clisp.org>
12670
12671         syntax-check: Fix typo.
12672         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
12673         printf-posix.m4.
12674         Reported by Jim Meyering.
12675
12676 2011-06-13  Jim Meyering  <meyering@redhat.com>
12677
12678         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
12679         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
12680
12681 2011-05-23  Bruno Haible  <bruno@clisp.org>
12682
12683         yesno: Move AC_LIBOBJ invocations to module description.
12684         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
12685         * modules/yesno (Makefile.am): Augment lib_SOURCES.
12686
12687 2011-05-23  Bruno Haible  <bruno@clisp.org>
12688
12689         xstrtol: Move AC_LIBOBJ invocations to module description.
12690         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
12691         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
12692
12693 2011-05-23  Bruno Haible  <bruno@clisp.org>
12694
12695         xstrtold: Move AC_LIBOBJ invocations to module description.
12696         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
12697         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
12698
12699 2011-05-23  Bruno Haible  <bruno@clisp.org>
12700
12701         xstrtod: Move AC_LIBOBJ invocations to module description.
12702         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
12703         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
12704
12705 2011-05-23  Bruno Haible  <bruno@clisp.org>
12706
12707         xnanosleep: Move AC_LIBOBJ invocations to module description.
12708         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
12709         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
12710
12711 2011-05-23  Bruno Haible  <bruno@clisp.org>
12712
12713         xgetcwd: Move AC_LIBOBJ invocations to module description.
12714         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
12715         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
12716
12717 2011-05-23  Bruno Haible  <bruno@clisp.org>
12718
12719         xalloc: Move AC_LIBOBJ invocations to module description.
12720         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
12721         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
12722
12723 2011-05-23  Bruno Haible  <bruno@clisp.org>
12724
12725         write-any-file: Move AC_LIBOBJ invocations to module description.
12726         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
12727         invocation.
12728         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
12729
12730 2011-05-23  Bruno Haible  <bruno@clisp.org>
12731
12732         utimens: Move AC_LIBOBJ invocations to module description.
12733         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
12734         * modules/utimens (Makefile.am): Augment lib_SOURCES.
12735
12736 2011-05-23  Bruno Haible  <bruno@clisp.org>
12737
12738         utimecmp: Move AC_LIBOBJ invocations to module description.
12739         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
12740         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
12741
12742 2011-05-23  Bruno Haible  <bruno@clisp.org>
12743
12744         userspec: Move AC_LIBOBJ invocations to module description.
12745         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
12746         * modules/userspec (Makefile.am): Augment lib_SOURCES.
12747
12748 2011-05-23  Bruno Haible  <bruno@clisp.org>
12749
12750         unlinkdir: Move AC_LIBOBJ invocations to module description.
12751         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
12752         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
12753
12754 2011-05-23  Bruno Haible  <bruno@clisp.org>
12755
12756         unistd-safer: Move AC_LIBOBJ invocations to module description.
12757         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
12758         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
12759
12760 2011-05-23  Bruno Haible  <bruno@clisp.org>
12761
12762         tempname: Move AC_LIBOBJ invocations to module description.
12763         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
12764         * modules/tempname (Makefile.am): Augment lib_SOURCES.
12765
12766 2011-05-23  Bruno Haible  <bruno@clisp.org>
12767
12768         strftime: Move AC_LIBOBJ invocations to module description.
12769         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
12770         * modules/strftime (Makefile.am): Augment lib_SOURCES.
12771
12772 2011-05-23  Bruno Haible  <bruno@clisp.org>
12773
12774         stdlib-safer: Move AC_LIBOBJ invocations to module description.
12775         * m4/stdlib-safer.m4: Remove file.
12776         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
12777         (configure.ac): Remove gl_STDLIB_SAFER call.
12778         (Makefile.am): Augment lib_SOURCES.
12779
12780 2011-05-23  Bruno Haible  <bruno@clisp.org>
12781
12782         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
12783         * m4/stdio-safer.m4: Remove file.
12784         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
12785         (configure.ac): Remove gl_TMPFILE_SAFER call.
12786         (Makefile.am): Augment lib_SOURCES.
12787
12788 2011-05-23  Bruno Haible  <bruno@clisp.org>
12789
12790         popen-safer: Move AC_LIBOBJ invocations to module description.
12791         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
12792         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
12793         (configure.ac): Remove gl_POPEN_SAFER call.
12794         (Makefile.am): Augment lib_SOURCES.
12795
12796 2011-05-23  Bruno Haible  <bruno@clisp.org>
12797
12798         freopen-safer: Move AC_LIBOBJ invocations to module description.
12799         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
12800         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
12801         (configure.ac): Remove gl_FREOPEN_SAFER call.
12802         (Makefile.am): Augment lib_SOURCES.
12803
12804 2011-05-23  Bruno Haible  <bruno@clisp.org>
12805
12806         fopen-safer: Move AC_LIBOBJ invocations to module description.
12807         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
12808         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
12809         (configure.ac): Remove gl_FOPEN_SAFER call.
12810         (Makefile.am): Augment lib_SOURCES.
12811
12812 2011-05-23  Bruno Haible  <bruno@clisp.org>
12813
12814         crypto/sha512: Move AC_LIBOBJ invocations to module description.
12815         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
12816         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
12817
12818 2011-05-23  Bruno Haible  <bruno@clisp.org>
12819
12820         crypto/sha256: Move AC_LIBOBJ invocations to module description.
12821         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
12822         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
12823
12824 2011-05-23  Bruno Haible  <bruno@clisp.org>
12825
12826         crypto/sha1: Move AC_LIBOBJ invocations to module description.
12827         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
12828         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
12829
12830 2011-05-23  Bruno Haible  <bruno@clisp.org>
12831
12832         settime: Move AC_LIBOBJ invocations to module description.
12833         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
12834         * modules/settime (Makefile.am): Augment lib_SOURCES.
12835
12836 2011-05-23  Bruno Haible  <bruno@clisp.org>
12837
12838         savedir: Move AC_LIBOBJ invocations to module description.
12839         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
12840         * modules/savedir (Makefile.am): Augment lib_SOURCES.
12841
12842 2011-05-23  Bruno Haible  <bruno@clisp.org>
12843
12844         save-cwd: Move AC_LIBOBJ invocations to module description.
12845         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
12846         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
12847
12848 2011-05-23  Bruno Haible  <bruno@clisp.org>
12849
12850         same: Move AC_LIBOBJ invocations to module description.
12851         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
12852         * modules/same (Makefile.am): Augment lib_SOURCES.
12853
12854 2011-05-23  Bruno Haible  <bruno@clisp.org>
12855
12856         safe-write: Move AC_LIBOBJ invocations to module description.
12857         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
12858         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
12859         instead of gl_SAFE_WRITE.
12860         (Makefile.am): Augment lib_SOURCES.
12861
12862 2011-05-23  Bruno Haible  <bruno@clisp.org>
12863
12864         safe-read: Move AC_LIBOBJ invocations to module description.
12865         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
12866         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
12867         of gl_SAFE_READ.
12868         (Makefile.am): Augment lib_SOURCES.
12869
12870 2011-05-23  Bruno Haible  <bruno@clisp.org>
12871
12872         safe-alloc: Move AC_LIBOBJ invocations to module description.
12873         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
12874         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
12875
12876 2011-05-23  Bruno Haible  <bruno@clisp.org>
12877
12878         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
12879         * m4/rijndael.m4: Remove file.
12880         * modules/crypto/rijndael (Files): Remove it.
12881         (configure.ac): Remove gl_RIJNDAEL call.
12882         (Makefile.am): Augment lib_SOURCES.
12883
12884 2011-05-23  Bruno Haible  <bruno@clisp.org>
12885
12886         readtokens: Move AC_LIBOBJ invocations to module description.
12887         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
12888         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
12889
12890 2011-05-23  Bruno Haible  <bruno@clisp.org>
12891
12892         read-file: Move AC_LIBOBJ invocations to module description.
12893         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
12894         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
12895         of gl_FUNC_READ_FILE.
12896         (Makefile.am): Augment lib_SOURCES.
12897
12898 2011-05-23  Bruno Haible  <bruno@clisp.org>
12899
12900         quotearg: Move AC_LIBOBJ invocations to module description.
12901         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
12902         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
12903
12904 2011-05-23  Bruno Haible  <bruno@clisp.org>
12905
12906         quote: Move AC_LIBOBJ invocations to module description.
12907         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
12908         * modules/quote (Makefile.am): Augment lib_SOURCES.
12909
12910 2011-05-23  Bruno Haible  <bruno@clisp.org>
12911
12912         posixver: Move AC_LIBOBJ invocations to module description.
12913         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
12914         * modules/posixver (Makefile.am): Augment lib_SOURCES.
12915
12916 2011-05-23  Bruno Haible  <bruno@clisp.org>
12917
12918         posixtm: Move AC_LIBOBJ invocations to module description.
12919         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
12920         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
12921
12922 2011-05-23  Bruno Haible  <bruno@clisp.org>
12923
12924         physmem: Move AC_LIBOBJ invocations to module description.
12925         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
12926         * modules/physmem (Makefile.am): Augment lib_SOURCES.
12927
12928 2011-05-23  Bruno Haible  <bruno@clisp.org>
12929
12930         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
12931         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
12932         invocation.
12933         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
12934
12935 2011-05-23  Bruno Haible  <bruno@clisp.org>
12936
12937         mpsort: Move AC_LIBOBJ invocations to module description.
12938         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
12939         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
12940
12941 2011-05-23  Bruno Haible  <bruno@clisp.org>
12942
12943         modechange: Move AC_LIBOBJ invocations to module description.
12944         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
12945         * modules/modechange (Makefile.am): Augment lib_SOURCES.
12946
12947 2011-05-23  Bruno Haible  <bruno@clisp.org>
12948
12949         mkdir-p: Move AC_LIBOBJ invocations to module description.
12950         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
12951         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
12952
12953 2011-05-23  Bruno Haible  <bruno@clisp.org>
12954
12955         mkancesdirs: Move AC_LIBOBJ invocations to module description.
12956         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
12957         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
12958
12959 2011-05-23  Bruno Haible  <bruno@clisp.org>
12960
12961         mgetgroups: Move AC_LIBOBJ invocations to module description.
12962         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
12963         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
12964
12965 2011-05-23  Bruno Haible  <bruno@clisp.org>
12966
12967         memxor: Move AC_LIBOBJ invocations to module description.
12968         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
12969         * modules/memxor (Makefile.am): Augment lib_SOURCES.
12970
12971 2011-05-23  Bruno Haible  <bruno@clisp.org>
12972
12973         memcoll: Move AC_LIBOBJ invocations to module description.
12974         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
12975         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
12976
12977 2011-05-23  Bruno Haible  <bruno@clisp.org>
12978
12979         memcasecmp: Move AC_LIBOBJ invocations to module description.
12980         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
12981         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
12982
12983 2011-05-23  Bruno Haible  <bruno@clisp.org>
12984
12985         crypto/md5: Move AC_LIBOBJ invocations to module description.
12986         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
12987         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
12988
12989 2011-05-23  Bruno Haible  <bruno@clisp.org>
12990
12991         crypto/md4: Move AC_LIBOBJ invocations to module description.
12992         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
12993         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
12994
12995 2011-05-23  Bruno Haible  <bruno@clisp.org>
12996
12997         crypto/md2: Move AC_LIBOBJ invocations to module description.
12998         * m4/md2.m4: Remove file.
12999         * modules/crypto/md2 (Files): Remove it.
13000         (configure.ac): Remove gl_MD2 call.
13001         (Makefile.am): Augment lib_SOURCES.
13002
13003 2011-05-23  Bruno Haible  <bruno@clisp.org>
13004
13005         long-options: Move AC_LIBOBJ invocations to module description.
13006         * m4/long-options.m4: Remove file.
13007         * modules/long-options (Files): Remove it.
13008         (configure.ac): Remove gl_LONG_OPTIONS call.
13009         (Makefile.am): Augment lib_SOURCES.
13010
13011 2011-05-23  Bruno Haible  <bruno@clisp.org>
13012
13013         i-ring: Move AC_LIBOBJ invocations to module description.
13014         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
13015         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
13016
13017 2011-05-23  Bruno Haible  <bruno@clisp.org>
13018
13019         idcache: Move AC_LIBOBJ invocations to module description.
13020         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
13021         * modules/idcache (Makefile.am): Augment lib_SOURCES.
13022
13023 2011-05-23  Bruno Haible  <bruno@clisp.org>
13024
13025         human: Move AC_LIBOBJ invocations to module description.
13026         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
13027         * modules/human (Makefile.am): Augment lib_SOURCES.
13028
13029 2011-05-23  Bruno Haible  <bruno@clisp.org>
13030
13031         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
13032         * m4/hmac-sha1.m4: Remove file.
13033         * modules/crypto/hmac-sha1 (Files): Remove it.
13034         (configure.ac): Remove gl_HMAC_SHA1 call.
13035         (Makefile.am): Augment lib_SOURCES.
13036
13037 2011-05-23  Bruno Haible  <bruno@clisp.org>
13038
13039         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
13040         * m4/hmac-md5.m4: Remove file.
13041         * modules/crypto/hmac-md5 (Files): Remove it.
13042         (configure.ac): Remove gl_HMAC_MD5 call.
13043         (Makefile.am): Augment lib_SOURCES.
13044
13045 2011-05-23  Bruno Haible  <bruno@clisp.org>
13046
13047         hash: Move AC_LIBOBJ invocations to module description.
13048         * m4/hash.m4: Remove file.
13049         * modules/hash (Files): Remove it.
13050         (configure.ac): Remove gl_HASH call.
13051         (Makefile.am): Augment lib_SOURCES.
13052
13053 2011-05-23  Bruno Haible  <bruno@clisp.org>
13054
13055         hard-locale: Move AC_LIBOBJ invocations to module description.
13056         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
13057         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
13058
13059 2011-05-23  Bruno Haible  <bruno@clisp.org>
13060
13061         getugroups: Move AC_LIBOBJ invocations to module description.
13062         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
13063         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
13064
13065 2011-05-23  Bruno Haible  <bruno@clisp.org>
13066
13067         gettime: Move AC_LIBOBJ invocations to module description.
13068         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
13069         * modules/gettime (Makefile.am): Augment lib_SOURCES.
13070
13071 2011-05-23  Bruno Haible  <bruno@clisp.org>
13072
13073         getndelim2: Move AC_LIBOBJ invocations to module description.
13074         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
13075         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
13076
13077 2011-05-23  Bruno Haible  <bruno@clisp.org>
13078
13079         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
13080         * m4/gc-pbkdf2-sha1.m4: Remove file.
13081         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
13082         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
13083         (Makefile.am): Augment lib_SOURCES.
13084
13085 2011-05-23  Bruno Haible  <bruno@clisp.org>
13086
13087         fts: Move AC_LIBOBJ invocations to module description.
13088         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
13089         * modules/fts (configure.ac): ... to here.
13090
13091 2011-05-23  Bruno Haible  <bruno@clisp.org>
13092
13093         file-type: Move AC_LIBOBJ invocations to module description.
13094         * m4/file-type.m4: Remove file.
13095         * modules/file-type (Files): Remove it.
13096         (configure.ac): Remove gl_FILE_TYPE call.
13097         (Makefile.am): Augment lib_SOURCES.
13098
13099 2011-05-23  Bruno Haible  <bruno@clisp.org>
13100
13101         filenamecat*: Respect rules for use of AC_LIBOBJ.
13102         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
13103         Remove AC_LIBOBJ invocation.
13104         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
13105         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
13106
13107 2011-05-23  Bruno Haible  <bruno@clisp.org>
13108
13109         filemode: Move AC_LIBOBJ invocations to module description.
13110         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
13111         * modules/filemode (Makefile.am): Augment lib_SOURCES.
13112
13113 2011-05-23  Bruno Haible  <bruno@clisp.org>
13114
13115         openat-safer: Move AC_LIBOBJ invocations to module description.
13116         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
13117         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
13118
13119 2011-05-23  Bruno Haible  <bruno@clisp.org>
13120
13121         fcntl-safer: Move AC_LIBOBJ invocations to module description.
13122         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
13123         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
13124
13125 2011-05-23  Bruno Haible  <bruno@clisp.org>
13126
13127         exclude: Move AC_LIBOBJ invocations to module description.
13128         * m4/exclude.m4: Remove file.
13129         * modules/exclude (Files): Remove it.
13130         (configure.ac): Remove gl_EXCLUDE call.
13131         (Makefile.am): Augment lib_SOURCES.
13132
13133 2011-05-23  Bruno Haible  <bruno@clisp.org>
13134
13135         dirname*: Respect rules for use of AC_LIBOBJ.
13136         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
13137         invocations.
13138         * modules/dirname (Makefile.am): Augment lib_SOURCES.
13139         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
13140
13141 2011-05-23  Bruno Haible  <bruno@clisp.org>
13142
13143         dirent-safer: Move AC_LIBOBJ invocations to module description.
13144         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
13145         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
13146
13147 2011-05-23  Bruno Haible  <bruno@clisp.org>
13148
13149         crypto/des: Move AC_LIBOBJ invocations to module description.
13150         * m4/des.m4: Remove file.
13151         * modules/crypto/des (Files): Remove it.
13152         (configure.ac): Remove gl_DES call.
13153         (Makefile.am): Augment lib_SOURCES.
13154
13155 2011-05-23  Bruno Haible  <bruno@clisp.org>
13156
13157         cycle-check: Move AC_LIBOBJ invocations to module description.
13158         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
13159         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
13160
13161 2011-05-23  Bruno Haible  <bruno@clisp.org>
13162
13163         c-strtold: Move AC_LIBOBJ invocations to module description.
13164         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
13165         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
13166
13167 2011-05-23  Bruno Haible  <bruno@clisp.org>
13168
13169         c-strtod: Move AC_LIBOBJ invocations to module description.
13170         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
13171         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
13172
13173 2011-05-23  Bruno Haible  <bruno@clisp.org>
13174
13175         crc: Move AC_LIBOBJ invocations to module description.
13176         * m4/crc.m4: Remove file.
13177         * modules/crc (Files): Remove it.
13178         (configure.ac): Remove gl_CRC call.
13179         (Makefile.am): Augment lib_SOURCES.
13180
13181 2011-05-23  Bruno Haible  <bruno@clisp.org>
13182
13183         close-stream: Move AC_LIBOBJ invocations to module description.
13184         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
13185         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
13186
13187 2011-05-23  Bruno Haible  <bruno@clisp.org>
13188
13189         closeout: Move AC_LIBOBJ invocations to module description.
13190         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
13191         * modules/closeout (Makefile.am): Augment lib_SOURCES.
13192
13193 2011-05-23  Bruno Haible  <bruno@clisp.org>
13194
13195         closein: Move AC_LIBOBJ invocations to module description.
13196         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
13197         * modules/closein (Makefile.am): Augment lib_SOURCES.
13198
13199 2011-05-23  Bruno Haible  <bruno@clisp.org>
13200
13201         cloexec: Move AC_LIBOBJ invocations to module description.
13202         * m4/cloexec.m4: Remove file.
13203         * modules/cloexec (Files): Remove it.
13204         (configure.ac): Remove gl_CLOEXEC call.
13205         (Makefile.am): Augment lib_SOURCES.
13206
13207 2011-05-23  Bruno Haible  <bruno@clisp.org>
13208
13209         check-version: Move AC_LIBOBJ invocations to module description.
13210         * m4/check-version.m4: Remove file.
13211         * modules/check-version (Files): Remove it.
13212         (configure.ac): Remove gl_CHECK_VERSION call.
13213         (Makefile.am): Augment lib_SOURCES.
13214
13215 2011-05-23  Bruno Haible  <bruno@clisp.org>
13216
13217         chdir-safer: Move AC_LIBOBJ invocations to module description.
13218         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
13219         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
13220
13221 2011-05-23  Bruno Haible  <bruno@clisp.org>
13222
13223         canonicalize: Move AC_LIBOBJ invocations to module description.
13224         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
13225         AC_LIBOBJ invocation.
13226         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
13227
13228 2011-05-23  Bruno Haible  <bruno@clisp.org>
13229
13230         canon-host: Move AC_LIBOBJ invocations to module description.
13231         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
13232         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
13233         instead of gl_CANON_HOST.
13234         (Makefile.am): Augment lib_SOURCES.
13235
13236 2011-05-23  Bruno Haible  <bruno@clisp.org>
13237
13238         backupfile: Move AC_LIBOBJ invocations to module description.
13239         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
13240         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
13241
13242 2011-05-23  Bruno Haible  <bruno@clisp.org>
13243
13244         argmatch: Move AC_LIBOBJ invocations to module description.
13245         * m4/argmatch.m4: Remove file.
13246         * modules/argmatch (Files): Remove it.
13247         (configure.ac): Remove gl_ARGMATCH call.
13248         (Makefile.am): Augment lib_SOURCES.
13249
13250 2011-05-23  Bruno Haible  <bruno@clisp.org>
13251
13252         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
13253         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
13254         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
13255
13256 2011-05-23  Bruno Haible  <bruno@clisp.org>
13257
13258         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
13259         * m4/arcfour.m4: Remove file.
13260         * modules/crypto/arcfour (Files): Remove it.
13261         (configure.ac): Remove gl_ARCFOUR call.
13262         (Makefile.am): Augment lib_SOURCES.
13263
13264 2011-05-22  Bruno Haible  <bruno@clisp.org>
13265
13266         write: Move AC_LIBOBJ invocations to module description.
13267         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
13268         * modules/write (configure.ac): ... to here.
13269
13270 2011-05-22  Bruno Haible  <bruno@clisp.org>
13271
13272         wmemset: Move AC_LIBOBJ invocations to module description.
13273         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
13274         here...
13275         * modules/wmemset (configure.ac): ... to here.
13276
13277 2011-05-22  Bruno Haible  <bruno@clisp.org>
13278
13279         wmemmove: Move AC_LIBOBJ invocations to module description.
13280         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
13281         here...
13282         * modules/wmemmove (configure.ac): ... to here.
13283
13284 2011-05-22  Bruno Haible  <bruno@clisp.org>
13285
13286         wmemcpy: Move AC_LIBOBJ invocations to module description.
13287         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
13288         here...
13289         * modules/wmemcpy (configure.ac): ... to here.
13290
13291 2011-05-22  Bruno Haible  <bruno@clisp.org>
13292
13293         wmemcmp: Move AC_LIBOBJ invocations to module description.
13294         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
13295         here...
13296         * modules/wmemcmp (configure.ac): ... to here.
13297
13298 2011-05-22  Bruno Haible  <bruno@clisp.org>
13299
13300         wmemchr: Move AC_LIBOBJ invocations to module description.
13301         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
13302         here...
13303         * modules/wmemchr (configure.ac): ... to here.
13304
13305 2011-05-22  Bruno Haible  <bruno@clisp.org>
13306
13307         wcswidth: Move AC_LIBOBJ invocations to module description.
13308         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
13309         here...
13310         * modules/wcswidth (configure.ac): ... to here.
13311
13312 2011-05-22  Bruno Haible  <bruno@clisp.org>
13313
13314         wcwidth: Respect rules for use of AC_LIBOBJ.
13315         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
13316         invocation from here...
13317         * modules/wcwidth (configure.ac): ... to here.
13318         (Depends-on): Update conditions.
13319
13320 2011-05-22  Bruno Haible  <bruno@clisp.org>
13321
13322         wctype: Move AC_LIBOBJ invocations to module description.
13323         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
13324         invocation from here...
13325         * modules/wctype (configure.ac): ... to here.
13326         (Depends-on): Update conditions.
13327
13328 2011-05-22  Bruno Haible  <bruno@clisp.org>
13329
13330         wctrans: Move AC_LIBOBJ invocations to module description.
13331         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
13332         invocation from here...
13333         * modules/wctrans (configure.ac): ... to here.
13334
13335 2011-05-22  Bruno Haible  <bruno@clisp.org>
13336
13337         wctomb: Move AC_LIBOBJ invocations to module description.
13338         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
13339         invocations from here...
13340         * modules/wctomb (configure.ac): ... to here.
13341
13342 2011-05-22  Bruno Haible  <bruno@clisp.org>
13343
13344         wctob: Move AC_LIBOBJ invocations to module description.
13345         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
13346         gl_PREREQ_WCTOB invocations from here...
13347         * modules/wctob (configure.ac): ... to here.
13348         (Depends-on): Update conditions.
13349
13350 2011-05-22  Bruno Haible  <bruno@clisp.org>
13351
13352         wcsxfrm: Move AC_LIBOBJ invocations to module description.
13353         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
13354         here...
13355         * modules/wcsxfrm (configure.ac): ... to here.
13356
13357 2011-05-22  Bruno Haible  <bruno@clisp.org>
13358
13359         wcstok: Move AC_LIBOBJ invocations to module description.
13360         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
13361         * modules/wcstok (configure.ac): ... to here.
13362
13363 2011-05-22  Bruno Haible  <bruno@clisp.org>
13364
13365         wcsstr: Move AC_LIBOBJ invocations to module description.
13366         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
13367         * modules/wcsstr (configure.ac): ... to here.
13368
13369 2011-05-22  Bruno Haible  <bruno@clisp.org>
13370
13371         wcsspn: Move AC_LIBOBJ invocations to module description.
13372         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
13373         * modules/wcsspn (configure.ac): ... to here.
13374
13375 2011-05-22  Bruno Haible  <bruno@clisp.org>
13376
13377         wcsrtombs: Move AC_LIBOBJ invocations to module description.
13378         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
13379         gl_PREREQ_WCSRTOMBS invocations from here...
13380         * modules/wcsrtombs (configure.ac): ... to here.
13381
13382 2011-05-22  Bruno Haible  <bruno@clisp.org>
13383
13384         wcsrchr: Move AC_LIBOBJ invocations to module description.
13385         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
13386         here...
13387         * modules/wcsrchr (configure.ac): ... to here.
13388
13389 2011-05-22  Bruno Haible  <bruno@clisp.org>
13390
13391         wcspbrk: Move AC_LIBOBJ invocations to module description.
13392         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
13393         here...
13394         * modules/wcspbrk (configure.ac): ... to here.
13395
13396 2011-05-22  Bruno Haible  <bruno@clisp.org>
13397
13398         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
13399         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
13400         gl_PREREQ_WCSNRTOMBS invocations from here...
13401         * modules/wcsnrtombs (configure.ac): ... to here.
13402
13403 2011-05-22  Bruno Haible  <bruno@clisp.org>
13404
13405         wcsnlen: Move AC_LIBOBJ invocations to module description.
13406         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
13407         here...
13408         * modules/wcsnlen (configure.ac): ... to here.
13409
13410 2011-05-22  Bruno Haible  <bruno@clisp.org>
13411
13412         wcsncpy: Move AC_LIBOBJ invocations to module description.
13413         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
13414         here...
13415         * modules/wcsncpy (configure.ac): ... to here.
13416
13417 2011-05-22  Bruno Haible  <bruno@clisp.org>
13418
13419         wcsncmp: Move AC_LIBOBJ invocations to module description.
13420         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
13421         here...
13422         * modules/wcsncmp (configure.ac): ... to here.
13423
13424 2011-05-22  Bruno Haible  <bruno@clisp.org>
13425
13426         wcsncat: Move AC_LIBOBJ invocations to module description.
13427         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
13428         here...
13429         * modules/wcsncat (configure.ac): ... to here.
13430
13431 2011-05-22  Bruno Haible  <bruno@clisp.org>
13432
13433         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
13434         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
13435         from here...
13436         * modules/wcsncasecmp (configure.ac): ... to here.
13437
13438 2011-05-22  Bruno Haible  <bruno@clisp.org>
13439
13440         wcslen: Move AC_LIBOBJ invocations to module description.
13441         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
13442         * modules/wcslen (configure.ac): ... to here.
13443
13444 2011-05-22  Bruno Haible  <bruno@clisp.org>
13445
13446         wcsdup: Move AC_LIBOBJ invocations to module description.
13447         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
13448         * modules/wcsdup (configure.ac): ... to here.
13449
13450 2011-05-22  Bruno Haible  <bruno@clisp.org>
13451
13452         wcscspn: Move AC_LIBOBJ invocations to module description.
13453         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
13454         here...
13455         * modules/wcscspn (configure.ac): ... to here.
13456
13457 2011-05-22  Bruno Haible  <bruno@clisp.org>
13458
13459         wcscpy: Move AC_LIBOBJ invocations to module description.
13460         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
13461         * modules/wcscpy (configure.ac): ... to here.
13462
13463 2011-05-22  Bruno Haible  <bruno@clisp.org>
13464
13465         wcscoll: Move AC_LIBOBJ invocations to module description.
13466         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
13467         here...
13468         * modules/wcscoll (configure.ac): ... to here.
13469
13470 2011-05-22  Bruno Haible  <bruno@clisp.org>
13471
13472         wcscmp: Move AC_LIBOBJ invocations to module description.
13473         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
13474         * modules/wcscmp (configure.ac): ... to here.
13475
13476 2011-05-22  Bruno Haible  <bruno@clisp.org>
13477
13478         wcschr: Move AC_LIBOBJ invocations to module description.
13479         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
13480         * modules/wcschr (configure.ac): ... to here.
13481
13482 2011-05-22  Bruno Haible  <bruno@clisp.org>
13483
13484         wcscat: Move AC_LIBOBJ invocations to module description.
13485         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
13486         * modules/wcscat (configure.ac): ... to here.
13487
13488 2011-05-22  Bruno Haible  <bruno@clisp.org>
13489
13490         wcscasecmp: Move AC_LIBOBJ invocations to module description.
13491         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
13492         here...
13493         * modules/wcscasecmp (configure.ac): ... to here.
13494
13495 2011-05-22  Bruno Haible  <bruno@clisp.org>
13496
13497         wcrtomb: Move AC_LIBOBJ invocations to module description.
13498         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
13499         invocations from here...
13500         * modules/wcrtomb (configure.ac): ... to here.
13501
13502 2011-05-22  Bruno Haible  <bruno@clisp.org>
13503
13504         wcpncpy: Move AC_LIBOBJ invocations to module description.
13505         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
13506         here...
13507         * modules/wcpncpy (configure.ac): ... to here.
13508
13509 2011-05-22  Bruno Haible  <bruno@clisp.org>
13510
13511         wcpcpy: Move AC_LIBOBJ invocations to module description.
13512         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
13513         * modules/wcpcpy (configure.ac): ... to here.
13514
13515 2011-05-22  Bruno Haible  <bruno@clisp.org>
13516
13517         waitpid: Move AC_LIBOBJ invocations to module description.
13518         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
13519         invocation from here...
13520         * modules/waitpid (configure.ac): ... to here.
13521
13522 2011-05-22  Bruno Haible  <bruno@clisp.org>
13523
13524         utimensat: Move AC_LIBOBJ invocations to module description.
13525         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
13526         here...
13527         * modules/utimensat (configure.ac): ... to here.
13528
13529 2011-05-22  Bruno Haible  <bruno@clisp.org>
13530
13531         usleep: Move AC_LIBOBJ invocations to module description.
13532         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
13533         here...
13534         * modules/usleep (configure.ac): ... to here.
13535
13536 2011-05-22  Bruno Haible  <bruno@clisp.org>
13537
13538         unlockpt: Move AC_LIBOBJ invocations to module description.
13539         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
13540         gl_PREREQ_UNLOCKPT invocations from here...
13541         * modules/unlockpt (configure.ac): ... to here.
13542
13543 2011-05-22  Bruno Haible  <bruno@clisp.org>
13544
13545         unlink: Respect rules for use of AC_LIBOBJ.
13546         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
13547         * modules/unlink (configure.ac): ... to here.
13548
13549 2011-05-22  Bruno Haible  <bruno@clisp.org>
13550
13551         uname: Move AC_LIBOBJ invocations to module description.
13552         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
13553         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
13554         here...
13555         * modules/uname (configure.ac): ... to here.
13556
13557 2011-05-22  Bruno Haible  <bruno@clisp.org>
13558
13559         ttyname_r: Move AC_LIBOBJ invocations to module description.
13560         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
13561         gl_PREREQ_TTYNAME_R invocations from here...
13562         * modules/ttyname_r (configure.ac): ... to here.
13563
13564 2011-05-22  Bruno Haible  <bruno@clisp.org>
13565
13566         tsearch: Move AC_LIBOBJ invocations to module description.
13567         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
13568         invocations from here...
13569         * modules/tsearch (configure.ac): ... to here.
13570
13571 2011-05-22  Bruno Haible  <bruno@clisp.org>
13572
13573         towctrans: Move AC_LIBOBJ invocations to module description.
13574         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
13575         AC_LIBOBJ invocation from here...
13576         * modules/towctrans (configure.ac): ... to here.
13577
13578 2011-05-22  Bruno Haible  <bruno@clisp.org>
13579
13580         tmpfile: Move AC_LIBOBJ invocations to module description.
13581         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
13582         invocations from here...
13583         * modules/tmpfile (configure.ac): ... to here.
13584
13585 2011-05-22  Bruno Haible  <bruno@clisp.org>
13586
13587         times: Move AC_LIBOBJ invocations to module description.
13588         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
13589         * modules/times (configure.ac): ... to here.
13590
13591 2011-05-22  Bruno Haible  <bruno@clisp.org>
13592
13593         time_r: Move AC_LIBOBJ invocations to module description.
13594         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
13595         invocations from here...
13596         * modules/time_r (configure.ac): ... to here.
13597
13598 2011-05-22  Bruno Haible  <bruno@clisp.org>
13599
13600         timegm: Move AC_LIBOBJ invocations to module description.
13601         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
13602         invocations from here...
13603         * modules/timegm (configure.ac): ... to here.
13604
13605 2011-05-22  Bruno Haible  <bruno@clisp.org>
13606
13607         tcgetsid: Move AC_LIBOBJ invocations to module description.
13608         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
13609         and gl_PREREQ_TCGETSID invocations from here...
13610         * modules/tcgetsid (configure.ac): ... to here.
13611         (Depends-on): Update conditions.
13612
13613 2011-05-22  Bruno Haible  <bruno@clisp.org>
13614
13615         symlinkat: Move AC_LIBOBJ invocations to module description.
13616         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
13617         here...
13618         * modules/symlinkat (configure.ac): ... to here.
13619
13620 2011-05-22  Bruno Haible  <bruno@clisp.org>
13621
13622         symlink: Move AC_LIBOBJ invocations to module description.
13623         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
13624         here...
13625         * modules/symlink (configure.ac): ... to here.
13626
13627 2011-05-22  Bruno Haible  <bruno@clisp.org>
13628
13629         strverscmp: Move AC_LIBOBJ invocations to module description.
13630         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
13631         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
13632         from here...
13633         * modules/strverscmp (configure.ac): ... to here.
13634
13635 2011-05-22  Bruno Haible  <bruno@clisp.org>
13636
13637         strtok_r: Move AC_LIBOBJ invocations to module description.
13638         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
13639         and gl_PREREQ_STRTOK_R invocations from here...
13640         * modules/strtok_r (configure.ac): ... to here.
13641         (Depends-on): Update conditions.
13642
13643 2011-05-22  Bruno Haible  <bruno@clisp.org>
13644
13645         strtoumax: Move AC_LIBOBJ invocations to module description.
13646         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
13647         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
13648         from here...
13649         * modules/strtoumax (configure.ac): ... to here.
13650
13651 2011-05-22  Bruno Haible  <bruno@clisp.org>
13652
13653         strtoimax: Move AC_LIBOBJ invocations to module description.
13654         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
13655         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
13656         from here...
13657         * modules/strtoimax (configure.ac): ... to here.
13658
13659 2011-05-22  Bruno Haible  <bruno@clisp.org>
13660
13661         strtoull: Move AC_LIBOBJ invocations to module description.
13662         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
13663         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
13664         from here...
13665         * modules/strtoull (configure.ac): ... to here.
13666
13667 2011-05-22  Bruno Haible  <bruno@clisp.org>
13668
13669         strtoll: Move AC_LIBOBJ invocations to module description.
13670         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
13671         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
13672         here...
13673         * modules/strtoll (configure.ac): ... to here.
13674
13675 2011-05-22  Bruno Haible  <bruno@clisp.org>
13676
13677         strtoul: Move AC_LIBOBJ invocations to module description.
13678         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
13679         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13680         * modules/strtoul (configure.ac): ... to here.
13681
13682 2011-05-22  Bruno Haible  <bruno@clisp.org>
13683
13684         strtol: Move AC_LIBOBJ invocations to module description.
13685         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
13686         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13687         * modules/strtol (configure.ac): ... to here.
13688
13689 2011-05-22  Bruno Haible  <bruno@clisp.org>
13690
13691         strtod: Move AC_LIBOBJ invocations to module description.
13692         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
13693         invocations from here...
13694         * modules/strtod (configure.ac): ... to here.
13695
13696 2011-05-22  Bruno Haible  <bruno@clisp.org>
13697
13698         strstr*: Move AC_LIBOBJ invocations to module description.
13699         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
13700         invocations from here...
13701         * modules/strstr-simple (configure.ac): ... to here.
13702         * modules/strstr (configure.ac): ... and here.
13703
13704 2011-05-22  Bruno Haible  <bruno@clisp.org>
13705
13706         strsignal: Move AC_LIBOBJ invocations to module description.
13707         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
13708         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
13709         * modules/strsignal (configure.ac): ... to here.
13710         (Depends-on): Update conditions.
13711
13712 2011-05-22  Bruno Haible  <bruno@clisp.org>
13713
13714         strsep: Move AC_LIBOBJ invocations to module description.
13715         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
13716         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
13717         here...
13718         * modules/strsep (configure.ac): ... to here.
13719
13720 2011-05-22  Bruno Haible  <bruno@clisp.org>
13721
13722         strptime: Move AC_LIBOBJ invocations to module description.
13723         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
13724         gl_PREREQ_STRPTIME invocations from here...
13725         * modules/strptime (configure.ac): ... to here.
13726
13727 2011-05-22  Bruno Haible  <bruno@clisp.org>
13728
13729         strpbrk: Move AC_LIBOBJ invocations to module description.
13730         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
13731         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
13732         here...
13733         * modules/strpbrk (configure.ac): ... to here.
13734
13735 2011-05-22  Bruno Haible  <bruno@clisp.org>
13736
13737         strnlen: Move AC_LIBOBJ invocations to module description.
13738         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
13739         invocations from here...
13740         * modules/strnlen (configure.ac): ... to here.
13741
13742 2011-05-22  Bruno Haible  <bruno@clisp.org>
13743
13744         strndup: Move AC_LIBOBJ invocations to module description.
13745         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
13746         invocations from here...
13747         * modules/strndup (configure.ac): ... to here.
13748         (Depends-on): Update conditions.
13749
13750 2011-05-22  Bruno Haible  <bruno@clisp.org>
13751
13752         strncat: Move AC_LIBOBJ invocations to module description.
13753         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
13754         invocations from here...
13755         * modules/strncat (configure.ac): ... to here.
13756
13757 2011-05-22  Bruno Haible  <bruno@clisp.org>
13758
13759         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
13760         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
13761         invocations from here...
13762         * modules/strdup (configure.ac): ... to here.
13763         * modules/strdup-posix (configure.ac): ... and here.
13764
13765 2011-05-22  Bruno Haible  <bruno@clisp.org>
13766
13767         strcspn: Move AC_LIBOBJ invocations to module description.
13768         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
13769         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
13770         here...
13771         * modules/strcspn (configure.ac): ... to here.
13772
13773 2011-05-22  Bruno Haible  <bruno@clisp.org>
13774
13775         strchrnul: Move AC_LIBOBJ invocations to module description.
13776         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
13777         gl_PREREQ_STRCHRNUL invocations from here...
13778         * modules/strchrnul (configure.ac): ... to here.
13779
13780 2011-05-22  Bruno Haible  <bruno@clisp.org>
13781
13782         strcasestr*: Move AC_LIBOBJ invocations to module description.
13783         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
13784         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
13785         * modules/strcasestr-simple (configure.ac): ... to here.
13786         * modules/strcasestr (configure.ac): ... and here.
13787
13788 2011-05-22  Bruno Haible  <bruno@clisp.org>
13789
13790         strcase: Move AC_LIBOBJ invocations to module description.
13791         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
13792         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
13793         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
13794         gl_PREREQ_STRNCASECMP invocations from here...
13795         * modules/strcase (configure.ac): ... to here.
13796
13797 2011-05-22  Bruno Haible  <bruno@clisp.org>
13798
13799         stpncpy: Move AC_LIBOBJ invocations to module description.
13800         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
13801         here...
13802         * modules/stpncpy (configure.ac): ... to here.
13803
13804 2011-05-22  Bruno Haible  <bruno@clisp.org>
13805
13806         stpcpy: Move AC_LIBOBJ invocations to module description.
13807         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
13808         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
13809         here...
13810         * modules/stpcpy (configure.ac): ... to here.
13811
13812 2011-05-21  Bruno Haible  <bruno@clisp.org>
13813
13814         stat: Move AC_LIBOBJ invocations to module description.
13815         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
13816         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
13817         here...
13818         * modules/stat (configure.ac): ... to here.
13819
13820 2011-05-21  Bruno Haible  <bruno@clisp.org>
13821
13822         sleep: Move AC_LIBOBJ invocations to module description.
13823         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
13824         * modules/sleep (configure.ac): ... to here.
13825
13826 2011-05-21  Bruno Haible  <bruno@clisp.org>
13827
13828         signbit: Move AC_LIBOBJ invocations to module description.
13829         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
13830         * modules/signbit (configure.ac): ... to here.
13831
13832 2011-05-21  Bruno Haible  <bruno@clisp.org>
13833
13834         sigprocmask: Move AC_LIBOBJ invocations to module description.
13835         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
13836         gl_PREREQ_SIGPROMASK invocations from here...
13837         * modules/sigprocmask (configure.ac): ... to here.
13838
13839 2011-05-21  Bruno Haible  <bruno@clisp.org>
13840
13841         sigaction: Move AC_LIBOBJ invocations to module description.
13842         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
13843         gl_PREREQ_SIGACTION invocations from here...
13844         * modules/sigaction (configure.ac): ... to here.
13845
13846 2011-05-21  Bruno Haible  <bruno@clisp.org>
13847
13848         sig2str: Move AC_LIBOBJ invocations to module description.
13849         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
13850         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
13851         here...
13852         * modules/sig2str (configure.ac): ... to here.
13853
13854 2011-05-21  Bruno Haible  <bruno@clisp.org>
13855
13856         setlocale: Move AC_LIBOBJ invocations to module description.
13857         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
13858         gl_PREREQ_SETLOCALE invocations from here...
13859         * modules/setlocale (configure.ac): ... to here.
13860
13861 2011-05-21  Bruno Haible  <bruno@clisp.org>
13862
13863         unsetenv: Move AC_LIBOBJ invocations to module description.
13864         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
13865         and gl_PREREQ_UNSETENV invocations from here...
13866         * modules/unsetenv (configure.ac): ... to here.
13867         (Depends-on): Update.
13868
13869 2011-05-21  Bruno Haible  <bruno@clisp.org>
13870
13871         setenv: Move AC_LIBOBJ invocations to module description.
13872         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
13873         here...
13874         * modules/setenv (configure.ac): ... to here.
13875
13876 2011-05-21  Bruno Haible  <bruno@clisp.org>
13877
13878         selinux-h: Move AC_LIBOBJ invocations to module description.
13879         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
13880         AC_LIBOBJ invocation from here...
13881         * modules/selinux-h (configure.ac): ... to here.
13882
13883 2011-05-21  Bruno Haible  <bruno@clisp.org>
13884
13885         select: Respect rules for use of AC_LIBOBJ.
13886         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
13887         here...
13888         * modules/select (configure.ac): ... to here.
13889
13890 2011-05-21  Bruno Haible  <bruno@clisp.org>
13891
13892         scandir: Move AC_LIBOBJ invocations to module description.
13893         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
13894         invocations from here...
13895         * modules/scandir (configure.ac): ... to here.
13896
13897 2011-05-21  Bruno Haible  <bruno@clisp.org>
13898
13899         rpmatch: Move AC_LIBOBJ invocations to module description.
13900         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
13901         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
13902         here...
13903         * modules/rpmatch (configure.ac): ... to here.
13904
13905 2011-05-21  Bruno Haible  <bruno@clisp.org>
13906
13907         rmdir: Respect rules for use of AC_LIBOBJ.
13908         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
13909         * modules/rmdir (configure.ac): ... to here.
13910
13911 2011-05-21  Bruno Haible  <bruno@clisp.org>
13912
13913         renameat: Move AC_LIBOBJ invocations to module description.
13914         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
13915         here...
13916         * modules/renameat (configure.ac): ... to here.
13917
13918 2011-05-21  Bruno Haible  <bruno@clisp.org>
13919
13920         rename: Respect rules for use of AC_LIBOBJ.
13921         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
13922         here...
13923         * modules/rename (configure.ac): ... to here.
13924
13925 2011-05-21  Bruno Haible  <bruno@clisp.org>
13926
13927         remove: Move AC_LIBOBJ invocations to module description.
13928         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
13929         here...
13930         * modules/remove (configure.ac): ... to here.
13931
13932 2011-05-21  Bruno Haible  <bruno@clisp.org>
13933
13934         relocatable-lib: Move AC_LIBOBJ invocations to module description.
13935         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
13936         macro.
13937         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
13938         * modules/relocatable-lib (configure.ac): ... to here.
13939         * modules/relocatable-prog-wrapper (configure.ac): Invoke
13940         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
13941
13942 2011-05-21  Bruno Haible  <bruno@clisp.org>
13943
13944         relocatable-prog: Move AC_LIBOBJ invocations to module description.
13945         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
13946         here...
13947         * modules/relocatable-prog (configure.ac): ... to here.
13948
13949 2011-05-21  Bruno Haible  <bruno@clisp.org>
13950
13951         regex: Move AC_LIBOBJ invocations to module description.
13952         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
13953         invocations from here...
13954         * modules/regex (configure.ac): ... to here.
13955
13956 2011-05-21  Bruno Haible  <bruno@clisp.org>
13957
13958         realloc-*: Move AC_LIBOBJ invocations to module description.
13959         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
13960         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
13961         AC_LIBOBJ invocations from here...
13962         * modules/realloc-gnu (configure.ac): ... to here.
13963         * modules/realloc-posix (configure.ac): ... and here.
13964
13965 2011-05-21  Bruno Haible  <bruno@clisp.org>
13966
13967         readutmp: Move AC_LIBOBJ invocations to module description.
13968         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
13969         * modules/readutmp (configure.ac): ... to here.
13970
13971 2011-05-21  Bruno Haible  <bruno@clisp.org>
13972
13973         readlinkat: Move AC_LIBOBJ invocations to module description.
13974         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
13975         here...
13976         * modules/readlinkat (configure.ac): ... to here.
13977
13978 2011-05-21  Bruno Haible  <bruno@clisp.org>
13979
13980         readlink: Move AC_LIBOBJ invocations to module description.
13981         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
13982         gl_PREREQ_READLINK invocations from here...
13983         * modules/readlink (configure.ac): ... to here.
13984
13985 2011-05-21  Bruno Haible  <bruno@clisp.org>
13986
13987         readline: Move AC_LIBOBJ invocations to module description.
13988         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
13989         gl_PREREQ_READLINE invocations from here...
13990         * modules/readline (configure.ac): ... to here.
13991
13992 2011-05-21  Bruno Haible  <bruno@clisp.org>
13993
13994         read: Move AC_LIBOBJ invocations to module description.
13995         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
13996         * modules/read (configure.ac): ... to here.
13997
13998 2011-05-21  Bruno Haible  <bruno@clisp.org>
13999
14000         rawmemchr: Move AC_LIBOBJ invocations to module description.
14001         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
14002         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
14003         from here...
14004         * modules/rawmemchr (configure.ac): ... to here.
14005
14006 2011-05-21  Bruno Haible  <bruno@clisp.org>
14007
14008         random_r: Move AC_LIBOBJ invocations to module description.
14009         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
14010         gl_PREREQ_RANDOM_R invocations from here...
14011         * modules/random_r (configure.ac): ... to here.
14012
14013 2011-05-21  Bruno Haible  <bruno@clisp.org>
14014
14015         pwrite: Move AC_LIBOBJ invocations to module description.
14016         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
14017         * modules/pwrite (configure.ac): ... to here.
14018
14019 2011-05-21  Bruno Haible  <bruno@clisp.org>
14020
14021         putenv: Move AC_LIBOBJ invocations to module description.
14022         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
14023         * modules/putenv (configure.ac): ... to here.
14024
14025 2011-05-21  Bruno Haible  <bruno@clisp.org>
14026
14027         login_tty: Move AC_LIBOBJ invocations to module description.
14028         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
14029         * modules/login_tty (configure.ac): ... to here.
14030
14031 2011-05-21  Bruno Haible  <bruno@clisp.org>
14032
14033         openpty: Move AC_LIBOBJ invocations to module description.
14034         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
14035         * modules/openpty (configure.ac): ... to here.
14036
14037 2011-05-21  Bruno Haible  <bruno@clisp.org>
14038
14039         forkpty: Move AC_LIBOBJ invocations to module description.
14040         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
14041         * modules/forkpty (configure.ac): ... to here.
14042
14043 2011-05-21  Bruno Haible  <bruno@clisp.org>
14044
14045         ptsname: Move AC_LIBOBJ invocations to module description.
14046         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
14047         invocations from here...
14048         * modules/ptsname (configure.ac): ... to here.
14049
14050 2011-05-21  Bruno Haible  <bruno@clisp.org>
14051
14052         pread: Move AC_LIBOBJ invocations to module description.
14053         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
14054         * modules/pread (configure.ac): ... to here.
14055
14056 2011-05-21  Bruno Haible  <bruno@clisp.org>
14057
14058         posix_spawn*: Move AC_LIBOBJ invocations to module description.
14059         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
14060         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
14061         * modules/posix_spawn (configure.ac): ... to here.
14062         * modules/posix_spawnp (configure.ac): ... and here.
14063
14064 2011-05-21  Bruno Haible  <bruno@clisp.org>
14065
14066         popen: Move AC_LIBOBJ invocations to module description.
14067         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
14068         invocations from here...
14069         * modules/popen (configure.ac): ... to here.
14070
14071 2011-05-21  Bruno Haible  <bruno@clisp.org>
14072
14073         poll: Move AC_LIBOBJ invocations to module description.
14074         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
14075         invocations from here...
14076         * modules/poll (configure.ac): ... to here.
14077
14078 2011-05-21  Bruno Haible  <bruno@clisp.org>
14079
14080         pipe-posix: Move AC_LIBOBJ invocations to module description.
14081         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
14082         * modules/pipe-posix (configure.ac): ... to here.
14083
14084 2011-05-21  Bruno Haible  <bruno@clisp.org>
14085
14086         openat: Respect rules for use of AC_LIBOBJ.
14087         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
14088         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14089         * modules/openat (configure.ac): ... to here.
14090
14091 2011-05-21  Bruno Haible  <bruno@clisp.org>
14092
14093         obstack-printf*: Move AC_LIBOBJ invocations to module description.
14094         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
14095         invocation from here...
14096         * modules/obstack-printf (configure.ac): ... to here.
14097         * modules/obstack-printf-posix (configure.ac): ... and here.
14098
14099 2011-05-21  Bruno Haible  <bruno@clisp.org>
14100
14101         nl_langinfo: Move AC_LIBOBJ invocations to module description.
14102         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
14103         from here...
14104         * modules/nl_langinfo (configure.ac): ... to here.
14105
14106 2011-05-21  Bruno Haible  <bruno@clisp.org>
14107
14108         nanosleep: Move AC_LIBOBJ invocations to module description.
14109         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
14110         gl_PREREQ_NANOSLEEP invocations from here...
14111         * modules/nanosleep (configure.ac): ... to here.
14112
14113 2011-05-21  Bruno Haible  <bruno@clisp.org>
14114
14115         mountlist: Move AC_LIBOBJ invocations to module description.
14116         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
14117         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
14118         * modules/mountlist (configure.ac): ... to here.
14119
14120 2011-05-21  Bruno Haible  <bruno@clisp.org>
14121
14122         mktime: Respect rules for use of AC_LIBOBJ.
14123         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
14124         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
14125         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
14126         (gl_FUNC_MKTIME_INTERNAL): ... and here...
14127         * modules/mktime (configure.ac): ... to here.
14128         * modules/mktime-internal (configure.ac): ... and here.
14129         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
14130
14131 2011-05-21  Bruno Haible  <bruno@clisp.org>
14132
14133         mkstemps: Move AC_LIBOBJ invocations to module description.
14134         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
14135         here...
14136         * modules/mkstemps (configure.ac): ... to here.
14137
14138 2011-05-21  Bruno Haible  <bruno@clisp.org>
14139
14140         mkstemp: Move AC_LIBOBJ invocations to module description.
14141         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
14142         gl_PREREQ_MKSTEMP invocations from here...
14143         * modules/mkstemp (configure.ac): ... to here.
14144
14145 2011-05-21  Bruno Haible  <bruno@clisp.org>
14146
14147         mkostemps: Move AC_LIBOBJ invocations to module description.
14148         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
14149         here...
14150         * modules/mkostemps (configure.ac): ... to here.
14151
14152 2011-05-21  Bruno Haible  <bruno@clisp.org>
14153
14154         mkostemp: Move AC_LIBOBJ invocations to module description.
14155         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
14156         gl_PREREQ_MKOSTEMP invocations from here...
14157         * modules/mkostemp (configure.ac): ... to here.
14158
14159 2011-05-21  Bruno Haible  <bruno@clisp.org>
14160
14161         mknod: Move AC_LIBOBJ invocations to module description.
14162         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
14163         * modules/mknod (configure.ac): ... to here.
14164
14165 2011-05-21  Bruno Haible  <bruno@clisp.org>
14166
14167         mkfifoat: Move AC_LIBOBJ invocations to module description.
14168         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
14169         here...
14170         * modules/mkfifoat (configure.ac): ... to here.
14171
14172 2011-05-21  Bruno Haible  <bruno@clisp.org>
14173
14174         mkfifo: Respect rules for use of AC_LIBOBJ.
14175         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
14176         here...
14177         * modules/mkfifo (configure.ac): ... to here.
14178
14179 2011-05-21  Bruno Haible  <bruno@clisp.org>
14180
14181         mkdtemp: Move AC_LIBOBJ invocations to module description.
14182         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
14183         invocations from here...
14184         * modules/mkdtemp (configure.ac): ... to here.
14185
14186 2011-05-21  Bruno Haible  <bruno@clisp.org>
14187
14188         mkdir: Move AC_LIBOBJ invocations to module description.
14189         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
14190         * modules/mkdir (configure.ac): ... to here.
14191
14192 2011-05-21  Bruno Haible  <bruno@clisp.org>
14193
14194         memset: Move AC_LIBOBJ invocations to module description.
14195         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
14196         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
14197         here...
14198         * modules/memset (configure.ac): ... to here.
14199
14200 2011-05-21  Bruno Haible  <bruno@clisp.org>
14201
14202         memrchr: Move AC_LIBOBJ invocations to module description.
14203         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
14204         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
14205         here...
14206         * modules/memrchr (configure.ac): ... to here.
14207
14208 2011-05-21  Bruno Haible  <bruno@clisp.org>
14209
14210         mempcpy: Move AC_LIBOBJ invocations to module description.
14211         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
14212         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
14213         here...
14214         * modules/mempcpy (configure.ac): ... to here.
14215
14216 2011-05-21  Bruno Haible  <bruno@clisp.org>
14217
14218         memmove: Move AC_LIBOBJ invocations to module description.
14219         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
14220         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
14221         here...
14222         * modules/memmove (configure.ac): ... to here.
14223
14224 2011-05-21  Bruno Haible  <bruno@clisp.org>
14225
14226         memmem*: Move AC_LIBOBJ invocations to module description.
14227         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
14228         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
14229         here...
14230         (gl_FUNC_MEMMEM): ... and here...
14231         * modules/memmem-simple (configure.ac): ... to here.
14232         * modules/memmem (configure.ac): ... and here.
14233
14234 2011-05-21  Bruno Haible  <bruno@clisp.org>
14235
14236         memcpy: Move AC_LIBOBJ invocations to module description.
14237         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
14238         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
14239         here...
14240         * modules/memcpy (configure.ac): ... to here.
14241
14242 2011-05-21  Bruno Haible  <bruno@clisp.org>
14243
14244         memcmp: Simplify autoconf macro.
14245         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
14246         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
14247         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
14248
14249 2011-05-21  Bruno Haible  <bruno@clisp.org>
14250
14251         memcmp: Move AC_LIBOBJ invocations to module description.
14252         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
14253         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
14254         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
14255         * modules/memcmp (configure.ac): ... to here.
14256         (Depends-on): Update conditions.
14257
14258 2011-05-21  Bruno Haible  <bruno@clisp.org>
14259
14260         memchr: Respect rules for use of AC_LIBOBJ.
14261         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
14262         invocations from here...
14263         * modules/memchr (configure.ac): ... to here.
14264
14265 2011-05-21  Bruno Haible  <bruno@clisp.org>
14266
14267         mbtowc: Move AC_LIBOBJ invocations to module description.
14268         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
14269         invocations from here...
14270         * modules/mbtowc (configure.ac): ... to here.
14271
14272 2011-05-21  Bruno Haible  <bruno@clisp.org>
14273
14274         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
14275         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
14276         gl_PREREQ_MBSRTOWCS invocations from here...
14277         * modules/mbsrtowcs (configure.ac): ... to here.
14278
14279 2011-05-21  Bruno Haible  <bruno@clisp.org>
14280
14281         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
14282         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
14283         gl_PREREQ_MBSNRTOWCS invocations from here...
14284         * modules/mbsnrtowcs (configure.ac): ... to here.
14285
14286 2011-05-21  Bruno Haible  <bruno@clisp.org>
14287
14288         mbsinit: Move AC_LIBOBJ invocations to module description.
14289         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
14290         invocations from here...
14291         * modules/mbsinit (configure.ac): ... to here.
14292
14293 2011-05-21  Bruno Haible  <bruno@clisp.org>
14294
14295         mbrlen: Move AC_LIBOBJ invocations to module description.
14296         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
14297         invocations from here...
14298         * modules/mbrlen (configure.ac): ... to here.
14299
14300 2011-05-21  Bruno Haible  <bruno@clisp.org>
14301
14302         mbrtowc: Respect rules for use of AC_LIBOBJ.
14303         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
14304         invocations from here...
14305         * modules/mbrtowc (configure.ac): ... to here.
14306
14307 2011-05-21  Bruno Haible  <bruno@clisp.org>
14308
14309         malloc-*: Move AC_LIBOBJ invocations to module description.
14310         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
14311         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
14312         AC_LIBOBJ invocations from here...
14313         * modules/malloc-gnu (configure.ac): ... to here.
14314         * modules/malloc-posix (configure.ac): ... and here.
14315
14316 2011-05-21  Bruno Haible  <bruno@clisp.org>
14317
14318         lstat, openat: Respect rules for use of AC_LIBOBJ.
14319         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
14320         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
14321         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
14322         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
14323         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
14324         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
14325         here.
14326         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
14327
14328 2011-05-21  Bruno Haible  <bruno@clisp.org>
14329
14330         lseek: Move AC_LIBOBJ invocations to module description.
14331         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
14332         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
14333         * modules/lseek (configure.ac): ... to here.
14334
14335 2011-05-21  Bruno Haible  <bruno@clisp.org>
14336
14337         linkat: Move AC_LIBOBJ invocations to module description.
14338         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
14339         here...
14340         * modules/linkat (configure.ac): ... to here.
14341
14342 2011-05-21  Bruno Haible  <bruno@clisp.org>
14343
14344         link: Respect rules for use of AC_LIBOBJ.
14345         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
14346         * modules/link (configure.ac): ... to here.
14347
14348 2011-05-21  Bruno Haible  <bruno@clisp.org>
14349
14350         lchown: Move AC_LIBOBJ invocations to module description.
14351         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14352         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14353         * modules/lchown (configure.ac): ... to here.
14354
14355 2011-05-21  Bruno Haible  <bruno@clisp.org>
14356
14357         iswctype: Move AC_LIBOBJ invocations to module description.
14358         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
14359         here...
14360         * modules/iswctype (configure.ac): ... to here.
14361
14362 2011-05-21  Bruno Haible  <bruno@clisp.org>
14363
14364         iswblank: Move AC_LIBOBJ invocations to module description.
14365         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
14366         here...
14367         * modules/iswblank (configure.ac): ... to here.
14368
14369 2011-05-21  Bruno Haible  <bruno@clisp.org>
14370
14371         atanl: Move AC_LIBOBJ invocations to module description.
14372         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
14373         * modules/atanl (configure.ac): ... to here.
14374
14375 2011-05-21  Bruno Haible  <bruno@clisp.org>
14376
14377         acosl: Move AC_LIBOBJ invocations to module description.
14378         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
14379         * modules/acosl (configure.ac): ... to here.
14380
14381 2011-05-21  Bruno Haible  <bruno@clisp.org>
14382
14383         asinl: Respect rules for use of AC_LIBOBJ.
14384         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
14385         * modules/asinl (configure.ac): ... to here.
14386
14387 2011-05-21  Bruno Haible  <bruno@clisp.org>
14388
14389         tanl: Move AC_LIBOBJ invocations to module description.
14390         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
14391         * modules/tanl (configure.ac): ... to here.
14392
14393 2011-05-21  Bruno Haible  <bruno@clisp.org>
14394
14395         cosl: Move AC_LIBOBJ invocations to module description.
14396         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
14397         * modules/cosl (configure.ac): ... to here.
14398
14399 2011-05-21  Bruno Haible  <bruno@clisp.org>
14400
14401         sinl: Move AC_LIBOBJ invocations to module description.
14402         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
14403         * modules/sinl (configure.ac): ... to here.
14404
14405 2011-05-21  Bruno Haible  <bruno@clisp.org>
14406
14407         logl: Move AC_LIBOBJ invocations to module description.
14408         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
14409         * modules/logl (configure.ac): ... to here.
14410
14411 2011-05-21  Bruno Haible  <bruno@clisp.org>
14412
14413         expl: Move AC_LIBOBJ invocations to module description.
14414         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
14415         * modules/expl (configure.ac): ... to here.
14416
14417 2011-05-21  Bruno Haible  <bruno@clisp.org>
14418
14419         roundl: Move AC_LIBOBJ invocations to module description.
14420         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
14421         * modules/roundl (configure.ac): ... to here.
14422
14423 2011-05-21  Bruno Haible  <bruno@clisp.org>
14424
14425         round: Move AC_LIBOBJ invocations to module description.
14426         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
14427         * modules/round (configure.ac): ... to here.
14428
14429 2011-05-21  Bruno Haible  <bruno@clisp.org>
14430
14431         roundf: Move AC_LIBOBJ invocations to module description.
14432         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
14433         * modules/roundf (configure.ac): ... to here.
14434
14435 2011-05-21  Bruno Haible  <bruno@clisp.org>
14436
14437         truncl: Move AC_LIBOBJ invocations to module description.
14438         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
14439         * modules/truncl (configure.ac): ... to here.
14440
14441 2011-05-21  Bruno Haible  <bruno@clisp.org>
14442
14443         trunc: Move AC_LIBOBJ invocations to module description.
14444         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
14445         * modules/trunc (configure.ac): ... to here.
14446
14447 2011-05-21  Bruno Haible  <bruno@clisp.org>
14448
14449         truncf: Move AC_LIBOBJ invocations to module description.
14450         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
14451         * modules/truncf (configure.ac): ... to here.
14452
14453 2011-05-21  Bruno Haible  <bruno@clisp.org>
14454
14455         ceill: Move AC_LIBOBJ invocations to module description.
14456         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
14457         * modules/ceill (configure.ac): ... to here.
14458
14459 2011-05-21  Bruno Haible  <bruno@clisp.org>
14460
14461         ceil: Move AC_LIBOBJ invocations to module description.
14462         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
14463         * modules/ceil (configure.ac): ... to here.
14464
14465 2011-05-21  Bruno Haible  <bruno@clisp.org>
14466
14467         ceilf: Move AC_LIBOBJ invocations to module description.
14468         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
14469         * modules/ceilf (configure.ac): ... to here.
14470
14471 2011-05-21  Bruno Haible  <bruno@clisp.org>
14472
14473         floorl: Respect rules for use of AC_LIBOBJ.
14474         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
14475         * modules/floorl (configure.ac): ... to here.
14476
14477 2011-05-21  Bruno Haible  <bruno@clisp.org>
14478
14479         floor: Respect rules for use of AC_LIBOBJ.
14480         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
14481         * modules/floor (configure.ac): ... to here.
14482
14483 2011-05-21  Bruno Haible  <bruno@clisp.org>
14484
14485         floorf: Move AC_LIBOBJ invocations to module description.
14486         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
14487         * modules/floorf (configure.ac): ... to here.
14488
14489 2011-05-20  Bruno Haible  <bruno@clisp.org>
14490
14491         sqrtl: Respect rules for use of AC_LIBOBJ.
14492         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
14493         * modules/sqrtl (configure.ac): ... to here.
14494
14495 2011-05-20  Bruno Haible  <bruno@clisp.org>
14496
14497         ldexpl: Respect rules for use of AC_LIBOBJ.
14498         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
14499         * modules/ldexpl (configure.ac): ... to here.
14500
14501 2011-05-20  Bruno Haible  <bruno@clisp.org>
14502
14503         frexpl*: Respect rules for use of AC_LIBOBJ.
14504         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
14505         invocation from here...
14506         * modules/frexpl (configure.ac): ... to here.
14507         * modules/frexpl-nolibm (configure.ac): ... and here.
14508
14509 2011-05-20  Bruno Haible  <bruno@clisp.org>
14510
14511         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
14512         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
14513         invocation from here...
14514         * modules/frexp (configure.ac): ... to here.
14515         * modules/frexp-nolibm (configure.ac): ... and here.
14516
14517 2011-05-20  Bruno Haible  <bruno@clisp.org>
14518
14519         isnan: Respect rules for use of AC_LIBOBJ.
14520         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
14521         invocations here.
14522         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
14523         REPLACE_ISNAN.
14524         * modules/isnand (configure.ac): Likewise.
14525         * modules/isnanl (configure.ac): Likewise.
14526
14527 2011-05-20  Bruno Haible  <bruno@clisp.org>
14528
14529         isnanl*: Respect rules for use of AC_LIBOBJ.
14530         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
14531         invocation from here...
14532         * modules/isnanl (configure.ac): ... to here.
14533         * modules/isnanl-nolibm (configure.ac): ... and here.
14534
14535 2011-05-20  Bruno Haible  <bruno@clisp.org>
14536
14537         isnand*: Move AC_LIBOBJ invocations to module description.
14538         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
14539         invocation from here...
14540         * modules/isnand (configure.ac): ... to here.
14541         * modules/isnand-nolibm (configure.ac): ... and here.
14542
14543 2011-05-20  Bruno Haible  <bruno@clisp.org>
14544
14545         isnanf*: Move AC_LIBOBJ invocations to module description.
14546         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
14547         invocation from here...
14548         * modules/isnanf (configure.ac): ... to here.
14549         * modules/isnanf-nolibm (configure.ac): ... and here.
14550
14551 2011-05-20  Bruno Haible  <bruno@clisp.org>
14552
14553         isnan*: Separate the AC_LIBOBJ invocations.
14554         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
14555         AC_LIBOBJ invocation.
14556         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
14557         here.
14558         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
14559         AC_LIBOBJ invocation.
14560         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
14561         here.
14562         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
14563         AC_LIBOBJ invocation.
14564         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
14565         here.
14566         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
14567
14568 2011-05-08  Bruno Haible  <bruno@clisp.org>
14569
14570         isinf: Move AC_LIBOBJ invocations to module description.
14571         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
14572         * modules/isinf (configure.ac): ... to here.
14573
14574 2011-05-08  Bruno Haible  <bruno@clisp.org>
14575
14576         isfinite: Move AC_LIBOBJ invocations to module description.
14577         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
14578         * modules/isfinite (configure.ac): ... to here.
14579
14580 2011-05-08  Bruno Haible  <bruno@clisp.org>
14581
14582         isblank: Move AC_LIBOBJ invocations to module description.
14583         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
14584         here...
14585         * modules/isblank (configure.ac): ... to here.
14586
14587 2011-05-08  Bruno Haible  <bruno@clisp.org>
14588
14589         isapipe: Move AC_LIBOBJ invocations to module description.
14590         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
14591         gl_PREREQ_ISAPIPE invocations from here...
14592         * modules/isapipe (configure.ac): ... to here.
14593         (Depends-on): Update condition.
14594
14595 2011-05-08  Bruno Haible  <bruno@clisp.org>
14596
14597         ioctl: Move AC_LIBOBJ invocations to module description.
14598         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
14599         invocations from here...
14600         * modules/ioctl (configure.ac): ... to here.
14601         (Depends-on): Update condition.
14602
14603 2011-05-08  Bruno Haible  <bruno@clisp.org>
14604
14605         imaxdiv: Move AC_LIBOBJ invocations to module description.
14606         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
14607         invocations from here...
14608         * modules/imaxdiv (configure.ac): ... to here.
14609
14610 2011-05-08  Bruno Haible  <bruno@clisp.org>
14611
14612         imaxabs: Move AC_LIBOBJ invocations to module description.
14613         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
14614         invocations from here...
14615         * modules/imaxabs (configure.ac): ... to here.
14616
14617 2011-05-08  Bruno Haible  <bruno@clisp.org>
14618
14619         getaddrinfo: Move AC_LIBOBJ invocations to module description.
14620         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
14621         AC_LIBOBJ invocations from here...
14622         * modules/getaddrinfo (configure.ac): ... to here.
14623         (Depends-on): Add conditions.
14624
14625 2011-05-08  Bruno Haible  <bruno@clisp.org>
14626
14627         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
14628         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
14629         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
14630         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
14631         (gl_PREREQ_INET_PTON): ... from here.
14632         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
14633         gl_PREREQ_INET_PTON here.
14634         (Depends-on): Update condition.
14635
14636 2011-05-08  Bruno Haible  <bruno@clisp.org>
14637
14638         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
14639         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
14640         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
14641         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
14642         (gl_PREREQ_INET_NTOP): ... from here.
14643         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
14644         gl_PREREQ_INET_NTOP here.
14645         (Depends-on): Update condition.
14646
14647 2011-05-08  Bruno Haible  <bruno@clisp.org>
14648
14649         iconv_open: Move AC_LIBOBJ invocations to module description.
14650         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
14651         AC_LIBOBJ invocations from here...
14652         * modules/iconv_open (configure.ac): ... to here.
14653
14654 2011-05-08  Bruno Haible  <bruno@clisp.org>
14655
14656         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
14657         If module 'iconv_open' is among the main modules and module
14658         'iconv_open-utf' is among the tests dependencies, then
14659         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
14660         return the special iconv_t values. Therefore iconv() and iconv_close()
14661         must support these special iconv_t values, already in lib, not only in
14662         tests.
14663         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
14664         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
14665         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
14666         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
14667         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
14668         (Depends-on): Add the dependencies of iconv_open-utf.
14669         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
14670         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
14671         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
14672
14673 2011-05-08  Bruno Haible  <bruno@clisp.org>
14674
14675         group-member: Move AC_LIBOBJ invocations to module description.
14676         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
14677         gl_PREREQ_GROUP_MEMBER invocations from here...
14678         * modules/group-member (configure.ac): ... to here.
14679
14680 2011-05-08  Bruno Haible  <bruno@clisp.org>
14681
14682         grantpt: Move AC_LIBOBJ invocations to module description.
14683         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
14684         invocations from here...
14685         * modules/grantpt (configure.ac): ... to here.
14686
14687 2011-05-08  Bruno Haible  <bruno@clisp.org>
14688
14689         glob: Move AC_LIBOBJ invocations to module description.
14690         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
14691         from here...
14692         * modules/glob (configure.ac): ... to here.
14693
14694 2011-05-08  Bruno Haible  <bruno@clisp.org>
14695
14696         getusershell: Move AC_LIBOBJ invocations to module description.
14697         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
14698         Move AC_LIBOBJ invocation from here...
14699         * modules/getusershell (configure.ac): ... to here.
14700         (Depends-on): Update condition.
14701
14702 2011-05-08  Bruno Haible  <bruno@clisp.org>
14703
14704         gettimeofday: Move AC_LIBOBJ invocations to module description.
14705         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
14706         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
14707         gl_PREREQ_GETTIMEOFDAY invocations from here...
14708         * modules/gettimeofday (configure.ac): ... to here.
14709
14710 2011-05-08  Bruno Haible  <bruno@clisp.org>
14711
14712         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
14713         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
14714         just gl_FUNC_TZSET.
14715         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
14716         (gl_FUNC_TZSET_CLOBBER): Remove actions.
14717         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
14718         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
14719
14720 2011-05-08  Bruno Haible  <bruno@clisp.org>
14721
14722         getsubopt: Move AC_LIBOBJ invocations to module description.
14723         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
14724         gl_PREREQ_GETSUBOPT invocations from here...
14725         * modules/getsubopt (configure.ac): ... to here.
14726
14727 2011-05-08  Bruno Haible  <bruno@clisp.org>
14728
14729         getpass-gnu: Move AC_LIBOBJ invocations to module description.
14730         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
14731         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
14732         * modules/getpass-gnu (configure.ac): ... to here.
14733
14734 2011-05-08  Bruno Haible  <bruno@clisp.org>
14735
14736         getpass: Move AC_LIBOBJ invocations to module description.
14737         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
14738         gl_PREREQ_GETPASS invocations from here...
14739         * modules/getpass (configure.ac): ... to here.
14740
14741 2011-05-08  Bruno Haible  <bruno@clisp.org>
14742
14743         getpagesize: Move AC_LIBOBJ invocations to module description.
14744         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
14745         from here...
14746         * modules/getpagesize (configure.ac): ... to here.
14747
14748 2011-05-08  Bruno Haible  <bruno@clisp.org>
14749
14750         getopt: Move AC_LIBOBJ invocations to module description.
14751         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
14752         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
14753         invocations from here...
14754         * modules/getopt-gnu (configure.ac): ... to here.
14755         * modules/getopt-posix (configure.ac): ... and here.
14756         (Depends-on): Update condition.
14757
14758 2011-05-08  Bruno Haible  <bruno@clisp.org>
14759
14760         getopt, argp: Respect rules for use of AC_LIBOBJ.
14761         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
14762         (gl_REPLACE_GETOPT_ALWAYS): New macro.
14763         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
14764         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
14765
14766 2011-05-08  Bruno Haible  <bruno@clisp.org>
14767
14768         getlogin_r: Move AC_LIBOBJ invocations to module description.
14769         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
14770         gl_PREREQ_GETLOGIN_R invocations from here...
14771         * modules/getlogin_r (configure.ac): ... to here.
14772
14773 2011-05-08  Bruno Haible  <bruno@clisp.org>
14774
14775         getlogin: Move AC_LIBOBJ invocations to module description.
14776         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
14777         here...
14778         * modules/getlogin (configure.ac): ... to here.
14779
14780 2011-05-08  Bruno Haible  <bruno@clisp.org>
14781
14782         getloadavg: Move AC_LIBOBJ invocations to module description.
14783         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
14784         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
14785         * modules/getloadavg (configure.ac): ... to here.
14786
14787 2011-05-08  Bruno Haible  <bruno@clisp.org>
14788
14789         gethrxtime: Move AC_LIBOBJ invocations to module description.
14790         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
14791         LIB_GETHRXTIME from here...
14792         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
14793         invocations from here...
14794         * modules/gethrxtime (configure.ac): ... to here.
14795
14796 2011-05-08  Bruno Haible  <bruno@clisp.org>
14797
14798         gethostname: Move AC_LIBOBJ invocations to module description.
14799         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
14800         gl_PREREQ_GETHOSTNAME invocations from here...
14801         * modules/gethostname (configure.ac): ... to here.
14802
14803 2011-05-08  Bruno Haible  <bruno@clisp.org>
14804
14805         getgroups: Move AC_LIBOBJ invocations to module description.
14806         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
14807         here...
14808         * modules/getgroups (configure.ac): ... to here.
14809
14810 2011-05-08  Bruno Haible  <bruno@clisp.org>
14811
14812         getdtablesize: Move AC_LIBOBJ invocations to module description.
14813         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
14814         invocation from here...
14815         * modules/getdtablesize (configure.ac): ... to here.
14816
14817 2011-05-08  Bruno Haible  <bruno@clisp.org>
14818
14819         getdomainname: Move AC_LIBOBJ invocations to module description.
14820         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
14821         gl_PREREQ_GETDOMAINNAME invocations from here...
14822         * modules/getdomainname (configure.ac): ... to here.
14823
14824 2011-05-08  Bruno Haible  <bruno@clisp.org>
14825
14826         getline: Move AC_LIBOBJ invocations to module description.
14827         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
14828         invocations from here...
14829         * modules/getline (configure.ac): ... to here.
14830
14831 2011-05-08  Bruno Haible  <bruno@clisp.org>
14832
14833         getline: Simplify.
14834         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
14835         It's already handled through the module dependency.
14836
14837 2011-05-08  Bruno Haible  <bruno@clisp.org>
14838
14839         getdelim: Move AC_LIBOBJ invocations to module description.
14840         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
14841         and gl_PREREQ_GETDELIM invocations from here...
14842         * modules/getdelim (configure.ac): ... to here.
14843         (Depends-on): Fix condition.
14844
14845 2011-05-08  Bruno Haible  <bruno@clisp.org>
14846
14847         getcwd: Move AC_LIBOBJ invocations to module description.
14848         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
14849         invocations from here...
14850         * modules/getcwd (configure.ac): ... to here.
14851
14852 2011-05-08  Bruno Haible  <bruno@clisp.org>
14853
14854         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
14855         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
14856         here...
14857         * modules/getcwd-lgpl (configure.ac): ... to here.
14858
14859 2011-05-07  Bruno Haible  <bruno@clisp.org>
14860
14861         crypto/gc: Move AC_LIBOBJ invocations to module description.
14862         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
14863         * modules/crypto/gc (configure.ac): ... to here.
14864
14865 2011-05-07  Bruno Haible  <bruno@clisp.org>
14866
14867         fwriting: Move AC_LIBOBJ invocations to module description.
14868         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
14869         here...
14870         * modules/fwriting (configure.ac): ... to here.
14871
14872 2011-05-07  Bruno Haible  <bruno@clisp.org>
14873
14874         fwritable: Move AC_LIBOBJ invocations to module description.
14875         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
14876         here...
14877         * modules/fwritable (configure.ac): ... to here.
14878
14879 2011-05-07  Bruno Haible  <bruno@clisp.org>
14880
14881         futimens: Move AC_LIBOBJ invocations to module description.
14882         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
14883         here...
14884         * modules/futimens (configure.ac): ... to here.
14885
14886 2011-05-07  Bruno Haible  <bruno@clisp.org>
14887
14888         ftruncate: Move AC_LIBOBJ invocations to module description.
14889         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
14890         gl_PREREQ_FTRUNCATE invocations from here...
14891         * modules/ftruncate (configure.ac): ... to here.
14892
14893 2011-05-07  Bruno Haible  <bruno@clisp.org>
14894
14895         fsync: Move AC_LIBOBJ invocations to module description.
14896         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
14897         invocations from here...
14898         * modules/fsync (configure.ac): ... to here.
14899
14900 2011-05-07  Bruno Haible  <bruno@clisp.org>
14901
14902         fsusage: Move AC_LIBOBJ invocations to module description.
14903         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
14904         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
14905         * modules/fsusage (configure.ac): ... to here.
14906
14907 2011-05-07  Bruno Haible  <bruno@clisp.org>
14908
14909         freopen: Move AC_LIBOBJ invocations to module description.
14910         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
14911         invocations from here...
14912         * modules/freopen (configure.ac): ... to here.
14913
14914 2011-05-07  Bruno Haible  <bruno@clisp.org>
14915
14916         free: Move AC_LIBOBJ invocations to module description.
14917         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
14918         invocations from here...
14919         * modules/free (configure.ac): ... to here.
14920
14921 2011-05-07  Bruno Haible  <bruno@clisp.org>
14922
14923         freadable: Move AC_LIBOBJ invocations to module description.
14924         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
14925         here...
14926         * modules/freadable (configure.ac): ... to here.
14927
14928 2011-05-07  Bruno Haible  <bruno@clisp.org>
14929
14930         fpurge: Move AC_LIBOBJ invocations to module description.
14931         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
14932         invocations from here...
14933         * modules/fpurge (configure.ac): ... to here.
14934
14935 2011-05-07  Bruno Haible  <bruno@clisp.org>
14936
14937         fpending: Move AC_LIBOBJ invocations to module description.
14938         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
14939         gl_FUNC_FPENDING.
14940         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
14941         invocations from here...
14942         * modules/fpending (configure.ac): ... to here.
14943
14944 2011-05-07  Bruno Haible  <bruno@clisp.org>
14945
14946         fopen: Move AC_LIBOBJ invocations to module description.
14947         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
14948         invocations from here...
14949         * modules/fopen (configure.ac): ... to here.
14950
14951 2011-05-07  Bruno Haible  <bruno@clisp.org>
14952
14953         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
14954         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
14955         gl_FUNC_FNMATCH_POSIX.
14956         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
14957         invocations from here...
14958         * modules/fnmatch (configure.ac): ... to here.
14959         * modules/fnmatch-gnu (configure.ac): ... and here.
14960
14961 2011-05-07  Bruno Haible  <bruno@clisp.org>
14962
14963         flock: Move AC_LIBOBJ invocations to module description.
14964         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
14965         invocations from here...
14966         * modules/flock (configure.ac): ... to here.
14967
14968 2011-05-07  Bruno Haible  <bruno@clisp.org>
14969
14970         fileblocks: Move AC_LIBOBJ invocations to module description.
14971         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
14972         gl_PREREQ_FILEBLOCKS invocations from here...
14973         * modules/fileblocks (configure.ac): ... to here.
14974
14975 2011-05-06  Bruno Haible  <bruno@clisp.org>
14976
14977         fflush: Move AC_LIBOBJ invocations to module description.
14978         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
14979         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
14980         invocations from here...
14981         * modules/fflush (configure.ac): ... to here.
14982
14983 2011-05-06  Bruno Haible  <bruno@clisp.org>
14984
14985         fdopendir: Move AC_LIBOBJ invocations to module description.
14986         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
14987         here...
14988         * modules/fdopendir (configure.ac): ... to here.
14989         (Depends-on): Improve conditions.
14990
14991 2011-05-06  Bruno Haible  <bruno@clisp.org>
14992
14993         _Exit: Move AC_LIBOBJ invocations to module description.
14994         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
14995         invocations from here...
14996         * modules/_Exit (configure.ac): ... to here.
14997
14998 2011-05-21  Bruno Haible  <bruno@clisp.org>
14999
15000         euidaccess: Respect rules for use of AC_LIBOBJ.
15001         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15002         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
15003         from here...
15004         * modules/euidaccess (configure.ac): ... to here.
15005
15006 2011-05-06  Bruno Haible  <bruno@clisp.org>
15007
15008         error: Move AC_LIBOBJ invocations to module description.
15009         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
15010         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
15011         invocations from here...
15012         * modules/error (configure.ac): ... to here.
15013
15014 2011-05-06  Bruno Haible  <bruno@clisp.org>
15015
15016         duplocale: Move AC_LIBOBJ invocations to module description.
15017         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
15018         gl_PREREQ_DUPLOCALE invocations from here...
15019         * modules/duplocale (configure.ac): ... to here.
15020
15021 2011-05-05  Bruno Haible  <bruno@clisp.org>
15022
15023         dirfd: Move AC_LIBOBJ invocations to module description.
15024         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
15025         gl_FUNC_DIRFD.
15026         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
15027         here...
15028         * modules/dirfd (configure.ac): ... to here.
15029         (Depends-on): Fix condition.
15030
15031 2011-05-05  Bruno Haible  <bruno@clisp.org>
15032
15033         chown: Respect rules for use of AC_LIBOBJ.
15034         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
15035         * modules/chown (configure.ac): ... to here.
15036
15037 2011-05-05  Bruno Haible  <bruno@clisp.org>
15038
15039         chdir-long: Move AC_LIBOBJ invocations to module description.
15040         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
15041         gl_PREREQ_CHDIR_LONG invocations from here...
15042         * modules/chdir-long (configure.ac): ... to here.
15043
15044 2011-05-05  Bruno Haible  <bruno@clisp.org>
15045
15046         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
15047         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
15048         from here...
15049         * modules/canonicalize-lgpl (configure.ac): ... to here.
15050
15051 2011-05-05  Bruno Haible  <bruno@clisp.org>
15052
15053         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
15054         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
15055         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
15056         REPLACE_CALLOC.
15057         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
15058         * modules/calloc-gnu (configure.ac): Likewise.
15059
15060 2011-05-05  Bruno Haible  <bruno@clisp.org>
15061
15062         btowc: Move AC_LIBOBJ invocations to module description.
15063         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
15064         invocations from here...
15065         * modules/btowc (configure.ac): ... to here.
15066
15067 2011-05-21  Bruno Haible  <bruno@clisp.org>
15068
15069         atexit: Move AC_LIBOBJ invocations to module description.
15070         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
15071         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
15072         here...
15073         * modules/atexit (configure.ac): ... to here.
15074
15075 2011-05-05  Bruno Haible  <bruno@clisp.org>
15076
15077         atoll: Move AC_LIBOBJ invocations to module description.
15078         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
15079         invocations from here...
15080         * modules/atoll (configure.ac): ... to here.
15081
15082 2011-05-05  Bruno Haible  <bruno@clisp.org>
15083
15084         argz: Move AC_LIBOBJ invocations to module description.
15085         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
15086         * modules/argz (configure.ac): ... to here.
15087
15088 2011-05-05  Bruno Haible  <bruno@clisp.org>
15089
15090         alphasort: Move AC_LIBOBJ invocations to module description.
15091         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
15092         gl_PREREQ_ALPHASORT invocations from here...
15093         * modules/alphasort (configure.ac): ... to here.
15094
15095 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
15096
15097         verify: new macro verify_expr; verify_true deprecated
15098         * NEWS: Mention this.
15099         * doc/verify.texi (Compile-time Assertions): Document this.
15100         * lib/verify.h (verify_true): Deprecate.
15101         (verify_expr): New macro.
15102         * tests/test-verify.c (function): Test verify_expr.
15103
15104 2011-06-14  Jim Meyering  <meyering@redhat.com>
15105
15106         init.sh: give more portable redirection-related advice in a comment
15107         * tests/init.sh (stderr_fileno_): Update the advice in comments.
15108         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
15109         for lots of discussion.  Stefano Lattarini suggested the solution
15110         of putting "9>&2" after the command.  Reported by Bruno Haible.
15111
15112 2011-06-13  Bruno Haible  <bruno@clisp.org>
15113
15114         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
15115         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
15116         'none'.
15117
15118 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
15119
15120         ftoastr: use strtof only if HAVE_STRTOF
15121         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
15122         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
15123         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
15124         * modules/ftoastr (configure.ac): Check for strtof.
15125
15126 2011-06-13  Bruno Haible  <bruno@clisp.org>
15127
15128         gnulib-tool: Addendum to 2011-06-08 commit.
15129         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
15130         and --witness-c-macro have been given, augment AM_CPPFLAGS.
15131
15132 2011-06-13  Bruno Haible  <bruno@clisp.org>
15133
15134         fseeko: Provide a non-inline replacement of fseek().
15135         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
15136         * modules/fseeko (Depends-on): Add fseek.
15137         * modules/fseek (License): Change to LGPLv2+.
15138
15139 2011-06-13  Bruno Haible  <bruno@clisp.org>
15140
15141         ftello: Provide a non-inline replacement of ftell().
15142         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
15143         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
15144         not have ftello() (such as on mingw).
15145         * modules/ftello (Depends-on): Add ftell.
15146         * modules/ftell (License): Change to LGPLv2+.
15147
15148 2011-05-07  Bruno Haible  <bruno@clisp.org>
15149
15150         ftell: Move AC_LIBOBJ invocations to module description.
15151         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
15152         * modules/ftell (configure.ac): ... to here.
15153
15154 2011-05-07  Bruno Haible  <bruno@clisp.org>
15155
15156         ftello: Respect rules for use of AC_LIBOBJ.
15157         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
15158         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
15159         here...
15160         * modules/ftello (configure.ac): ... to here.
15161
15162 2011-05-07  Bruno Haible  <bruno@clisp.org>
15163
15164         fseeko: Simplify.
15165         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
15166         (gl_FUNC_FSEEKO): Inline it here.
15167
15168 2011-05-07  Bruno Haible  <bruno@clisp.org>
15169
15170         fseek: Move AC_LIBOBJ invocations to module description.
15171         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
15172         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15173         * modules/fseek (configure.ac): ... to here.
15174
15175 2011-05-07  Bruno Haible  <bruno@clisp.org>
15176
15177         fseek: Respect rules for use of AC_LIBOBJ.
15178         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
15179         here...
15180         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
15181
15182 2011-05-07  Bruno Haible  <bruno@clisp.org>
15183
15184         fseeko: Respect rules for use of AC_LIBOBJ.
15185         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
15186         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
15187         here...
15188         * modules/fseeko (configure.ac): ... to here.
15189
15190 2011-06-13  Bruno Haible  <bruno@clisp.org>
15191
15192         gnulib-tool: Allow comments in the 'Depends-on' section.
15193         * doc/gnulib.texi (Module description): Mention comment syntax in the
15194         Depends-on section.
15195         * gnulib-tool (func_get_dependencies): Filter out comment lines.
15196
15197 2011-06-13  Bruno Haible  <bruno@clisp.org>
15198
15199         file-set.h: guard __attibute__ use, now that it's not always defined
15200         * lib/file-set.h (record_file): Use __attribute__ only with compiler
15201         versions that support it.  This fixes a coreutils build failure with
15202         the vendor cc on HP-UX 11.31.
15203
15204 2011-06-12  Bruno Haible  <bruno@clisp.org>
15205
15206         acl: Add support for HP-UX >= 11.11 JFS ACLs.
15207         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
15208         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
15209         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
15210         (acl, aclsort): New declarations.
15211         (aclv_nontrivial): New declaration.
15212         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
15213         (file_has_acl): Read also the second kind of HP-UX ACLs.
15214         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
15215         kind of HP-UX ACLs if the first kind fails.
15216         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
15217         second kind of HP-UX ACLs.
15218         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
15219         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
15220         agree.
15221         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15222         hpuxjfs.
15223         Handle hpuxjfs.
15224         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15225         hpuxjfs.
15226         Handle hpuxjfs.
15227         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15228         (func_test_same_acls): Use both lsacl and getacl.
15229         Handle hpuxjfs.
15230         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15231         (func_test_same_acls): Use both lsacl and getacl.
15232         Handle hpuxjfs.
15233
15234 2011-06-12  Bruno Haible  <bruno@clisp.org>
15235
15236         acl: Complete the 2010-08-10 fix.
15237         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
15238         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
15239         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
15240         explicitly.
15241         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
15242         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
15243
15244 2011-06-12  Bruno Haible  <bruno@clisp.org>
15245
15246         spawn-pipe tests: Comments.
15247         * tests/test-spawn-pipe-child.c (main): Update comment.
15248         Reported by James Youngman <jay@gnu.org>.
15249
15250 2011-06-11  James Youngman  <jay@gnu.org>
15251
15252         New module 'stat-size'.
15253         * modules/stat-size: New module.  Provides macros for accessing
15254         file size information in instances of struct stat.  Depends on the
15255         fileblocks module because it calls st_blocks.
15256         * lib/stat-size.h: New file, adapted from coreutils' system.h.
15257         * doc/gnulib.texi: Include stat-size.texi.
15258         * doc/stat-size.texi: Documentation for this module.
15259         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
15260         * m4/fileblocks.m4: Mention that stat-size depends on the call to
15261         AC_STRUCT_ST_BLOCKS.
15262
15263 2011-06-09  Bruno Haible  <bruno@clisp.org>
15264
15265         thread: Support pthreads-win32.
15266         * lib/glthread/thread.h (gl_thread_self): Define differently on
15267         pthreads-win32.
15268         (gl_null_thread): New declaration.
15269         (gl_thread_self_pointer): New macro.
15270         * lib/glthread/thread.c (gl_null_thread): New constant.
15271         * tests/test-lock.c: Use gl_thread_self_pointer instead of
15272         gl_thread_self.
15273         * tests/test-tls.c: Likewise.
15274         Suggested by Paul Eggert. Reported by Eric Blake.
15275
15276 2011-06-09  Bruno Haible  <bruno@clisp.org>
15277
15278         thread: Fix confusion between NULL and 0.
15279         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
15280         Reported by Paul Eggert.
15281
15282 2011-06-09  Bruno Haible  <bruno@clisp.org>
15283
15284         spawn-pipe tests: Avoid test failure on HP-UX 11.
15285         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
15286         is closed.
15287
15288 2011-06-09  Bruno Haible  <bruno@clisp.org>
15289
15290         acl tests: Fix compilation error on HP-UX 11.
15291         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
15292
15293 2011-06-09  Bruno Haible  <bruno@clisp.org>
15294
15295         rmdir: Avoid test failure on HP-UX 10.20.
15296         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
15297         EEXIST.
15298
15299 2011-06-08  Eric Blake  <eblake@redhat.com>
15300
15301         perror: fix test on mingw
15302         * modules/perror-tests (Depends-on): Add dup2.
15303
15304         strerror_r-posix: fix on MacOS
15305         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
15306         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
15307         logic bug.
15308         * lib/strerror_r.c (strerror_r): Fix the bug.
15309         * lib/strerror.c (strerror): Likewise.
15310         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
15311         problem.
15312         * doc/posix-functions/strerror.texi (strerror): Likewise.
15313         * doc/posix-functions/perror.texi (perror): Likewise.
15314         * tests/test-strerror.c (main): Enhance test.
15315         * tests/test-strerror_r.c (main): Likewise.
15316
15317 2011-06-08  Bruno Haible  <bruno@clisp.org>
15318
15319         gnulib-tool: Better isolation between different gnulib-tool invocations.
15320         * gnulib-tool: New option --witness-c-macro.
15321         (witness_c_macro): New variable.
15322         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
15323         AM_CPPFLAGS define it as a C macro.
15324         (func_emit_tests_Makefile_am): Likewise.
15325         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
15326         read it from there.
15327         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
15328         m4_define, not AC_DEFUN.
15329         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
15330         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
15331         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
15332         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
15333         s|...|...|, to substitute the values of the GNULIB_* module indicator
15334         variables.
15335         * modules/dirent (Makefile.am): Likewise.
15336         * modules/fcntl-h (Makefile.am): Likewise.
15337         * modules/iconv-h (Makefile.am): Likewise.
15338         * modules/langinfo (Makefile.am): Likewise.
15339         * modules/locale (Makefile.am): Likewise.
15340         * modules/math (Makefile.am): Likewise.
15341         * modules/netdb (Makefile.am): Likewise.
15342         * modules/poll-h (Makefile.am): Likewise.
15343         * modules/pty (Makefile.am): Likewise.
15344         * modules/search (Makefile.am): Likewise.
15345         * modules/signal (Makefile.am): Likewise.
15346         * modules/spawn (Makefile.am): Likewise.
15347         * modules/stdio (Makefile.am): Likewise.
15348         * modules/stdlib (Makefile.am): Likewise.
15349         * modules/string (Makefile.am): Likewise.
15350         * modules/sys_ioctl (Makefile.am): Likewise.
15351         * modules/sys_select (Makefile.am): Likewise.
15352         * modules/sys_socket (Makefile.am): Likewise.
15353         * modules/sys_stat (Makefile.am): Likewise.
15354         * modules/sys_times (Makefile.am): Likewise.
15355         * modules/sys_utsname (Makefile.am): Likewise.
15356         * modules/sys_wait (Makefile.am): Likewise.
15357         * modules/termios (Makefile.am): Likewise.
15358         * modules/time (Makefile.am): Likewise.
15359         * modules/unistd (Makefile.am): Likewise.
15360         * modules/wchar (Makefile.am): Likewise.
15361
15362 2011-06-08  Eric Blake  <eblake@redhat.com>
15363
15364         strerror: simplify replacement
15365         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
15366         * modules/strerror (configure.ac): No prereqs needed here...
15367         * modules/strerror-override (configure.ac): ...but this needs it.
15368         (Files): Add file for needed prereq macro.
15369
15370 2011-06-08  Bruno Haible  <bruno@clisp.org>
15371
15372         strerror_r-posix: Tweaks.
15373         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
15374         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
15375         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
15376         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
15377         (gl_FUNC_STRERROR_R): ... to here.
15378         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
15379
15380 2011-06-07  Eric Blake  <eblake@redhat.com>
15381
15382         perror: document fixed bugs
15383         * doc/posix-functions/perror.texi (perror): Document recent
15384         patches.
15385
15386 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
15387
15388         stat-time: get_stat_birthtime failure is better-defined
15389         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
15390         return a timestamp whose tv_sec and tv_nsec values are both -1.
15391         Previously, the spec said only that the tv_nsec value was negative.
15392         This upward-compatible change simplifies GNU tar a bit.
15393
15394 2011-06-07  Eric Blake  <eblake@redhat.com>
15395
15396         strerror_r-posix: work around cygwin 1.7.9
15397         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
15398         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
15399         bug without replacing strerror_r.
15400         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
15401         strerror_r is buggy, but without requiring strerror_r compilation.
15402         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
15403
15404         test-perror: relax test to ignore cygwin bug
15405         * tests/test-perror2.c (main): Relax test on requiring detection
15406         of stream errors, and use unbuffered stream.
15407         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
15408         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
15409         * doc/posix-functions/fputc.texi (fputc): Likewise.
15410         * doc/posix-functions/fputs.texi (fputs): Likewise.
15411         * doc/posix-functions/fputws.texi (fputws): Likewise.
15412         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
15413         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
15414         * doc/posix-functions/getopt.texi (getopt): Likewise.
15415         * doc/posix-functions/perror.texi (perror): Likewise.
15416         * doc/posix-functions/printf.texi (printf): Likewise.
15417         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
15418         * doc/posix-functions/psignal.texi (psignal): Likewise.
15419         * doc/posix-functions/putc.texi (putc): Likewise.
15420         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
15421         Likewise.
15422         * doc/posix-functions/putchar.texi (putchar): Likewise.
15423         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
15424         Likewise.
15425         * doc/posix-functions/puts.texi (puts): Likewise.
15426         * doc/posix-functions/putwc.texi (putwc): Likewise.
15427         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
15428         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
15429         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15430         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
15431         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15432         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
15433         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
15434         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
15435
15436 2011-05-22  Bruno Haible  <bruno@clisp.org>
15437
15438         strerror: Move AC_LIBOBJ invocations to module description.
15439         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
15440         gl_PREREQ_STRERROR invocations from here...
15441         * modules/strerror (configure.ac): ... to here.
15442
15443 2011-05-21  Bruno Haible  <bruno@clisp.org>
15444
15445         perror: Use common idiom.
15446         * modules/perror (configure.ac): Reorder statements.
15447
15448 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15449
15450         tests: fix usage message in 'mktempd_'
15451         * tests/init.sh (mktempd_): In the usage message, use literal
15452         'mktempd_', not '$ME' (which is even undefined), as the name of
15453         the subroutine.
15454
15455 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15456
15457         tests init: new function 'fatal_', for hard errors
15458         Before this patch, the only way offered by tests/init.sh to
15459         properly signal a hard error was the `framework_failure_'
15460         function.  But the error message issued by that function,
15461         as its name would suggest, refers to a set-up failure in the
15462         testsuite, while hard errors can obviously also be due to
15463         other reasons.  The best way to fix this inconsistency is to
15464         introduce a new function with a more general error message.
15465         * tests/init.sh (fatal_): New function.
15466
15467 2011-06-06  Eric Blake  <eblake@redhat.com>
15468
15469         canonicalize-lgpl: use common idiom
15470         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
15471         over newer POSIX -Rf.
15472         Reported by Bruno Haible.
15473
15474         canonicalize-lgpl: work around AIX realpath bug
15475         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
15476         * doc/posix-functions/realpath.texi (realpath): Document it.
15477         Reported by Bruno Haible.
15478
15479         strerror: work around FreeBSD bug
15480         * lib/strerror.c (strerror): Special case 0.
15481         Reported by Bruno Haible.
15482
15483         strerror-override: avoid bloating errno module
15484         * modules/errno (Files, configure.ac): Move replacement strings...
15485         * modules/strerror-override: ...to new module.
15486         * modules/strerror (Depends-on): Add strerror-override.
15487         * modules/strerror_r-posix (Depends-on): Likewise.
15488         * MODULES.html.sh: Document new module.
15489         Reported by Bruno Haible.
15490
15491 2011-06-06  Bruno Haible  <bruno@clisp.org>
15492
15493         spawn-pipe tests: Rename program.
15494         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
15495         * tests/test-spawn-pipe-child.c: Update comment.
15496         * tests/test-spawn-pipe.sh: Update.
15497         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
15498
15499         spawn-pipe tests: Link the child program only against libc.
15500         * tests/test-spawn-pipe-child.c: New file, extracted from
15501         tests/test-spawn-pipe.c.
15502         (main): Expect only one argument.
15503         (is_open): New function, copied from tests/test-pipe.c.
15504         * tests/test-spawn-pipe.c: Don't include <errno.h>.
15505         (child_main): Remove function.
15506         (test_pipe): Pass only one argument to the child program.
15507         (main): Remove child process code. Expect the child program's name as
15508         first argument.
15509         * tests/test-spawn-pipe.sh: Pass the child program's name as first
15510         argument.
15511         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
15512         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
15513         test-spawn-pipe-child against no libraries.
15514
15515 2011-06-06  Bruno Haible  <bruno@clisp.org>
15516
15517         careadlinkat: Avoid mismatch between ssize_t and int.
15518         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
15519         * lib/careadlinkat.c (careadlinkatcwd): Define always.
15520
15521 2011-06-06  Jim Meyering  <meyering@redhat.com>
15522
15523         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
15524         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
15525         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
15526
15527 2011-06-05  Bruno Haible  <bruno@clisp.org>
15528
15529         ansi-c++-opt: Interoperability with libtool.
15530         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
15531         set the variable to "no", not to ":".
15532         * NEWS: Mention the change.
15533
15534 2011-06-05  Bruno Haible  <bruno@clisp.org>
15535
15536         acl: Fix test failure on AIX 7.
15537         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
15538         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
15539
15540 2011-06-05  Bruno Haible  <bruno@clisp.org>
15541
15542         pipe-filter-ii: Fix test failure on AIX and IRIX.
15543         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
15544         with EAGAIN, retry with a smaller buffer size.
15545
15546 2011-06-05  Bruno Haible  <bruno@clisp.org>
15547
15548         localename: Fix link dependencies.
15549         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
15550         * modules/localename-tests (Makefile.am): Link test-localename with
15551         $(LIBTHREAD).
15552
15553 2011-06-05  Bruno Haible  <bruno@clisp.org>
15554
15555         error: Avoid gcc warning.
15556         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
15557
15558 2011-06-05  Bruno Haible  <bruno@clisp.org>
15559
15560         unsetenv: Avoid gcc warning.
15561         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
15562
15563 2011-06-05  Bruno Haible  <bruno@clisp.org>
15564
15565         setenv: Avoid gcc warning.
15566         * lib/setenv.c (setenv): Provide declaration if system lacks it.
15567
15568 2011-06-05  Bruno Haible  <bruno@clisp.org>
15569
15570         sys_select: Ensure memset is declared also on AIX 7.
15571         * lib/sys_select.in.h: Include <string.h> also on AIX.
15572         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
15573         self-contained also on AIX 7.1.
15574
15575 2011-06-04  Jim Meyering  <meyering@redhat.com>
15576
15577         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
15578         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
15579         function name, "error".
15580         (_gl_translatable_diag_func_re): New configurable variable.
15581
15582 2011-06-04  Bruno Haible  <bruno@clisp.org>
15583
15584         getopt: Avoid gcc warning.
15585         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
15586
15587 2011-06-04  Bruno Haible  <bruno@clisp.org>
15588
15589         strerror_r: Fix comments.
15590         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
15591         commit.
15592
15593 2011-06-04  Bruno Haible  <bruno@clisp.org>
15594
15595         perror: Fix compilation error.
15596         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
15597         Undefine fprintf, not sprintf.
15598         * modules/perror (Depends-on): Remove intprops, verify.
15599
15600 2011-06-04  Bruno Haible  <bruno@clisp.org>
15601
15602         setlocale: Enable replacement on Cygwin 1.5.
15603         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
15604         Cygwin 1.5.x.
15605         * doc/posix-functions/setlocale.texi: Mention that the problem with the
15606         LC_CTYPE category also exists on Cygwin 1.5.x.
15607
15608 2011-06-04  Bruno Haible  <bruno@clisp.org>
15609
15610         strerror-override: Don't disable symbol renamings.
15611         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
15612         * lib/strerror-override.c: Include config.h.
15613         (strerror_override): Don't undefine.
15614
15615 2011-06-03  Bruno Haible  <bruno@clisp.org>
15616
15617         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
15618         * lib/localename.h: Update copyright header.
15619         * lib/localename.c: Likewise.
15620         * lib/relocatable.h: Likewise.
15621         * lib/relocatable.c: Likewise.
15622
15623 2011-06-02  Bruno Haible  <bruno@clisp.org>
15624
15625         doc: Fix a module name.
15626         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
15627
15628 2011-06-02  Bruno Haible  <bruno@clisp.org>
15629
15630         pipe2: Remove dependency on 'nonblocking' module.
15631         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
15632         O_NONBLOCK is defined by gnulib.
15633         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
15634         is zero.
15635         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
15636         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
15637         defined by gnulib.
15638         (get_nonblocking_flag): New function.
15639         (main): Test O_NONBLOCK flag only if it is nonzero.
15640         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
15641
15642 2011-06-03  Jim Meyering  <meyering@redhat.com>
15643
15644         maint: three new prohibit-header-without-use rules
15645         Prohibit use of cloexec.h, posixver.h, same.h without use.
15646         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
15647         (sc_prohibit_posixver_without_use): Likewise.
15648         (sc_prohibit_same_without_use): Likewise.
15649
15650 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
15651
15652         allocator: 'die' routine is now given requested size
15653         * lib/allocator.h (struct allocator.die): New size arg.
15654         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
15655         If the actual problem is an ssize_t limitation, not a size_t or
15656         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
15657
15658 2011-06-01  Eric Blake  <eblake@redhat.com>
15659
15660         strerror: drop strerror_r dependency
15661         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
15662         * lib/strerror-override.c (strerror_override): ...to new file.
15663         * lib/strerror-override.h: Add prototype.
15664         * lib/strerror-impl.h: Delete.
15665         * lib/strerror.c (strerror): New implementation.
15666         * modules/errno (Files): Add new files.
15667         (configure.ac): Compile new file as appropriate.
15668         * modules/strerror (Files): Drop unused file.
15669         (Depends-on): Drop strerror_r-posix.
15670         * MODULES.html.sh: Document strerror_r-posix.
15671         Requested by Sam Steingold.
15672
15673         perror: call strerror_r directly
15674         * modules/perror (Files): Drop strerror-impl.h.
15675         * lib/perror.c (perror): Use our own stack buffer, rather than
15676         calling a wrapper that uses static storage.
15677         * doc/posix-functions/perror.texi (perror): Document a limitation
15678         of our replacement.
15679
15680         strerror_r: fix includes for FreeBSD
15681         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
15682         since we use abort on some platforms.
15683         Reported by Matthias Bolte.
15684
15685 2011-05-31  Bruno Haible  <bruno@clisp.org>
15686
15687         Fix link errors in tests: openat-die uses gettext-h.
15688         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
15689         against $(LIBINTL).
15690         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
15691         against $(LIBINTL).
15692         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
15693         $(LIBINTL).
15694         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
15695         against $(LIBINTL).
15696         * modules/linkat-tests (Makefile.am): Link test-linkat against
15697         $(LIBINTL).
15698         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
15699         $(LIBINTL).
15700         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
15701         against $(LIBINTL).
15702         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
15703         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
15704         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
15705         $(LIBINTL).
15706         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
15707         $(LIBINTL).
15708         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
15709         $(LIBINTL).
15710         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15711
15712 2011-05-31  Bruno Haible  <bruno@clisp.org>
15713
15714         Fix link errors in tests: wait-process uses gettext-h.
15715         * modules/nonblocking-pipe-tests (Makefile.am): Set
15716         test_nonblocking_pipe_main_LDADD.
15717         * modules/nonblocking-socket-tests (Makefile.am): Link
15718         test-nonblocking-socket-main against $(LIBINTL).
15719         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15720
15721 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
15722
15723         assert-h: work around 'verify' incompatibility
15724         * lib/verify.h: Use @...@ directives, not ifdef.
15725         * modules/assert-h (assert.h): Implement the directives.
15726         (assert.h): Substitute the symbol-prefix more consistently.
15727
15728 2011-05-29  Jim Meyering  <meyering@redhat.com>
15729
15730         trim: remove three superfluous assignments
15731         * lib/trim.c (trim2): Remove three superfluous assignments
15732         and correct brace positioning.
15733
15734 2011-05-29  Bruno Haible  <bruno@clisp.org>
15735
15736         wctype-h: Avoid namespace pollution on Solaris 2.6.
15737         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
15738         identifiers.
15739         * doc/posix-headers/wctype.texi: Mention the problem.
15740         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15741
15742 2011-05-28  Jim Meyering  <meyering@redhat.com>
15743
15744         parse-datetime.y: accommodate -Wstrict-overflow
15745         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
15746         placate -Wstrict-overflow.
15747
15748         trim: avoid a warning from -O2 -Wstrict-overflow
15749         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
15750
15751 2011-05-29  Bruno Haible  <bruno@clisp.org>
15752
15753         gnulib-tool: Fix bug in yesterday's commit.
15754         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
15755         twice.
15756
15757 2011-05-29  Bruno Haible  <bruno@clisp.org>
15758
15759         Allow multiple gnulib generated include files to be combined.
15760         * gnulib-tool (func_compute_include_guard_prefix): New function.
15761         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
15762         ${gl_include_guard_prefix} references.
15763         (func_import, func_create_testdir): Invoke
15764         func_compute_include_guard_prefix.
15765         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
15766         * lib/ctype.in.h: Likewise.
15767         * lib/dirent.in.h: Likewise.
15768         * lib/errno.in.h: Likewise.
15769         * lib/fcntl.in.h: Likewise.
15770         * lib/float.in.h: Likewise.
15771         * lib/getopt.in.h: Likewise.
15772         * lib/iconv.in.h: Likewise.
15773         * lib/langinfo.in.h: Likewise.
15774         * lib/locale.in.h: Likewise.
15775         * lib/math.in.h: Likewise.
15776         * lib/netdb.in.h: Likewise.
15777         * lib/netinet_in.in.h: Likewise.
15778         * lib/poll.in.h: Likewise.
15779         * lib/pthread.in.h: Likewise.
15780         * lib/pty.in.h: Likewise.
15781         * lib/sched.in.h: Likewise.
15782         * lib/se-selinux.in.h: Likewise.
15783         * lib/search.in.h: Likewise.
15784         * lib/signal.in.h: Likewise.
15785         * lib/spawn.in.h: Likewise.
15786         * lib/stdarg.in.h: Likewise.
15787         * lib/stddef.in.h: Likewise.
15788         * lib/stdint.in.h: Likewise.
15789         * lib/stdio.in.h: Likewise.
15790         * lib/stdlib.in.h: Likewise.
15791         * lib/string.in.h: Likewise.
15792         * lib/strings.in.h: Likewise.
15793         * lib/sys_file.in.h: Likewise.
15794         * lib/sys_ioctl.in.h: Likewise.
15795         * lib/sys_select.in.h: Likewise.
15796         * lib/sys_socket.in.h: Likewise.
15797         * lib/sys_stat.in.h: Likewise.
15798         * lib/sys_time.in.h: Likewise.
15799         * lib/sys_times.in.h: Likewise.
15800         * lib/sys_uio.in.h: Likewise.
15801         * lib/sys_utsname.in.h: Likewise.
15802         * lib/sys_wait.in.h: Likewise.
15803         * lib/sysexits.in.h: Likewise.
15804         * lib/termios.in.h: Likewise.
15805         * lib/time.in.h: Likewise.
15806         * lib/unistd.in.h: Likewise.
15807         * lib/wchar.in.h: Likewise.
15808         * lib/wctype.in.h: Likewise.
15809         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
15810         * modules/ctype (Makefile.am): Likewise.
15811         * modules/dirent (Makefile.am): Likewise.
15812         * modules/errno (Makefile.am): Likewise.
15813         * modules/fcntl-h (Makefile.am): Likewise.
15814         * modules/float (Makefile.am): Likewise.
15815         * modules/getopt-posix (Makefile.am): Likewise.
15816         * modules/iconv-h (Makefile.am): Likewise.
15817         * modules/langinfo (Makefile.am): Likewise.
15818         * modules/locale (Makefile.am): Likewise.
15819         * modules/math (Makefile.am): Likewise.
15820         * modules/netdb (Makefile.am): Likewise.
15821         * modules/netinet_in (Makefile.am): Likewise.
15822         * modules/poll-h (Makefile.am): Likewise.
15823         * modules/pthread (Makefile.am): Likewise.
15824         * modules/pty (Makefile.am): Likewise.
15825         * modules/sched (Makefile.am): Likewise.
15826         * modules/search (Makefile.am): Likewise.
15827         * modules/selinux-h (Makefile.am): Likewise.
15828         * modules/signal (Makefile.am): Likewise.
15829         * modules/spawn (Makefile.am): Likewise.
15830         * modules/stdarg (Makefile.am): Likewise.
15831         * modules/stddef (Makefile.am): Likewise.
15832         * modules/stdint (Makefile.am): Likewise.
15833         * modules/stdio (Makefile.am): Likewise.
15834         * modules/stdlib (Makefile.am): Likewise.
15835         * modules/string (Makefile.am): Likewise.
15836         * modules/strings (Makefile.am): Likewise.
15837         * modules/sys_file (Makefile.am): Likewise.
15838         * modules/sys_ioctl (Makefile.am): Likewise.
15839         * modules/sys_select (Makefile.am): Likewise.
15840         * modules/sys_socket (Makefile.am): Likewise.
15841         * modules/sys_stat (Makefile.am): Likewise.
15842         * modules/sys_time (Makefile.am): Likewise.
15843         * modules/sys_times (Makefile.am): Likewise.
15844         * modules/sys_uio (Makefile.am): Likewise.
15845         * modules/sys_utsname (Makefile.am): Likewise.
15846         * modules/sys_wait (Makefile.am): Likewise.
15847         * modules/sysexits (Makefile.am): Likewise.
15848         * modules/termios (Makefile.am): Likewise.
15849         * modules/time (Makefile.am): Likewise.
15850         * modules/unistd (Makefile.am): Likewise.
15851         * modules/wchar (Makefile.am): Likewise.
15852         * modules/wctype-h (Makefile.am): Likewise.
15853         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
15854
15855 2011-05-29  Bruno Haible  <bruno@clisp.org>
15856
15857         assert-h: Allow multiple gnulib generated replacements to coexist.
15858         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
15859
15860 2011-05-29  Bruno Haible  <bruno@clisp.org>
15861
15862         argp: Allow coexistence with strerror_r-posix module.
15863         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
15864         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
15865         by gnulib's <string.h> replacement), assume it has the POSIX signature,
15866         not the glibc signature.
15867
15868 2011-05-28  Bruno Haible  <bruno@clisp.org>
15869
15870         gnulib-tool: Alternative structure of testdirs, similar to --import.
15871         * gnulib-tool: New option --single-configure.
15872         (func_usage): Document it.
15873         (single_configure): New variable.
15874         (func_modules_transitive_closure_separately,
15875         func_modules_transitive_closure_separately,
15876         func_determine_use_libtests, func_modules_add_dummy_separately,
15877         func_modules_to_filelist_separately): New functions, extracted from
15878         func_import.
15879         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
15880         (func_import): Use the new functions.
15881         (func_create_testdir): Set final_modules. Handle $single_configure =
15882         true case.
15883
15884 2011-05-28  Bruno Haible  <bruno@clisp.org>
15885
15886         getloadavg: Remove an unreliable safety check.
15887         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
15888         getloadavg.c is in place.
15889         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
15890         Reported by Sam Steingold <sds@gnu.org>.
15891
15892 2011-05-28  Bruno Haible  <bruno@clisp.org>
15893
15894         doc: Cleanup yet another file produced by texinfo.tex.
15895         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
15896
15897 2011-05-28  Bruno Haible  <bruno@clisp.org>
15898
15899         Finish the conditional dependencies mechanism.
15900         * gnulib-tool: New option --no-conditional-dependencies.
15901         (func_usage): Document it. Don't mark --conditional-dependencies as
15902         experimental.
15903         (cond_dependencies): The possible values can now be true, false, empty.
15904         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
15905         (func_import): Store setting in gnulib-cache.m4 and read it from there.
15906         * doc/gnulib-tool.texi (Conditional dependencies): New section.
15907
15908 2011-05-28  Bruno Haible  <bruno@clisp.org>
15909
15910         doc: Use a recent texinfo.tex.
15911         * doc/Makefile (tex_opts): New variable.
15912         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
15913
15914 2011-05-28  Jim Meyering  <meyering@redhat.com>
15915
15916         intprops.h: adjust comment to match code change
15917         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
15918         only once, it *may* have side effects.  Also fix an unrelated typo.
15919         (_GL_INT_SIGNED): Likewise.
15920
15921 2011-05-26  Simon Josefsson  <simon@josefsson.org>
15922
15923         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
15924
15925 2011-05-26  Bruno Haible  <bruno@clisp.org>
15926
15927         mbsrchr: Avoid collision with system function on Interix.
15928         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
15929         Reported by Markus Duft <mduft@gentoo.org>.
15930
15931 2011-05-15  James Youngman  <jay@gnu.org>
15932
15933         getopt: for ambiguous options, enumerate the possibilities.
15934         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
15935         the ambiguous options when an ambiguous prefix is given. This was
15936         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
15937         glibc change was
15938         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
15939
15940 2011-05-25  Eric Blake  <eblake@redhat.com>
15941
15942         getcwd: work around mingw bug
15943         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
15944         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15945         Reported by Matthias Bolte.
15946
15947 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
15948
15949         test-intprops: disable -Wtype-limits diagnostics
15950         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
15951         diagnostics.  Otherwise, the integer overflow macros generate many
15952         diagnostics.  Reported by Jim Meyering in
15953         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15954
15955         intprops: shorten, to pacify gcc -Woverlength-strings
15956         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
15957         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
15958         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
15959         likely to run afoul of C compiler limits for string constant lengths.
15960         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15961
15962 2011-05-24  Eric Blake  <eblake@redhat.com>
15963
15964         docs: document recently fixed glibc printf bug
15965         * doc/posix-functions/fprintf.texi (fprintf): Document it.
15966         * doc/posix-functions/printf.texi (printf): Likewise.
15967         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15968         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15969
15970         closein-tests: convert to init.sh
15971         * modules/closein-tests (Files): Add init.sh
15972         * tests/test-closein.sh Use it.
15973
15974         yesno-tests: convert to init.sh
15975         * modules/yesno-tests (Files): Add init.sh.
15976         * tests/test-yesno.sh: Use it.
15977
15978         atexit-tests: ensure reliable exit status
15979         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
15980         Reported by Bruno Haible.
15981
15982 2011-05-24  Bruno Haible  <bruno@clisp.org>
15983
15984         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
15985         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
15986         gl_PREREQ_STRERROR_R invocations from here...
15987         * modules/strerror_r-posix (configure.ac): ... to here.
15988
15989 2011-05-24  Eric Blake  <eblake@redhat.com>
15990
15991         strerror_r: fix missing header
15992         * lib/strerror_r.c: Avoid compiler warning about snprintf.
15993
15994         strerror_r: fix AIX test failures
15995         * lib/strerror_r.c (strerror_r): Convert silent truncation to
15996         ERANGE failure.
15997
15998         strerror_r: fix Solaris test failures
15999         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
16000         failures.
16001         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
16002
16003         strerror_r: enforce POSIX recommendations
16004         * lib/strerror_r.c (safe_copy): New helper method.
16005         (strerror_r): Guarantee a non-empty string.
16006         * tests/test-strerror_r.c (main): Enhance tests to incorporate
16007         recent POSIX rulings and to match our strerror guarantees.
16008         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
16009
16010 2011-05-24  Jim Meyering  <meyering@redhat.com>
16011
16012         test-perror2.c: avoid warning about unused variable
16013         * tests/test-perror2.c (main): Remove declaration of unused "fp".
16014
16015 2011-05-24  Eric Blake  <eblake@redhat.com>
16016
16017         perror: avoid spurious test failure on HP-UX
16018         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
16019
16020         tests: fix logic bug in init.sh
16021         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
16022         shell.
16023
16024 2011-05-24  Jim Meyering  <meyering@redhat.com>
16025
16026         utimensat: do not reference an out-of-scope buffer
16027         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
16028         declared in an inner scope, yet "times" would be dereferenced outside
16029         the scope in which "ts" was valid.
16030         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
16031         of ts[2] "out/up", so that the use of aliased "times" (via
16032         "times = ts;") does not end up referencing an out-of-scope "ts"
16033
16034         opendir-safer.c: don't clobber errno; don't close negative FD
16035         * lib/opendir-safer.c (opendir_safer):
16036         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
16037         file descriptor, and more importantly, don't clobber the
16038         offending errno value with EINVAL.  Before, upon failure
16039         of dup_safer, we would pass the negative file descriptor to
16040         fdopendir, which would clobber errno.
16041
16042 2011-05-23  Bruno Haible  <bruno@clisp.org>
16043
16044         idcache: Fix module description.
16045         * modules/idcache (Include): Set to "idcache.h".
16046
16047 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
16048
16049         gnulib-tool: fix portability problem with MacOS sed
16050         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
16051         before the "}".  Problem reported by Leo in
16052         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
16053         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
16054         sed_extract_condition1, sed_extract_condition2.
16055
16056 2011-05-23  Bruno Haible  <bruno@clisp.org>
16057
16058         hash: Simplify autoconf macro.
16059         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
16060
16061 2011-05-23  Bruno Haible  <bruno@clisp.org>
16062
16063         getugroups: Fix module description.
16064         * modules/getugroups (Include): Set to "getugroups.h".
16065
16066 2011-05-23  Bruno Haible  <bruno@clisp.org>
16067
16068         linkat: Simplify autoconf macro.
16069         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
16070
16071 2011-05-23  Bruno Haible  <bruno@clisp.org>
16072             Eric Blake  <eblake@redhat.com>
16073
16074         linkat, renameat: Update dependencies.
16075         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
16076         * modules/linkat (Depends-on): Likewise. Remove also readlink,
16077         symlinkat.
16078
16079 2011-05-23  Jim Meyering  <meyering@redhat.com>
16080
16081         maint.mk: more tight_scope improvements
16082         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
16083         (_gl_TS_headers): Define only in if-0'd block.
16084         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
16085         sometimes we must *not* use it.  Adjust uses accordingly.
16086         (sc_tight_scope): Use much simpler grep-based test to determine
16087         whether we skip this rule.
16088
16089         maint.mk: generalize/improve the tight-scope rule
16090         * top/maint.mk: Emit a warning when the test is skipped.
16091         (_gl_TS_dir): Add $(srcdir)/ prefix.
16092         (_gl_TS_function_match): Simplify, rather than trying
16093         to enumerate common types.  Otherwise, it would fail to match an
16094         "extern unsigned char const *" declaration in idutils.
16095         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
16096         a way to support use of that type of macro.
16097         (_gl_TS_var_match): Simplify regexp.
16098         (_gl_TS_obj_files): New configurable variable.
16099         (_gl_TS_headers): Likewise.
16100
16101 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
16102
16103         verify: fix bug when gnulib <assert.h> is also included
16104         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
16105         is defined, not if _GL_STATIC_ASSERT_H is not defined.
16106         Perhaps there's a better way, but this fixes the immediate problem.
16107         Problem reported by Bruno Haible in
16108         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
16109
16110 2011-05-22  Bruno Haible  <bruno@clisp.org>
16111
16112         xgetcwd: Simplify autoconf macro.
16113         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
16114
16115 2011-05-22  Bruno Haible  <bruno@clisp.org>
16116
16117         New module 'mktime-internal'.
16118         * modules/mktime-internal: New file.
16119         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
16120         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
16121         mktime_internal as a C macro if libc has __mktime_internal.
16122         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
16123         conditions.
16124         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
16125
16126 2011-05-22  Bruno Haible  <bruno@clisp.org>
16127
16128         timegm: Correct mktime replacement statements.
16129         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
16130         defining mktime as a C macro. This completes a 2009-07-28 commit.
16131
16132 2011-05-22  Bruno Haible  <bruno@clisp.org>
16133
16134         timegm: Simplify autoconf macro.
16135         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
16136
16137 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16138
16139         clock-time: change to LGPLv2+.
16140         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
16141         BSD-like but we have no mark for that; this is good enough for now.
16142
16143 2011-05-21  Bruno Haible  <bruno@clisp.org>
16144
16145         strerror_r: Fix comments.
16146         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
16147
16148 2011-05-21  Bruno Haible  <bruno@clisp.org>
16149
16150         relocatable-prog-wrapper: Fix possible link error.
16151         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
16152         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
16153         (gl_FUNC_SETENV): ... to here.
16154         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
16155         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
16156
16157 2011-05-21  Bruno Haible  <bruno@clisp.org>
16158
16159         relocatable-prog-wrapper: Assume strerror() exists.
16160         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
16161         m4/strerror.m4.
16162         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
16163         * lib/relocwrapper.c: Remove mention of strerror module.
16164         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
16165         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
16166         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
16167         C macro.
16168
16169 2011-05-21  Bruno Haible  <bruno@clisp.org>
16170
16171         select: Simplify replacement idiom.
16172         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
16173         Win32 platforms.
16174         * lib/sys_select.in.h (select): Simplify accordingly.
16175         * modules/select (Depends-on): Likewise.
16176
16177 2011-05-21  Bruno Haible  <bruno@clisp.org>
16178
16179         mkdir-p: Simplify autoconf macro.
16180         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
16181         gl_FUNC_LCHOWN.
16182
16183 2011-05-21  Eric Blake  <eblake@redhat.com>
16184
16185         strerror_r: avoid clobbering strerror on cygwin
16186         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
16187         fall back instead to sys_errlist.
16188         * modules/strerror (configure.ac): Add witness.
16189         * tests/test-strerror_r.c (main): Enhance test.
16190         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16191         * tests/test-perror2.c (main): Free memory before exit.
16192
16193 2011-05-21  Bruno Haible  <bruno@clisp.org>
16194
16195         mkdtemp: Use gnulib naming conventions.
16196         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
16197         * modules/mkdtemp (configure.ac): Update.
16198
16199 2011-05-20  Eric Blake  <eblake@redhat.com>
16200
16201         strerror_r: avoid corrupting errno on Solaris
16202         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
16203         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16204
16205         strerror_r: avoid compiler warning
16206         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
16207
16208         strerror_r: simplify AIX code
16209         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
16210
16211         test-perror: avoid spurious failure on FreeBSD
16212         * modules/perror-tests (Depends-on): Add strerror, now that
16213         strerror_r no longer pulls it in.
16214
16215 2011-05-20  Bruno Haible  <bruno@clisp.org>
16216
16217         strerror_r-posix: Remove unused dependencies.
16218         * modules/strerror_r-posix (Depends-on): Remove strerror.
16219         Reported by Eric Blake.
16220
16221 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16222
16223         intprops: remove assumption about A|B representation
16224         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
16225         is a valid integer if both A and B are.  Although this is true for
16226         all known practical hosts, the C standard doesn't guarantee it,
16227         and the code need not assume it.  Also, this change may work around
16228         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
16229         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
16230
16231 2011-05-20  Eric Blake  <eblake@redhat.com>
16232
16233         perror: work around FreeBSD bug
16234         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
16235         is broken.  Move AC_LIBOBJ...
16236         * modules/perror (configure.ac): Here.
16237         * doc/posix-functions/perror.texi (perror): Document this.
16238         * tests/test-perror2.c (main): Enhance test.
16239
16240         test-perror: check for strerror interactions
16241         * tests/macros.h (STREQ): Add macro.
16242         * modules/perror-tests (Files): Add second test.
16243         * tests/test-perror2.c (main): New file.
16244         * doc/posix-functions/perror.texi (perror): Document glibc bug.
16245
16246         test-perror: rewrite to use init script
16247         * modules/perror-tests (Files): Add init.sh.
16248         * tests/test-perror.sh: Use temporary directory.
16249
16250 2011-05-20  Jim Meyering  <meyering@redhat.com>
16251
16252         maint: replace misused "a" with "an"
16253         * doc/intprops.texi: "a integer"
16254         * doc/regex.texi: "a explanation"
16255         * lib/alignof.h: "a object"
16256         * lib/argmatch.h: "a explanation"
16257         * lib/argp-help.c: "a option" and "a OPTION_DOC"
16258         * lib/stdint.in.h: "a integer"
16259         * lib/userspec.c: "a owner"
16260         * doc/gnulib.texi: Fix "a idea", and reword.
16261
16262 2011-05-19  Jim Meyering  <meyering@redhat.com>
16263
16264         maint: correct misuse of "a" and "an"
16265         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
16266         * lib/argp-help.c: "an docum...": s/an/a/
16267         * lib/argp-parse.c: "An vector": s/An/A/
16268         * lib/execute.c: "an native": s/an/a/
16269         * lib/spawn-pipe.c: Likewise.
16270         * lib/gc.h: "an Gc_rc": s/an/a/
16271         * lib/unigbrk.in.h: "an grapheme": s/an/a/
16272         * lib/fts.c: "an stat.st_dev": s/an/a/
16273
16274 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16275
16276         intprops-tests: work around HP-UX 11.23 cc bug with constants
16277         * tests/test-intprops.c (VERIFY): New macro.
16278         (main): Use it, instead of verify, to work around the compiler bug; see
16279         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16280
16281         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
16282         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
16283         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
16284         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
16285         (_GL_REMAINDER_OVERFLOW): Use it.
16286
16287         intprops-tests: revert unsigned part of previous change
16288         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
16289         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
16290         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
16291         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
16292
16293 2011-05-19  Bruno Haible  <bruno@clisp.org>
16294
16295         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
16296         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
16297         strerror_r() returned without filling the buffer.
16298         Reported by Eric Blake.
16299
16300 2011-05-19  Eric Blake  <eblake@redhat.com>
16301
16302         strerror_r: guarantee unchanged errno
16303         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
16304         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
16305         failure.
16306         * tests/test-strerror_r.c (main): Enhance test.
16307
16308 2011-05-19  Bruno Haible  <bruno@clisp.org>
16309
16310         strerror_r: Reorder #if blocks.
16311         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
16312         for consistency with the previous commit.
16313
16314 2011-05-19  Bruno Haible  <bruno@clisp.org>
16315
16316         perror: Avoid clobbering the strerror buffer when possible.
16317         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
16318         * lib/strerror.c: Include it.
16319         * modules/strerror (Files): Add lib/strerror-impl.h.
16320         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
16321         (my_strerror): New function, defined through lib/strerror-impl.h.
16322         (perror): Use it instead of strerror.
16323         * modules/perror (Files): Add lib/strerror-impl.h.
16324         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
16325
16326 2011-05-19  Eric Blake  <eblake@redhat.com>
16327
16328         strerror_r: fix on newer cygwin
16329         * lib/strerror_r.c (strerror_r): Cygwin now has
16330         __xpg_strerror_r, use it.
16331
16332 2011-05-19  Bruno Haible  <bruno@clisp.org>
16333
16334         strerror_r: Avoid clobbering the strerror buffer when possible.
16335         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
16336         (sys_nerr, sys_errlist): New declarations.
16337         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
16338         HP-UX, native Win32, IRIX, and 32-bit Solaris.
16339         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
16340
16341 2011-05-19  Bruno Haible  <bruno@clisp.org>
16342
16343         strerror_r: Fix test failure on mingw.
16344         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
16345         EXTEND_STRERROR_R.
16346         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
16347         macros from errno.in.h instead.
16348
16349 2011-05-19  Eric Blake  <eblake@redhat.com>
16350
16351         strerror: relax test for Solaris
16352         * tests/test-strerror.c (main): Permit Solaris behavior.
16353         * tests/test-strerror_r.c (main): Likewise.
16354
16355         strerror: enforce POSIX ruling on strerror(0)
16356         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
16357         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
16358         * lib/strerror_r.c (rpl_strerror_r): Work around it.
16359         * doc/posix-functions/strerror.texi (strerror): Document it.
16360         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
16361         * tests/test-strerror.c (main): Strengthen test.
16362         * tests/test-strerror_r.c (main): Likewise.
16363
16364 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16365
16366         intprop-tests: port to older and more-pedantic compilers
16367         * modules/intprops-tests (Files): Add tests/macros.h.
16368         * tests/test-intprops.c: Include macros.h.
16369         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
16370         it's no longer documented to expand to an integer constant expression.
16371         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
16372         argument is floating point, as it's no longer documented to expand
16373         to an integer constant expression in that case.
16374         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
16375         compiler bugs reported by Bruno Haible.  See
16376         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16377         (U0, U1): New constants, to work around the same bugs.  Also,
16378         in tests, use e.g., "(unsigned int) 39" rather than "39u".
16379
16380         intprops: work around C compiler bugs
16381         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
16382         bug in Sun C 5.11 2010/08/13 and other compilers; see
16383         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16384
16385         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
16386         * doc/intprops.texi (Integer Type Determination): Fix
16387         documentation for TYPE_IS_INTEGER: it returns an constant
16388         expression, not an integer constant expression.  Fix doc for
16389         TYPE_SIGNED: it returns an integer constant expression only if its
16390         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
16391         hardly worth documented that way....)
16392
16393 2011-05-18  Bruno Haible  <bruno@clisp.org>
16394
16395         strerror_r: Avoid clobbering the strerror buffer when possible.
16396         * lib/strerror_r.c (strerror_r): Merge the three implementations.
16397         Handle gnulib defined errno values here. When strerror() returns NULL
16398         or an empty string, return EINVAL.
16399         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
16400         gnulib defined errno values here.
16401         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
16402
16403 2011-05-18  Eric Blake  <eblake@redhat.com>
16404
16405         fnmatch: avoid compiler warning
16406         * lib/fnmatch_loop.c (FCT): Use correct type.
16407         Reported by Matthias Bolte.
16408
16409 2011-05-13  Jim Meyering  <meyering@redhat.com>
16410
16411         maint.mk: three new prohibit_<HDR>_without_use rules
16412         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
16413         (sc_prohibit_stdio-safer_without_use): Likewise.
16414         (sc_prohibit_xfreopen_without_use): Likewise.
16415
16416 2011-05-17  Jim Meyering  <meyering@redhat.com>
16417
16418         announce-gen: fail if the NEWS delta is empty
16419         If there's nothing noteworthy in NEWS, then either you forgot
16420         or you shouldn't be releasing.
16421         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
16422
16423 2011-05-17  Pádraig Brady <P@draigBrady.com>
16424
16425         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
16426         reserved symbols starting with double underscore from the check.
16427
16428 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16429
16430         intprops: add doc
16431         * doc/intprops.texi: New file, documenting intprops.
16432         * doc/gnulib.texi (Particular Modules): Include it.
16433
16434         verify: add doc to gnulib manual and fix example
16435         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
16436         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
16437         (Compile-time Assertions): Fix example so it can't overflow.
16438
16439 2011-05-17  Jim Meyering  <meyering@redhat.com>
16440
16441         warnings.m4: don't usurp save_CPPFLAGS variable name
16442         * m4/warnings.m4: Prefix local temporary variable name with gl_.
16443
16444         doc: fix typo
16445         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
16446
16447 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16448             Bruno Haible  <bruno@clisp.org>
16449
16450         doc: Tweak recent change.
16451         * README (Portability guidelines): Tweak new text.
16452         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
16453         Interix 6.1.
16454
16455 2011-05-16  Eric Blake  <eblake@redhat.com>
16456
16457         inttypes: avoid autoconf warning
16458         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
16459         * m4/stdint.m4 (gl_STDINT_H): Likewise.
16460
16461 2011-05-16  Sam Steingold <sds@gnu.org>
16462         and Eric Blake  <eblake@redhat.com>
16463
16464         vc-list-files: accept multiple directory operands
16465         * build-aux/vc-list-files: Iterate over all remaining operands.
16466
16467 2011-05-16  Bruno Haible  <bruno@clisp.org>
16468
16469         Fix confusion regarding deprecated modules.
16470         * modules/calloc (Status, Notice): Mark module as deprecated, not
16471         obsolete.
16472         * modules/fnmatch-posix (Status, Notice): Likewise.
16473         * modules/getdate (Status, Notice): Likewise.
16474         * modules/getopt (Status, Notice): Likewise.
16475         * modules/malloc (Status, Notice): Likewise.
16476         * modules/pipe (Status, Notice): Likewise.
16477         * modules/realloc (Status, Notice): Likewise.
16478         * modules/rename-dest-slash (Status, Notice): Likewise.
16479         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
16480         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
16481         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
16482         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
16483         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
16484
16485 2011-05-16  Bruno Haible  <bruno@clisp.org>
16486
16487         doc: List the target platforms.
16488         * doc/gnulib-intro.texi (Target Platforms): New section.
16489         * doc/gnulib.texi (Introduction): Update menu.
16490         * README (Portability guidelines): Refer to the new section. Update
16491         statement about oldest supported environment. Remove rationale why
16492         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
16493         unportable C89 function.
16494         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
16495         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
16496
16497 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16498
16499         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
16500
16501 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16502
16503         intprops-tests: new module
16504         * modules/intprops-tests, tests/test-intprops.c: New files.
16505
16506         intprops: add safe, portable integer overflow checking
16507         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
16508         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
16509         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
16510         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
16511         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
16512         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
16513         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
16514         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
16515         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
16516         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
16517         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
16518
16519 2011-05-12  James Youngman  <jay@gnu.org>
16520
16521         Add a test for glibc's Bugzilla bug #12378.
16522         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
16523         doesn't allow the literal matching of a lone "[" (which is
16524         required by POSIX).
16525         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
16526
16527 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
16528
16529         Sync glibc change fixing Bugzilla bug #12378.
16530         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
16531         beginning and fall back to matching as normal character if the
16532         string ends before the matching ']' is found.  This is what POSIX
16533         requires.
16534
16535 2011-05-13  Eric Blake  <eblake@redhat.com>
16536
16537         getcwd-lgpl: relax test for FreeBSD
16538         * doc/posix-functions/getcwd.texi (getcwd): Document portability
16539         issue.
16540         * tests/test-getcwd-lgpl.c (main): Relax test.
16541         Reported by Matthias Bolte.
16542
16543 2011-05-11  Eric Blake  <eblake@redhat.com>
16544
16545         test-fflush: silence compiler warning
16546         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
16547
16548 2011-05-11  Bruno Haible  <bruno@clisp.org>
16549
16550         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
16551         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
16552         * modules/canonicalize (Depends-on): Add 'nocrash'.
16553         * modules/canonicalize-lgpl (Depends-on): Likewise.
16554         * doc/posix-functions/realpath.texi: Update platforms list.
16555         Reported by Ryan Schmidt <ryandesign@macports.org>.
16556
16557 2011-05-11  Bruno Haible  <bruno@clisp.org>
16558
16559         group-member: Declare function in <unistd.h>.
16560         * lib/unistd.in.h (group_member): New declaration.
16561         * lib/group-member.h: Remove file.
16562         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
16563         * tests/test-unistd-c++.cc: Check signature of group_member.
16564         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
16565         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
16566         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
16567         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
16568         HAVE_GROUP_MEMBER.
16569         * modules/group-member (Files): Remove lib/group-member.h.
16570         (Depends-on): Add unistd. Specify conditions.
16571         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16572         (Include): Change to <unistd.h>.
16573         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
16574         HAVE_GROUP_MEMBER.
16575         * NEWS: Mention the change.
16576         * lib/euidaccess.c: Don't include group-member.h.
16577
16578 2011-05-11  Bruno Haible  <bruno@clisp.org>
16579
16580         group-member: Document module.
16581         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
16582         module.
16583
16584 2011-05-11  Bruno Haible  <bruno@clisp.org>
16585
16586         fclose: Fix mistake earlier today.
16587         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
16588
16589 2011-05-11  Eric Blake  <eblake@redhat.com>
16590
16591         fclose: preserve fflush errors
16592         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
16593         Reported by Jim Meyering.
16594
16595         bootstrap: support a prereq of 'rpcgen -' on RHEL5
16596         * build-aux/bootstrap (check_versions): When no specific version
16597         is required, merely check that the app produces an exit status
16598         that indicates its existence.
16599
16600         maint.mk: drop redundant check
16601         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
16602         the same but better.
16603
16604 2011-05-11  Bruno Haible  <bruno@clisp.org>
16605
16606         fclose: Fix possible link error.
16607         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
16608         unregister_shadow_fd. Improve comments.
16609         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
16610         Eric Blake.
16611
16612 2011-05-11  Jim Meyering  <meyering@redhat.com>
16613
16614         maint.mk: improve "can not" detection and generalize rule name
16615         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
16616         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
16617         Use the same technique as in sc_prohibit_doubled_word, so that
16618         we recognize "can not" also when the words are separated by a newline.
16619         Suggested by Eric Blake.
16620         (perl_filename_lineno_text_): Define.  Factored out of...
16621         (prohibit_doubled_word_): ...here.  Use the new definition.
16622         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
16623         (prohibit_undesirable_word_seq_RE_): New overridable variable.
16624         (ignore_undesirable_word_sequence_RE_): New overridable variable.
16625
16626 2011-05-10  Eric Blake  <eblake@redhat.com>
16627
16628         fclose: avoid double close race when possible
16629         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
16630         all but WINDOWS_SOCKETS.
16631
16632 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
16633
16634         openat: correct new comment
16635         * lib/openat-proc.c (openat_proc_name): Correct the comment.
16636
16637 2011-05-10  Jim Meyering  <meyering@redhat.com>
16638
16639         openat: add comments
16640         * lib/openat-proc.c (openat_proc_name): Add comments,
16641         mostly from Eric Blake.
16642
16643 2011-05-09  Eric Blake  <eblake@redhat.com>
16644
16645         openat: reduce syscalls in first probe of /proc
16646         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
16647         be a directory.  Simplify the probe for .. bugs.
16648         * modules/openat (Depends-on): Drop same-inode.
16649         Reported by Bastien ROUCARIES.
16650
16651 2011-05-09  Jim Meyering  <meyering@redhat.com>
16652
16653         maint.mk: change semantics/name of tight_scope variables
16654         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
16655         Rename variables to align with semantics that make them more useful.
16656
16657         maint.mk: tweak new rule's name not to impinge
16658         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
16659         (sc_tight_scope): Use new rule name rather than $@-0.
16660
16661         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
16662         * top/maint.mk (sc_tight_scope): New rule.
16663         (sc_tight_scope-0): New rule, ifdef'd out.
16664         (_gl_TS_dir): Default.
16665         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
16666         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
16667
16668 2011-05-09  Simon Josefsson  <simon@josefsson.org>
16669
16670         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
16671         Haible <bruno@clisp.org>.
16672
16673 2011-05-08  Bruno Haible  <bruno@clisp.org>
16674
16675         Comments.
16676         * m4/isnanf.m4: Add comment.
16677         * m4/isnanl.m4: Likewise.
16678
16679 2011-05-08  Bruno Haible  <bruno@clisp.org>
16680
16681         glob: Remove obsolete macro.
16682         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
16683
16684 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
16685
16686         intprops: Sun C 5.11 supports __typeof__
16687         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
16688         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
16689         which is new.
16690         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
16691
16692         intprops: switch to usual gnulib indenting and naming
16693         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
16694         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
16695
16696         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
16697
16698 2011-05-08  Jim Meyering  <meyering@redhat.com>
16699
16700         maint.mk: suppress "Entering/Leaving directory" diag in announcement
16701         * top/maint.mk (release-prep): Use make's --no-print-directory
16702         option when generating the announcement.  This eliminates the
16703         pesky "make[2]: Entering/Leaving directory" diagnostics in the
16704         generated announcement template.
16705
16706 2011-05-08  Bruno Haible  <bruno@clisp.org>
16707
16708         tzset: Fix gettimeofday wrapper on Solaris 2.6.
16709         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
16710         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
16711
16712 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
16713
16714         ignore-value, verify: Omit include files from lib_SOURCES.
16715         * modules/ignore-value, modules/verify (Makefile.am):
16716         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
16717         that leads Automake to duplicate use of am__objects_... variables
16718         in Makefile.in.  See
16719         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
16720
16721 2011-05-07  Bruno Haible  <bruno@clisp.org>
16722
16723         fclose: Simplify autoconf macro.
16724         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
16725         defined.
16726
16727 2011-05-07  Bruno Haible  <bruno@clisp.org>
16728
16729         canonicalize-lgpl: Fix autoconf macro ordering bug.
16730         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
16731         gl_STDLIB_H_DEFAULTS.
16732
16733 2011-05-06  Eric Blake  <eblake@redhat.com>
16734
16735         maintainer-makefile: make sc_po_check easier to tune
16736         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
16737         to probe for strings, such as an alternate location for gnulib.
16738
16739         fclose: guarantee behavior on seekable stdin
16740         * modules/fclose (Depends-on): Add fflush.
16741         * doc/posix-functions/fclose.texi (fclose): Document this.
16742         * tests/test-fclose.c (main): Make test for this unconditional.
16743
16744 2011-05-06  Bruno Haible  <bruno@clisp.org>
16745
16746         fflush, fpurge: Relicense under LGPLv2+.
16747         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
16748         * modules/fpurge (License): Likewise.
16749         With permission from Eric Blake and Jim Meyering.
16750         Suggested by Eric Blake.
16751
16752 2011-05-06  Karl Berry  <karl@gnu.org>
16753
16754         * MODULES.html.sh (func_all_modules): remove exit.
16755
16756 2011-05-06  Jim Meyering  <meyering@redhat.com>
16757
16758         maint.mk: use info-gnu@ as the default only for a stable release
16759         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
16760         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
16761         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
16762         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
16763
16764 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
16765
16766         assert-h: new module, which supports C1X-style static_assert
16767         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
16768         * lib/verify.h: Revamp so that this can be copied into assert.h,
16769         while retaining the ability to use it standalone as before.
16770         Rename private identifiers so as not to encroach on the
16771         standard C namespace, since this is now used by assert.h.
16772         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
16773         the old verify_true.
16774         (_GL_VERIFY_TRUE): New macro, with much of the contents of
16775         the old verify_true.  Use _GL_VERIFY_TYPE.
16776         (_GL_VERIFY): New macro, with much of the contents of the old verify.
16777         (static_assert): New macro, if _GL_STATIC_ASSERT_H
16778         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
16779         defined when this file is copied into the replacement assert.h.
16780         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
16781         and _Static_assert is not built in.
16782         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
16783         defined, and use the new macros mentioned above.
16784         * doc/posix-headers/assert.texi: Document this.
16785
16786 2011-05-05  Bruno Haible  <bruno@clisp.org>
16787
16788         fclose, fflush: Respect rules for use of AC_LIBOBJ.
16789         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
16790         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
16791         gl_REPLACE_FCLOSE here.
16792         * modules/fflush (Depends-on): Remove fclose.
16793         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
16794         combination with module 'fclose'.
16795
16796 2011-05-05  Bruno Haible  <bruno@clisp.org>
16797
16798         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
16799         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
16800         gl_FUNC_FFLUSH.
16801         (gl_FUNC_FFLUSH): Use it.
16802         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
16803         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
16804         gl_REPLACE_FSEEKO here.
16805
16806 2011-05-05  Bruno Haible  <bruno@clisp.org>
16807
16808         tzset: Relicense under LGPL.
16809         * modules/tzset (License): Change to LGPL.
16810         No agreement needed; it's a no-op.
16811
16812         strtoimax, strtoumax: Relicense under LGPL.
16813         * modules/strtoimax (License): Change to LGPL.
16814         * modules/strtoumax (License): Likewise.
16815         With permission from Jim Meyering, Paul Eggert:
16816         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
16817         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
16818
16819         getgroups: Relicense under LGPL.
16820         * modules/getgroups (License): Change to LGPL.
16821         With permission from Jim Meyering, Paul Eggert, Eric Blake:
16822         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16824         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16825
16826         nanosleep: Relicense under LGPL.
16827         * modules/nanosleep (License): Change to LGPL.
16828         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
16829         Haible:
16830         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16831         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16833         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16834
16835         futimens: Relicense under LGPL.
16836         * modules/futimens (License): Change to LGPL.
16837         With permission from Eric Blake:
16838         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16839
16840         fflush: Relicense under LGPL.
16841         * modules/fflush (License): Change to LGPL.
16842         With permission from Eric Blake, Bruno Haible, Jim Meyering:
16843         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16844         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16845         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
16846
16847         tmpfile: Relicense under LGPL.
16848         * modules/tmpfile (License): Change to LGPL.
16849         With permission from Ben Pfaff:
16850         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16851
16852         isfinite: Relicense under LGPL.
16853         * modules/isfinite (License): Change to LGPL.
16854         With permission from Ben Pfaff, Bruno Haible:
16855         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16856         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
16857
16858         acosl..tanl: Relicense under LGPL.
16859         * modules/acosl (License): Change to LGPL.
16860         * modules/asinl (License): Likewise.
16861         * modules/atanl (License): Likewise.
16862         * modules/cosl (License): Likewise.
16863         * modules/expl (License): Likewise.
16864         * modules/logl (License): Likewise.
16865         * modules/sinl (License): Likewise.
16866         * modules/sqrtl (License): Likewise.
16867         * modules/tanl (License): Likewise.
16868         Source code originally from glibc and Paolo Bonzini. Agreements:
16869         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
16870         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
16871
16872 2011-05-05  Bruno Haible  <bruno@clisp.org>
16873
16874         signal: Define sighandler_t.
16875         * lib/signal.in.h (sighandler_t): New type.
16876         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
16877         whether sighandler_t is defined.
16878         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
16879         * modules/signal (Depends-on): Add extensions.
16880         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
16881         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
16882         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
16883
16884 2011-05-05  Eric Blake  <eblake@redhat.com>
16885
16886         maint: remove useless REPLACE_*_H macros
16887         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
16888         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
16889         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
16890         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
16891         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
16892         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
16893         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
16894         * m4/btowc.m4: Update callers.
16895         * m4/dirfd.m4: Likewise.
16896         * m4/duplocale.m4: Likewise.
16897         * m4/fchdir.m4: Likewise.
16898         * m4/fdopendir.m4: Likewise.
16899         * m4/inet_ntop.m4: Likewise.
16900         * m4/inet_pton.m4: Likewise.
16901         * m4/ioctl.m4: Likewise.
16902         * m4/mbrlen.m4: Likewise.
16903         * m4/mbrtowc.m4: Likewise.
16904         * m4/mbsinit.m4: Likewise.
16905         * m4/mbsnrtowcs.m4: Likewise.
16906         * m4/mbsrtowcs.m4: Likewise.
16907         * m4/poll.m4: Likewise.
16908         * m4/setlocale.m4: Likewise.
16909         * m4/wcrtomb.m4: Likewise.
16910         * m4/wcsnrtombs.m4: Likewise.
16911         * m4/wcsrtombs.m4: Likewise.
16912         * m4/wctob.m4: Likewise.
16913         * m4/wcwidth.m4: Likewise.
16914         * modules/posix_spawn: Likewise.
16915         * modules/posix_spawn_file_actions_addclose: Likewise.
16916         * modules/posix_spawn_file_actions_adddup2: Likewise.
16917         * modules/posix_spawn_file_actions_addopen: Likewise.
16918         * modules/posix_spawn_file_actions_destroy: Likewise.
16919         * modules/posix_spawn_file_actions_init: Likewise.
16920         * modules/posix_spawnattr_destroy: Likewise.
16921         * modules/posix_spawnattr_getflags: Likewise.
16922         * modules/posix_spawnattr_getpgroup: Likewise.
16923         * modules/posix_spawnattr_getschedparam: Likewise.
16924         * modules/posix_spawnattr_getschedpolicy: Likewise.
16925         * modules/posix_spawnattr_getsigdefault: Likewise.
16926         * modules/posix_spawnattr_getsigmask: Likewise.
16927         * modules/posix_spawnattr_init: Likewise.
16928         * modules/posix_spawnattr_setflags: Likewise.
16929         * modules/posix_spawnattr_setpgroup: Likewise.
16930         * modules/posix_spawnattr_setschedparam: Likewise.
16931         * modules/posix_spawnattr_setschedpolicy: Likewise.
16932         * modules/posix_spawnattr_setsigdefault: Likewise.
16933         * modules/posix_spawnattr_setsigmask: Likewise.
16934         * modules/posix_spawnp: Likewise.
16935
16936 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
16937
16938         Add option to do-release-commit-and-tag to specify branch.
16939         * build-aux/do-release-commit-and-tag: Add --branch.
16940
16941 2011-05-03  Bruno Haible  <bruno@clisp.org>
16942
16943         Avoid unnecessary compilation units, through conditional dependencies.
16944         * modules/accept (Depends-on): Add conditions to the dependencies.
16945         * modules/acosl (Depends-on): Likewise.
16946         * modules/argz (Depends-on): Likewise.
16947         * modules/asinl (Depends-on): Likewise.
16948         * modules/atanl (Depends-on): Likewise.
16949         * modules/atoll (Depends-on): Likewise.
16950         * modules/bind (Depends-on): Likewise.
16951         * modules/btowc (Depends-on): Likewise.
16952         * modules/canonicalize-lgpl (Depends-on): Likewise.
16953         * modules/ceil (Depends-on): Likewise.
16954         * modules/ceilf (Depends-on): Likewise.
16955         * modules/ceill (Depends-on): Likewise.
16956         * modules/chdir-long (Depends-on): Likewise.
16957         * modules/chown (Depends-on): Likewise.
16958         * modules/close (Depends-on): Likewise.
16959         * modules/connect (Depends-on): Likewise.
16960         * modules/cosl (Depends-on): Likewise.
16961         * modules/dirfd (Depends-on): Likewise.
16962         * modules/dprintf (Depends-on): Likewise.
16963         * modules/dprintf-posix (Depends-on): Likewise.
16964         * modules/error (Depends-on): Likewise.
16965         * modules/euidaccess (Depends-on): Likewise.
16966         * modules/expl (Depends-on): Likewise.
16967         * modules/faccessat (Depends-on): Likewise.
16968         * modules/fchdir (Depends-on): Likewise.
16969         * modules/fclose (Depends-on): Likewise.
16970         * modules/fcntl (Depends-on): Likewise.
16971         * modules/fdopendir (Depends-on): Likewise.
16972         * modules/fflush (Depends-on): Likewise.
16973         * modules/floor (Depends-on): Likewise.
16974         * modules/floorf (Depends-on): Likewise.
16975         * modules/floorl (Depends-on): Likewise.
16976         * modules/fnmatch (Depends-on): Likewise.
16977         * modules/fopen (Depends-on): Likewise.
16978         * modules/fprintf-posix (Depends-on): Likewise.
16979         * modules/frexp (Depends-on): Likewise.
16980         * modules/frexp-nolibm (Depends-on): Likewise.
16981         * modules/frexpl (Depends-on): Likewise.
16982         * modules/frexpl-nolibm (Depends-on): Likewise.
16983         * modules/fseek (Depends-on): Likewise.
16984         * modules/fsusage (Depends-on): Likewise.
16985         * modules/ftell (Depends-on): Likewise.
16986         * modules/ftello (Depends-on): Likewise.
16987         * modules/futimens (Depends-on): Likewise.
16988         * modules/getcwd (Depends-on): Likewise.
16989         * modules/getcwd-lgpl (Depends-on): Likewise.
16990         * modules/getdelim (Depends-on): Likewise.
16991         * modules/getdomainname (Depends-on): Likewise.
16992         * modules/getgroups (Depends-on): Likewise.
16993         * modules/gethostname (Depends-on): Likewise.
16994         * modules/getline (Depends-on): Likewise.
16995         * modules/getlogin_r (Depends-on): Likewise.
16996         * modules/getopt-posix (Depends-on): Likewise.
16997         * modules/getpeername (Depends-on): Likewise.
16998         * modules/getsockname (Depends-on): Likewise.
16999         * modules/getsockopt (Depends-on): Likewise.
17000         * modules/getsubopt (Depends-on): Likewise.
17001         * modules/getusershell (Depends-on): Likewise.
17002         * modules/glob (Depends-on): Likewise.
17003         * modules/grantpt (Depends-on): Likewise.
17004         * modules/iconv_open (Depends-on): Likewise.
17005         * modules/iconv_open-utf (Depends-on): Likewise.
17006         * modules/inet_ntop (Depends-on): Likewise.
17007         * modules/inet_pton (Depends-on): Likewise.
17008         * modules/ioctl (Depends-on): Likewise.
17009         * modules/isapipe (Depends-on): Likewise.
17010         * modules/isfinite (Depends-on): Likewise.
17011         * modules/isinf (Depends-on): Likewise.
17012         * modules/lchown (Depends-on): Likewise.
17013         * modules/ldexpl (Depends-on): Likewise.
17014         * modules/link (Depends-on): Likewise.
17015         * modules/linkat (Depends-on): Likewise.
17016         * modules/listen (Depends-on): Likewise.
17017         * modules/logl (Depends-on): Likewise.
17018         * modules/lstat (Depends-on): Likewise.
17019         * modules/mbrlen (Depends-on): Likewise.
17020         * modules/mbrtowc (Depends-on): Likewise.
17021         * modules/mbsinit (Depends-on): Likewise.
17022         * modules/mbsnrtowcs (Depends-on): Likewise.
17023         * modules/mbsrtowcs (Depends-on): Likewise.
17024         * modules/mbtowc (Depends-on): Likewise.
17025         * modules/memcmp (Depends-on): Likewise.
17026         * modules/mkdir (Depends-on): Likewise.
17027         * modules/mkdtemp (Depends-on): Likewise.
17028         * modules/mkfifo (Depends-on): Likewise.
17029         * modules/mkfifoat (Depends-on): Likewise.
17030         * modules/mknod (Depends-on): Likewise.
17031         * modules/mkostemp (Depends-on): Likewise.
17032         * modules/mkostemps (Depends-on): Likewise.
17033         * modules/mkstemp (Depends-on): Likewise.
17034         * modules/mkstemps (Depends-on): Likewise.
17035         * modules/mktime (Depends-on): Likewise.
17036         * modules/nanosleep (Depends-on): Likewise.
17037         * modules/open (Depends-on): Likewise.
17038         * modules/openat (Depends-on): Likewise.
17039         * modules/perror (Depends-on): Likewise.
17040         * modules/poll (Depends-on): Likewise.
17041         * modules/popen (Depends-on): Likewise.
17042         * modules/posix_spawn (Depends-on): Likewise.
17043         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
17044         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
17045         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
17046         * modules/posix_spawnp (Depends-on): Likewise.
17047         * modules/pread (Depends-on): Likewise.
17048         * modules/printf-posix (Depends-on): Likewise.
17049         * modules/ptsname (Depends-on): Likewise.
17050         * modules/putenv (Depends-on): Likewise.
17051         * modules/pwrite (Depends-on): Likewise.
17052         * modules/readline (Depends-on): Likewise.
17053         * modules/readlink (Depends-on): Likewise.
17054         * modules/readlinkat (Depends-on): Likewise.
17055         * modules/recv (Depends-on): Likewise.
17056         * modules/recvfrom (Depends-on): Likewise.
17057         * modules/regex (Depends-on): Likewise.
17058         * modules/remove (Depends-on): Likewise.
17059         * modules/rename (Depends-on): Likewise.
17060         * modules/renameat (Depends-on): Likewise.
17061         * modules/rmdir (Depends-on): Likewise.
17062         * modules/round (Depends-on): Likewise.
17063         * modules/roundf (Depends-on): Likewise.
17064         * modules/roundl (Depends-on): Likewise.
17065         * modules/rpmatch (Depends-on): Likewise.
17066         * modules/select (Depends-on): Likewise.
17067         * modules/send (Depends-on): Likewise.
17068         * modules/sendto (Depends-on): Likewise.
17069         * modules/setenv (Depends-on): Likewise.
17070         * modules/setlocale (Depends-on): Likewise.
17071         * modules/setsockopt (Depends-on): Likewise.
17072         * modules/shutdown (Depends-on): Likewise.
17073         * modules/sigaction (Depends-on): Likewise.
17074         * modules/signbit (Depends-on): Likewise.
17075         * modules/sigprocmask (Depends-on): Likewise.
17076         * modules/sinl (Depends-on): Likewise.
17077         * modules/sleep (Depends-on): Likewise.
17078         * modules/snprintf (Depends-on): Likewise.
17079         * modules/snprintf-posix (Depends-on): Likewise.
17080         * modules/socket (Depends-on): Likewise.
17081         * modules/sprintf-posix (Depends-on): Likewise.
17082         * modules/sqrtl (Depends-on): Likewise.
17083         * modules/stat (Depends-on): Likewise.
17084         * modules/strchrnul (Depends-on): Likewise.
17085         * modules/strdup-posix (Depends-on): Likewise.
17086         * modules/strerror (Depends-on): Likewise.
17087         * modules/strerror_r-posix (Depends-on): Likewise.
17088         * modules/strndup (Depends-on): Likewise.
17089         * modules/strnlen (Depends-on): Likewise.
17090         * modules/strptime (Depends-on): Likewise.
17091         * modules/strsep (Depends-on): Likewise.
17092         * modules/strsignal (Depends-on): Likewise.
17093         * modules/strstr-simple (Depends-on): Likewise.
17094         * modules/strtod (Depends-on): Likewise.
17095         * modules/strtoimax (Depends-on): Likewise.
17096         * modules/strtok_r (Depends-on): Likewise.
17097         * modules/strtoumax (Depends-on): Likewise.
17098         * modules/symlink (Depends-on): Likewise.
17099         * modules/symlinkat (Depends-on): Likewise.
17100         * modules/tanl (Depends-on): Likewise.
17101         * modules/tcgetsid (Depends-on): Likewise.
17102         * modules/tmpfile (Depends-on): Likewise.
17103         * modules/trunc (Depends-on): Likewise.
17104         * modules/truncf (Depends-on): Likewise.
17105         * modules/truncl (Depends-on): Likewise.
17106         * modules/uname (Depends-on): Likewise.
17107         * modules/unlink (Depends-on): Likewise.
17108         * modules/unlockpt (Depends-on): Likewise.
17109         * modules/unsetenv (Depends-on): Likewise.
17110         * modules/usleep (Depends-on): Likewise.
17111         * modules/utimensat (Depends-on): Likewise.
17112         * modules/vasprintf (Depends-on): Likewise.
17113         * modules/vdprintf (Depends-on): Likewise.
17114         * modules/vdprintf-posix (Depends-on): Likewise.
17115         * modules/vfprintf-posix (Depends-on): Likewise.
17116         * modules/vprintf-posix (Depends-on): Likewise.
17117         * modules/vsnprintf (Depends-on): Likewise.
17118         * modules/vsnprintf-posix (Depends-on): Likewise.
17119         * modules/vsprintf-posix (Depends-on): Likewise.
17120         * modules/wcrtomb (Depends-on): Likewise.
17121         * modules/wcscasecmp (Depends-on): Likewise.
17122         * modules/wcscspn (Depends-on): Likewise.
17123         * modules/wcsdup (Depends-on): Likewise.
17124         * modules/wcsncasecmp (Depends-on): Likewise.
17125         * modules/wcsnrtombs (Depends-on): Likewise.
17126         * modules/wcspbrk (Depends-on): Likewise.
17127         * modules/wcsrtombs (Depends-on): Likewise.
17128         * modules/wcsspn (Depends-on): Likewise.
17129         * modules/wcsstr (Depends-on): Likewise.
17130         * modules/wcstok (Depends-on): Likewise.
17131         * modules/wcswidth (Depends-on): Likewise.
17132         * modules/wctob (Depends-on): Likewise.
17133         * modules/wctomb (Depends-on): Likewise.
17134         * modules/wctype (Depends-on): Likewise.
17135         * modules/wcwidth (Depends-on): Likewise.
17136         * modules/write (Depends-on): Likewise.
17137
17138 2011-05-03  Bruno Haible  <bruno@clisp.org>
17139
17140         Support for conditional dependencies.
17141         * doc/gnulib.texi (Module description): Document the syntax of
17142         conditional dependencies.
17143         * gnulib-tool: New option --conditional-dependencies.
17144         (func_usage): Document it.
17145         (cond_dependencies): New variable.
17146         (func_get_automake_snippet_conditional,
17147         func_get_automake_snippet_unconditional): New functions, extracted from
17148         func_get_automake_snippet.
17149         (func_get_automake_snippet): Use them.
17150         (sed_first_32_chars): New variable.
17151         (func_module_shellfunc_name): New function.
17152         (func_module_shellvar_name): New function.
17153         (func_module_conditional_name): New function.
17154         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
17155         func_cond_module_condition): New functions.
17156         (func_modules_transitive_closure): Add support for conditional
17157         dependencies.
17158         (func_emit_lib_Makefile_am): For a conditional module, enclose the
17159         conditional automake snippet in an automake conditional.
17160         (func_emit_autoconf_snippets): Emit shell functions that contain the
17161         code for conditional modules.
17162         (func_import, func_create_testdir): Update specification.
17163
17164 2011-05-03  Eric Blake  <eblake@redhat.com>
17165
17166         test-getaddrinfo: report error information
17167         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
17168
17169 2011-05-03  Jim Meyering  <meyering@redhat.com>
17170
17171         bootstrap: avoid build failure when $GZIP is set
17172         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
17173         program name.  If defined at all, it is supposed to list gzip options.
17174         Reported by Alan Curry in http://debbugs.gnu.org/8609
17175
17176 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
17177
17178         readme-release: new module with release instructions
17179         * modules/readme-release: New module.
17180         * top/README-release: New file, from coreutils, grep, diffutils.
17181         * MODULES.html.sh (Support for maintaining and releasing): Add it.
17182
17183 2011-05-02  Eric Blake  <eblake@redhat.com>
17184
17185         fflush: also replace fclose when fixing fflush
17186         * modules/fflush (Depends-on): Add fclose.
17187         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
17188         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
17189         memstreams with no backing fd.
17190         * doc/posix-functions/fclose.texi (fclose): Document the use of
17191         fflush module to fix the bug.
17192         * tests/test-fclose.c (main): Relax test when fclose is used in
17193         isolation.
17194
17195         fclose: add some tests
17196         * modules/fclose-tests: New test module.
17197         * tests/test-fclose.c: New file.
17198         * doc/posix-functions/fclose.texi (fclose): Document the bug.
17199
17200         fclose: reduced dependencies
17201         * modules/fclose (Depends-on): Switch from fflush/fseeko to
17202         simpler lseek.
17203         * lib/fclose.c (rpl_fclose): Likewise.
17204         Reported by Simon Josefsson.
17205
17206         exit: drop remaining clients
17207         * modules/argmatch (Depends-on): Replace exit with stdlib.
17208         * modules/copy-file (Depends-on): Likewise.
17209         * modules/execute (Depends-on): Likewise.
17210         * modules/exitfail (Depends-on): Likewise.
17211         * modules/obstack (Depends-on): Likewise.
17212         * modules/pagealign_alloc (Depends-on): Likewise.
17213         * modules/pipe-filter-gi (Depends-on): Likewise.
17214         * modules/pipe-filter-ii (Depends-on): Likewise.
17215         * modules/savewd (Depends-on): Likewise.
17216         * modules/spawn-pipe (Depends-on): Likewise.
17217         * modules/wait-process (Depends-on): Likewise.
17218         * modules/xsetenv (Depends-on): Likewise.
17219         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
17220         * modules/git-merge-changelog (Depends-on): Likewise.
17221         * modules/long-options (Depends-on): Likewise.
17222         * modules/pt_chown (Depends-on): Likewise.
17223         * modules/sysexits (Depends-on): Likewise.
17224
17225         freading: relax license from LGPLv3+ to LGPLv2+
17226         * modules/freading (License): Relax LGPL version.
17227
17228 2011-05-02  Bruno Haible  <bruno@clisp.org>
17229
17230         fchdir: Remove unused dependencies.
17231         * modules/fchdir (Depends-on): Remove include_next.
17232
17233 2011-05-02  Bruno Haible  <bruno@clisp.org>
17234
17235         gnulib-tool: Refactor.
17236         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
17237         from func_emit_autoconf_snippets.
17238         (func_emit_autoconf_snippets): Use it.
17239
17240 2011-05-02  Simon Josefsson  <simon@josefsson.org>
17241
17242         * NEWS: Document removal of 'exit'.
17243         * modules/exit: Remove file.
17244
17245 2011-05-01  Bruno Haible  <bruno@clisp.org>
17246
17247         Update DEPENDENCIES.
17248         * DEPENDENCIES (gettext): Recommend the newest release.
17249         Reported by Simon Josefsson.
17250
17251 2011-05-01  Bruno Haible  <bruno@clisp.org>
17252
17253         gnulib-tool: Reduce code duplication.
17254         * gnulib-tool (func_emit_autoconf_snippets): New function.
17255         (func_import, func_create_testdir): Use it.
17256
17257 2011-04-30  Eric Blake  <eblake@redhat.com>
17258
17259         fclose: don't fail on non-seekable input stream
17260         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
17261         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
17262         since fflush is allowed to fail in that case.
17263
17264 2011-04-30  Bruno Haible  <bruno@clisp.org>
17265
17266         dup3: cleanup
17267         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
17268
17269 2011-04-30  Bruno Haible  <bruno@clisp.org>
17270
17271         netdb: Make it work in C++ mode.
17272         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
17273         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
17274         module.
17275         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
17276         gl_MODULE_INDICATOR_FOR_TESTS.
17277         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
17278         * modules/netdb-c++-tests: New file.
17279         * tests/test-netdb-c++.cc: New file.
17280
17281 2011-04-30  Bruno Haible  <bruno@clisp.org>
17282
17283         New modules 'vfscanf', 'vscanf'.
17284         * modules/vfscanf: New file.
17285         * modules/vscanf: New file.
17286         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
17287         here.
17288         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
17289         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
17290
17291 2011-04-30  Bruno Haible  <bruno@clisp.org>
17292
17293         passfd: Add comments.
17294         * lib/passfd.c: Add comments about platforms.
17295
17296 2011-04-30  Bruno Haible  <bruno@clisp.org>
17297
17298         sys_uio: Make <sys/uio.h> self-contained.
17299         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
17300         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
17301
17302 2011-04-30  Bruno Haible  <bruno@clisp.org>
17303
17304         sys_socket: Ensure 'struct iovec' definition.
17305         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
17306         <sys/socket.h>.
17307         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
17308
17309 2011-04-30  Bruno Haible  <bruno@clisp.org>
17310
17311         sys_uio: Protect definition of 'struct iovec'.
17312         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
17313         it as a C struct.
17314
17315 2011-04-30  Bruno Haible  <bruno@clisp.org>
17316
17317         manywarnings: fix indentation
17318         * m4/manywarnings.m4: Indent by 2 spaces consistently.
17319
17320 2011-04-30  Pádraig Brady <P@draigBrady.com>
17321
17322         manywarnings: add -Wno-missing-field-initializers if needed.
17323         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
17324         option if it's needed to allow initialization with { 0, }
17325
17326 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
17327
17328         announce-gen: cosmetic improvement
17329         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
17330
17331 2011-04-29  Jim Meyering  <meyering@redhat.com>
17332
17333         vc-list-files: indent with spaces, not TABs
17334         * build-aux/vc-list-files: Convert leading TABs to spaces,
17335         to match the style of most other files in gnulib.
17336
17337         announce-gen: indent with spaces, not TABs
17338         * build-aux/announce-gen: Convert all TABs to spaces, to match
17339         the style of most other files in gnulib.
17340
17341 2011-04-29  Eric Blake  <eblake@redhat.com>
17342
17343         quotearg: avoid uninitialized variable use
17344         * lib/quotearg.c (quoting_options_from_style): Initialize
17345         remaining fields, and ensure that custom styles are only used via
17346         quoting_options rather than quoting_style.
17347
17348 2011-04-29  Jim Meyering  <meyering@redhat.com>
17349
17350         maint.mk: remove unused VC-tag variable
17351         * top/maint.mk (VC-tag): Remove unused variable.
17352
17353 2011-04-29  Bruno Haible  <bruno@clisp.org>
17354
17355         netdb: fix gai_strerror replacements
17356         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
17357         * modules/netdb: Substitute it.
17358
17359 2011-04-29  Jim Meyering  <meyering@redhat.com>
17360
17361         test-getcwd.c: avoid new set-but-not-used warning
17362         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
17363         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
17364         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
17365         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
17366
17367         test-hash.c: avoid a new shadowing warning
17368         * tests/test-hash.c (main): Don't shadow "dup".
17369
17370 2011-04-28  Eric Blake  <eblake@redhat.com>
17371
17372         getaddrinfo: fix gai_strerror signature
17373         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
17374         and work around mingw with UNICODE defined.
17375         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
17376         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
17377         * modules/netdb (Makefile.am): Substitute it.
17378         * lib/netdb.in.h (gai_strerror): Declare replacement.
17379         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
17380         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
17381         the fix.
17382
17383         getsockopt: avoid compiler warning
17384         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
17385         Reported by Matthias Bolte.
17386
17387         tests: drop unused link dependency
17388         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
17389         * modules/dirent-safer-tests (Makefile.am): Likewise.
17390         * modules/fdopendir-tests (Makefile.am): Likewise.
17391         * modules/mkfifoat-tests (Makefile.am): Likewise.
17392         * modules/openat-safer-tests (Makefile.am): Likewise.
17393         * modules/openat-tests (Makefile.am): Likewise.
17394         * modules/readlinkat-tests (Makefile.am): Likewise.
17395         * modules/symlinkat-tests (Makefile.am): Likewise.
17396         * modules/linkat-tests (Makefile.am): Likewise.
17397         (Depends-on): Switch to filenamecat-lgpl.
17398         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
17399         LIBINTL.
17400         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
17401         * tests/test-linkat.c (main): Don't require xalloc.
17402
17403         hash, mgetgroups: drop xalloc dependency
17404         * lib/hash.c (includes): Adjust includes.
17405         * lib/mgetgroups.c (includes): Likewise.
17406         (xgetgroups): Move...
17407         * lib/xgetgroups.c: ...to new file.
17408         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
17409         * modules/xgetgroups: New file, split from...
17410         * modules/mgetgroups: ...here.
17411         (Depends-on): Add xalloc-oversized.
17412         * modules/hash (Depends-on): Likewise.
17413         * modules/hash-tests (Depends-on): Drop xalloc.
17414         (test_hash_LDADD): Drop unused library.
17415         * tests/test-hash.c (main): Break xalloc dependency.
17416         (includes): Drop unused include.
17417
17418         xalloc-oversized: new module
17419         * modules/xalloc-oversized: New module.
17420         * modules/xalloc (Depends-on): Add it.
17421         * lib/xalloc.h (xalloc_oversized): Move...
17422         * lib/xalloc-oversized.h: ...into new file.
17423
17424         utimecmp: drop dependency on xmalloc
17425         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
17426         due to memory pressure.
17427         * modules/utimecmp (Depends-on): Drop xalloc.
17428
17429 2011-04-27  Eric Blake  <eblake@redhat.com>
17430
17431         getcwd: fix mingw bugs
17432         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
17433         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
17434         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
17435
17436 2011-04-27  Bruno Haible  <bruno@clisp.org>
17437
17438         mkstemps: Ensure declaration on MacOS X 10.5.
17439         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
17440         * doc/glibc-functions/mkstemps.texi: Document header file problem on
17441         MacOS X.
17442
17443 2011-04-27  Bruno Haible  <bruno@clisp.org>
17444
17445         mkstemp: More documentation.
17446         * doc/posix-functions/mkstemp.texi: Document header file problem on
17447         MacOS X.
17448
17449 2011-04-27  Bruno Haible  <bruno@clisp.org>
17450
17451         mkstemp: Tweak configure message when cross-compiling.
17452         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
17453         result as a guess.
17454
17455 2011-04-27  Bruno Haible  <bruno@clisp.org>
17456
17457         clean-temp: Clarify what it does.
17458         * lib/clean-temp.h: Add more comments.
17459         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
17460         module.
17461         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
17462         * doc/glibc-functions/mkstemps.texi: Likewise.
17463         * doc/glibc-functions/mkostemps.texi: Likewise.
17464
17465 2011-04-27  Eric Blake  <eblake@redhat.com>
17466
17467         fchdir: avoid extra chdir and fix test
17468         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
17469         getcwd-lgpl.
17470         * lib/fchdir.c (get_name): Any absolute name will do; it does not
17471         have to be canonical.
17472         (canonicalize_file_name): Drop unused macro.
17473         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
17474
17475         filenamecat-lgpl: fix licence
17476         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
17477         when it was first created.
17478
17479         linkat, renameat: add missing dependency
17480         * modules/linkat (Depends-on): Require getcwd-lgpl.
17481         * modules/renameat (Depends-on): Likewise.
17482
17483         tests: reduce dependencies
17484         * tests/test-linkat.c (main): Use lighter-weight getcwd.
17485         * tests/test-renameat.c (main): Likewise.
17486         * modules/linkat-tests (Depends-on): Relax dependency.
17487         * modules/renameat-tests (Depends-on): Likewise.
17488         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
17489         dependency explicit.
17490
17491         save-cwd: reduce default dependency
17492         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
17493         * lib/save-cwd.c: Update comments.
17494         * NEWS: Document the semantic change.
17495
17496         getcwd: enhance tests
17497         * tests/test-getcwd-lgpl.c: New file, taken from...
17498         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
17499         repeat long path stress tests from m4 probe.
17500         * modules/getcwd-lgpl-tests: New module.
17501         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
17502         * m4/getcwd-abort-bug.m4: Update comment.
17503         * m4/getcwd-path-max.m4: Likewise.
17504
17505         getcwd-lgpl: new module
17506         * modules/getcwd-lgpl: New module.
17507         * lib/getcwd-lgpl.c: New file.
17508         * doc/posix-functions/getcwd.texi (getcwd): Document it.
17509         * MODULES.html.sh (lacking POSIX:2008): Likewise.
17510         * modules/getcwd (configure.ac): Set C witness.
17511         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
17512
17513         getcwd: tweak comments
17514         * m4/getcwd-abort-bug.m4: Fix comments.
17515         * m4/getcwd-path-max.m4: Likewise.
17516         * m4/getcwd.m4: Likewise.
17517
17518 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
17519         and Eric Blake  <eblake@redhat.com>
17520
17521         mkstemp: replace if system version uses wrong permissions
17522         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
17523         read/write mode bits set in file created by mkstemp.
17524         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
17525
17526 2011-04-27  Eric Blake  <eblake@redhat.com>
17527
17528         passfd: avoid compiler warning
17529         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
17530         Reported by Laine Stump.
17531
17532 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
17533
17534         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
17535         required by the NetBSD (and perhaps other 4.4BSD derived) join.
17536
17537 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
17538         and Eric Blake  <eblake@redhat.com>
17539
17540         mkstemp: mention clean-temp module
17541         * lib/mkstemp.c: Add comment.
17542         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
17543
17544 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
17545
17546         inttypes: also provide default values for 32-bit tests
17547         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
17548         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
17549
17550 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
17551
17552         strtoumax: remove dependency on strtoimax
17553         This is like the strtoull change of yesterday.
17554         * modules/strtoumax (Files): Add lib/strtoimax.c.
17555         (Depends-on): Remove strtoimax and add verify.
17556
17557         inttypes-incomplete: new module
17558         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
17559         all but the PRI* and SCN* parts of gl_INTTYPES_H.
17560         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
17561         of gl_INTTYPES_H.
17562         (gl_INTTYPES_H): Rewrite in terms of these new macros.
17563         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
17564         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
17565         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
17566         * modules/strtoumax, modules/xstrtol (Depends-on):
17567         Depend on inttypes-incomplete, not inttypes.
17568         * modules/inttypes-incomplete: New module, containing the contents
17569         of the old modules/inttypes module, except that the Files: section
17570         omits m4/inttypes-pri.m4, and the configure.ac section invokes
17571         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
17572         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
17573         (Depends-on): Depend only on inttypes-incomplete.
17574         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
17575
17576         inttypes: omit now-redundant strtoimax and strtoumax work
17577         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
17578         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
17579
17580         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
17581         This supports apps that need pointers to strtoimax and strtoumax,
17582         and ports to HP-UX 11.00 64.bit, which has macros that expand to
17583         nonexistent functions.  See
17584         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
17585         et seq.
17586         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
17587         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
17588         a macro.
17589         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17590
17591 2011-04-25  Simon Josefsson  <simon@josefsson.org>
17592
17593         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
17594
17595 2011-04-25  Bruno Haible  <bruno@clisp.org>
17596
17597         strtol, strtoul: Mark modules as obsolete.
17598         * modules/strtol (Status, Notice): New sections.
17599         * modules/strtoul (Status, Notice): New sections.
17600
17601 2011-04-25  Bruno Haible  <bruno@clisp.org>
17602
17603         strtod: Remove check for strtod, unless supporting old platforms.
17604         * modules/strtod-obsolete: New file.
17605         * m4/strtod-obsolete.m4: New file.
17606         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
17607         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
17608         * modules/strtod (Depends-on): Add strtod-obsolete.
17609         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
17610
17611 2011-04-25  Bruno Haible  <bruno@clisp.org>
17612
17613         strcase: Make module obsolete.
17614         * modules/strcase (Status, Notice): New sections.
17615
17616 2011-04-25  Bruno Haible  <bruno@clisp.org>
17617
17618         dup2: Remove check for dup2, unless supporting old obsolete platforms.
17619         * modules/dup2-obsolete: New file.
17620         * m4/dup2-obsolete.m4: New file.
17621         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
17622         gl_FUNC_DUP2_OBSOLETE is not also defined.
17623         * modules/dup2 (Depends-on): Add dup2-obsolete.
17624         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
17625
17626 2011-04-25  Bruno Haible  <bruno@clisp.org>
17627
17628         strnlen: Avoid memchr related link error on old obsolete platforms.
17629         * modules/memchr-obsolete: New file.
17630         * m4/memchr-obsolete.m4: New file.
17631         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
17632         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
17633         * modules/memchr (Depends-on): Add memchr-obsolete.
17634         * modules/strnlen (Depends-on): Likewise.
17635         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
17636
17637 2011-04-25  Jim Meyering  <meyering@redhat.com>
17638
17639         maint.mk: makefile_at_at_check extend and clean up
17640         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
17641         in addition to */Makefile.am.
17642         Exempt legitimate uses of @VAR@ notation, e.g.,
17643         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
17644         Remove obsolete coreutils-specific comment.
17645         Prompted by discussion here:
17646         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
17647
17648 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
17649
17650         strtoul: remove dependency on strtol
17651         This is so that 'configure' need not check for strtol merely because
17652         the application needs strtoul.
17653         * modules/strtoul (Files): Add lib/strtol.c.
17654         (Depends-on): Remove strtol.
17655
17656         strtoull: remove dependency on strtoul
17657         This is like the strtoll change.
17658         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
17659         (Depends-on): Remove strtoul.
17660
17661         strtoll: remove dependency on strtol
17662         This is so that 'configure' need not check for strtol merely because
17663         the application needs strtoll.
17664         * modules/strtoll (Files): Add lib/strtol.c.
17665         (Depends-on): Remove strtol.
17666
17667 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17668
17669         inttypes: Move some configure check to module 'imaxdiv'.
17670         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
17671         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
17672         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
17673
17674 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17675
17676         inttypes: Move some configure check to module 'imaxabs'.
17677         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
17678         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
17679         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
17680
17681 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17682
17683         inttypes: Remove configure tests that are not needed since 2009-12-31.
17684         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
17685         gl_cv_header_working_inttypes_h.
17686
17687 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17688
17689         * modules/strnlen (Depends-on): Remove memchr.
17690         The strnlen implementation doesn't need the memchr module's fixes; see
17691         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
17692
17693         strtol: remove dependency on wchar
17694         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
17695         * modules/strtol (Depends-on): Remove wchar.
17696
17697 2011-04-21  Eric Blake  <eblake@redhat.com>
17698
17699         passfd: fix test regression on Linux
17700         * modules/passfd-tests (configure.ac): Correct socketpair check.
17701
17702         passfd: speed up configure and drop unused code
17703         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
17704         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
17705         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
17706         Instead of probing at configure for unix_scm_rights_bsd44_way,
17707         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
17708         check to a struct member probe.
17709         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
17710         (sendfd, recvfd): Update preprocessor checks.
17711         * modules/passfd (Files): Reflect rename, and drop unused file.
17712         (Depends-on): Drop unused dependency.
17713
17714         passfd: allow compilation on mingw
17715         * modules/sys_socket (Depends-on): Add sys_uio.
17716         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
17717         iovec and a minimal struct msghdr.
17718         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
17719         * tests/test-sys_socket.c (main): Enhance test.
17720         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
17721         guaranteed to provide what we need.
17722         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
17723         * modules/passfd-tests (Depends-on): Add sys_wait.
17724         * tests/test-passfd.c (main): Skip test on mingw, for now.
17725         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
17726         partial 'struct msghdr' implementation.
17727
17728         sys_uio: new module
17729         * modules/sys_uio: New module.
17730         * modules/sys_uio-tests: Likewise.
17731         * lib/sys_uio.in.h: New file.
17732         * m4/sys_uio_h.m4: Likewise.
17733         * tests/test-sys_uio.c: Likewise.
17734         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
17735         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
17736
17737 2011-04-20  Jim Meyering  <meyering@redhat.com>
17738
17739         useless-if-before-free: avoid false-positive
17740         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
17741         disjunct so that it too requires a terminating ";".  Without that,
17742         this script would identify as useless one statement from gcc that
17743         was not:
17744           if (aligned_ptr)
17745             free (((void **) aligned_ptr) [-1]);
17746
17747 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
17748
17749         doc: update users.txt.
17750         * users.txt: Add barcode.
17751
17752 2011-04-19  Bruno Haible  <bruno@clisp.org>
17753
17754         ioctl: Remove link dependency on native Windows.
17755         * lib/fd-hook.h: Renamed from lib/close-hook.h.
17756         (gl_close_fn, gl_ioctl_fn): New types.
17757         (struct fd_hook): Renamed from struct close_hook. Change type of
17758         private_close_fn field. Add private_ioctl_fn field.
17759         (close_hook_fn): Add parameter for primary close method.
17760         (execute_close_hooks, execute_all_close_hooks): Likewise.
17761         (ioctl_hook_fn): New type.
17762         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
17763         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17764         argument.
17765         (unregister_fd_hook): Renamed from unregister_close_hook.
17766         * lib/fd-hook.c: Renamed from lib/close-hook.c.
17767         Don't include <unistd.h>.
17768         (close): Remove undef.
17769         (anchor): Update.
17770         (execute_close_hooks): Add argument for primary close method.
17771         (execute_all_close_hooks): Likewise.
17772         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
17773         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17774         argument. Allow each argument to be NULL.
17775         (unregister_fd_hook): Renamed from unregister_close_hook.
17776         * lib/close.c (rpl_close): Pass 'close' function pointer to
17777         execute_all_close_hooks.
17778         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
17779         (primary_ioctl): New function.
17780         (ioctl): Don't call ioctlsocket here. Instead, call
17781         execute_all_ioctl_hooks.
17782         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
17783         close method.
17784         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
17785         (fd_sockets_hook): Renamed from close_sockets_hook.
17786         (gl_sockets_startup, gl_sockets_cleanup): Update.
17787         * modules/fd-hook: Renamed from modules/close-hook. Update.
17788         * modules/close (Depends-on): Add fd-hook, remove close-hook.
17789         * modules/sockets (Depends-on): Likewise.
17790         * modules/ioctl (Depends-on): Add fd-hook.
17791         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
17792         GNULIB_SOCKET.
17793
17794 2011-04-19  Bruno Haible  <bruno@clisp.org>
17795
17796         Move the support of O_NONBLOCK in open() to the 'open' module.
17797         * modules/nonblocking (Depends-on): Remove 'open'.
17798         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
17799         gl_cv_have_open_O_NONBLOCK.
17800         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
17801         O_NONBLOCK support.
17802         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
17803
17804 2011-04-17  Bruno Haible  <bruno@clisp.org>
17805
17806         pipe2: Simplify code.
17807         * lib/pipe2.c (pipe2): Reduce code duplication.
17808
17809 2011-04-17  Bruno Haible  <bruno@clisp.org>
17810
17811         nonblocking: Add comment.
17812         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
17813
17814 2011-04-17  Bruno Haible  <bruno@clisp.org>
17815
17816         nonblocking: Add tests for sockets.
17817         * tests/test-nonblocking-socket.sh: New file.
17818         * tests/test-nonblocking-socket-main.c: New file.
17819         * tests/test-nonblocking-socket-child.c: New file.
17820         * tests/test-nonblocking-socket.h: New file.
17821         * tests/socket-server.h: New file.
17822         * tests/socket-client.h: New file.
17823         * modules/nonblocking-socket-tests: New file.
17824         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
17825
17826 2011-04-17  Bruno Haible  <bruno@clisp.org>
17827
17828         nonblocking: Add tests for pipes.
17829         * tests/test-nonblocking-pipe.sh: New file.
17830         * tests/test-nonblocking-pipe-main.c: New file.
17831         * tests/test-nonblocking-pipe-child.c: New file.
17832         * tests/test-nonblocking-pipe.h: New file.
17833         * tests/test-nonblocking-writer.h: New file.
17834         * tests/test-nonblocking-reader.h: New file.
17835         * tests/test-nonblocking-misc.h: New file.
17836         * modules/nonblocking-pipe-tests: New file.
17837         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
17838
17839 2011-04-16  Bruno Haible  <bruno@clisp.org>
17840
17841         gettext: Clarify the needed programmer actions.
17842         * modules/gettext (Notice): New field.
17843         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
17844
17845 2011-04-16  Bruno Haible  <bruno@clisp.org>
17846
17847         strchrnul: Tweak last commit.
17848         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
17849         bug.
17850         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
17851         as in _GL_FUNCDECL_SYS.
17852         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
17853         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
17854
17855 2011-04-15  Eric Blake  <eblake@redhat.com>
17856
17857         strchrnul: work around cygwin bug
17858         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
17859         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
17860         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
17861         * modules/string (Makefile.am): Substitute it.
17862         * lib/string.in.h (strchrnul): Use it.
17863
17864 2011-04-15  Bruno Haible  <bruno@clisp.org>
17865
17866         Don't require lib/stdio-write.c when only module 'stdio' is used.
17867         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
17868         invocation.
17869         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
17870
17871 2011-04-14  Bruno Haible  <bruno@clisp.org>
17872
17873         Support non-blocking pipe I/O in read() on native Windows.
17874         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
17875         (read): New declaration.
17876         * lib/read.c: New file.
17877         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
17878         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
17879         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
17880         vscanf): New declarations.
17881         * lib/stdio-read.c: New file.
17882         * m4/read.m4: New file.
17883         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
17884         REPLACE_READ.
17885         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
17886         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17887         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
17888         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
17889         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
17890         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17891         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17892         * modules/read: New file.
17893         * modules/nonblocking (Files): Add lib/stdio-read.c.
17894         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
17895         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
17896         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17897         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17898         * modules/pread (Depends-on): Add read.
17899         * modules/safe-read (Depends-on): Likewise.
17900         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
17901         gets, scanf, vfscanf, vscanf): Verify signatures.
17902         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
17903         problem with non-blocking pipes.
17904         * doc/posix-functions/fgetc.texi: Likewise.
17905         * doc/posix-functions/fgets.texi: Likewise.
17906         * doc/posix-functions/fread.texi: Likewise.
17907         * doc/posix-functions/fscanf.texi: Likewise.
17908         * doc/posix-functions/getc.texi: Likewise.
17909         * doc/posix-functions/getchar.texi: Likewise.
17910         * doc/posix-functions/gets.texi: Likewise.
17911         * doc/posix-functions/scanf.texi: Likewise.
17912         * doc/posix-functions/vfscanf.texi: Likewise.
17913         * doc/posix-functions/vscanf.texi: Likewise.
17914
17915 2011-04-14  Bruno Haible  <bruno@clisp.org>
17916
17917         Support non-blocking pipe I/O in write() on native Windows.
17918         * lib/write.c (rpl_write): Split a write request that failed merely
17919         because the byte count was larger than the pipe buffer's size.
17920         * doc/posix-functions/write.texi: Mention the problem with large byte
17921         counts.
17922
17923 2011-04-14  Bruno Haible  <bruno@clisp.org>
17924
17925         wchar: Ensure that wchar_t gets defined on uClibc.
17926         * lib/wchar.in.h: On uClibc, include <stddef.h>.
17927         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
17928
17929 2011-04-13  Bruno Haible  <bruno@clisp.org>
17930
17931         safe-write, full-read: Avoid unnecessary compilation units.
17932         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
17933         (Depends-on): Remove safe-read. Add ssize_t.
17934         * modules/full-read (Files): Add lib/full-write.c.
17935         (Depends-on): Add full-write.
17936
17937 2011-04-13  Bruno Haible  <bruno@clisp.org>
17938
17939         Support non-blocking pipe I/O and SIGPIPE in pwrite().
17940         * modules/pwrite (Depends-on): Add 'write'.
17941
17942 2011-04-13  Bruno Haible  <bruno@clisp.org>
17943
17944         Support non-blocking pipe I/O in write() on native Windows.
17945         * lib/unistd.in.h (write): Enable replacement also if
17946         GNULIB_UNISTD_H_NONBLOCKING is 1.
17947         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
17948         (rpl_write): When failing to write on a non-blocking pipe, change
17949         errno from ENOSPC to EAGAIN.
17950         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
17951         putchar, puts, vfprintf, vprintf): Enable replacement also if
17952         GNULIB_STDIO_H_NONBLOCKING is 1.
17953         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
17954         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
17955         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
17956         CALL_WITH_SIGPIPE_EMULATION.
17957         (CALL_WITH_SIGPIPE_EMULATION): Use them.
17958         * m4/nonblocking.m4: New file.
17959         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
17960         for non-blocking I/O support.
17961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17962         GNULIB_UNISTD_H_NONBLOCKING.
17963         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
17964         required for non-blocking I/O support.
17965         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
17966         * modules/nonblocking (Files): Add m4/nonblocking.m4,
17967         lib/stdio-write.c, m4/asm-underscore.m4.
17968         (Depends-on): Add stdio, unistd.
17969         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
17970         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
17971         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
17972         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
17973         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
17974         problem with non-blocking pipes.
17975         * doc/posix-functions/fputc.texi: Likewise.
17976         * doc/posix-functions/fputs.texi: Likewise.
17977         * doc/posix-functions/fwrite.texi: Likewise.
17978         * doc/posix-functions/printf.texi: Likewise.
17979         * doc/posix-functions/putc.texi: Likewise.
17980         * doc/posix-functions/putchar.texi: Likewise.
17981         * doc/posix-functions/puts.texi: Likewise.
17982         * doc/posix-functions/vfprintf.texi: Likewise.
17983         * doc/posix-functions/vprintf.texi: Likewise.
17984         * doc/posix-functions/write.texi: Likewise.
17985
17986 2011-04-10  Jim Meyering  <meyering@redhat.com>
17987
17988         maint.mk: prohibit doubled words
17989         Detect them also when they're separated by a newline.
17990         There are 3 ways to customize it:
17991           - disable the test on a per file basis, as usual with rules using
17992             $(VC_LIST_EXCEPT)
17993           - replace the default doubled-word-selecting regexp (affects all files)
17994           - ignore a particular file-vs-doubled-word match
17995         I nearly used that last one to ignore the "is is" match in
17996         coreutils' NEWS file, since the text was "ls -is is ..."
17997         To do that, I would have added this line to cfg.mk:
17998           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
17999         but it would have ignored any "is is" match in NEWS.
18000         Low probability, but still...
18001         Instead, I changed the text, slightly:
18002           -  ls -is is now consistent with ls -lis in ignoring values returned
18003           +  "ls -is" is now consistent with ls -lis in ignoring values returned
18004         * top/maint.mk (prohibit_double_word_RE_): Provide default.
18005         (prohibit_doubled_word_): Define.
18006         (sc_prohibit_doubled_word): New rule.
18007         (sc_prohibit_the_the): Remove.  Subsumed by the above.
18008
18009 2011-04-10  Jim Meyering  <meyering@redhat.com>
18010
18011         maint: fix doubled-word typo in comment
18012         * m4/gethostname.m4: s/is is/it is/
18013         * m4/getdomainname.m4: Likewise.
18014
18015 2011-04-10  Jim Meyering  <meyering@redhat.com>
18016
18017         maint: remove doubled word: s/it it/it/
18018         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
18019
18020 2011-04-10  Jim Meyering  <meyering@redhat.com>
18021
18022         maint.mk: remove useless semicolon and backslash
18023         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
18024         semicolon and backslash.
18025
18026 2011-04-10  Bruno Haible  <bruno@clisp.org>
18027
18028         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
18029         * modules/stdint-tests (Depends-on): Add wchar.
18030
18031 2011-04-10  Jim Meyering  <meyering@redhat.com>
18032
18033         maint: remove doubled words in comments, e.g., s/a a/a/
18034         * lib/strptime.c (day_of_the_week): s/the the/the/
18035         * tests/test-chown.h (test_chown): s/a a/a/
18036
18037         test-chown.h: correct a cast
18038         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
18039         when the destination is a stat.st_gid.
18040
18041 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
18042
18043         getaddrinfo: Fix test for sa_len member.
18044         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
18045         include <sys/types.h> before <sys/socket.h>.
18046
18047 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
18048
18049         maint: change "can not" to "cannot"
18050         * doc/posix-functions/iconv.texi (iconv): This one crossed line
18051         boundaries.
18052
18053 2011-04-09  Jim Meyering  <meyering@redhat.com>
18054
18055         maint: change "a a" to "a"
18056         * tests/test-lchown.h (test_lchown): s/a a/a/
18057
18058         maint.mk: prohibit \<the the\>
18059         * top/maint.mk (sc_prohibit_the_the): New rule.
18060
18061         maint: fix "the the" in comment
18062         * lib/count-one-bits.h: s/the the/the/
18063
18064         maint: change "can not" to "cannot"
18065         But do not change the occurrences in maintain.texi or in
18066         build-aux/po/Makefile.in.in, which I presume comes from gettext.
18067         * doc/gnulib-tool.texi: s/can not/cannot/
18068         * doc/posix-functions/accept.texi (accept): Likewise.
18069         * doc/posix-functions/socket.texi (socket): Likewise.
18070         * lib/mbrtowc.c: Likewise.
18071
18072         maint.mk: prohibit use of "can not"
18073         * top/maint.mk (sc_prohibit_can_not): New rule.
18074         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
18075
18076 2011-04-09  Bruno Haible  <bruno@clisp.org>
18077
18078         careadlinkat: Guard against misuse of careadlinkatcwd.
18079         * lib/careadlinkat.c: Include <stdlib.h>.
18080         (careadlinkatcwd): Check that the fd argument is as expected.
18081
18082 2011-04-09  Bruno Haible  <bruno@clisp.org>
18083
18084         careadlinkat: Use common coding style.
18085         * lib/careadlinkat.c: Move gnulib includes after system includes.
18086
18087 2011-04-09  Bruno Haible  <bruno@clisp.org>
18088
18089         careadlinkat: Clarify specification.
18090         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
18091         (careadlinkatcwd): Add comment.
18092         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
18093
18094 2011-04-09  Bruno Haible  <bruno@clisp.org>
18095
18096         areadlinkat: Avoid link error on many platforms.
18097         * modules/areadlinkat (Depends-on): Add areadlink.
18098
18099 2011-04-09  Bruno Haible  <bruno@clisp.org>
18100
18101         allocator, careadlinkat: Fix double-inclusion guard.
18102         * lib/allocator.h: Fix double-inclusion guard.
18103         * lib/careadlinkat.h: Likewise.
18104
18105 2011-04-09  Bruno Haible  <bruno@clisp.org>
18106
18107         relocatable-prog-wrapper: Update after module 'areadlink' changed.
18108         * lib/relocwrapper.c: Update dependencies hierarchy.
18109         * build-aux/install-reloc: Update list of files to be compiled.
18110         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
18111         lib/allocator.[hc].
18112
18113 2011-04-08  Eric Blake  <eblake@redhat.com>
18114
18115         strftime: silence gnulib-tool warning
18116         * modules/strftime-tests (Depends-on): Drop automatic dependency.
18117
18118 2011-04-08  Bruno Haible  <bruno@clisp.org>
18119
18120         verify: Fix syntax error with GCC 4.6 in C++ mode.
18121         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
18122         (HAVE_STATIC_ASSERT): New macro.
18123         (verify_true, verify): Use 'static_assert' if it is supported and
18124         '_Static_assert' is not supported.
18125
18126 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
18127
18128         allocator: New module.
18129         * modules/allocator, lib/allocator.c: New files.
18130         * lib/allocator.h (stdlib_allocator): New decl.
18131         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
18132         Remove.  Do not include <stdlib.h>.
18133         (careadlinkat): Use stdlib_allocator instead of rolling our own.
18134         * modules/careadlinkat (Files): Remove lib/allocator.h.
18135         (Depends-on): Add allocator.
18136
18137         stdlib: let modules use system malloc, realloc
18138         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
18139         if !_GL_USE_STDLIB_ALLOC.
18140         (malloc, realloc): Limit this change to a smaller scope.
18141
18142         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
18143         (malloc, realloc): Don't #undef; no longer needed.
18144         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18145         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18146         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18147         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18148         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18149         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18150         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18151         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18152
18153         careadlinkat: rename members to avoid problem
18154         * lib/allocator.h (struct allocator): Rename members from
18155         malloc/realloc to allocate/reallocate, to avoid problems if malloc
18156         and realloc are #define'd.  Reported by Eric Blake in
18157         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
18158         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
18159
18160 2011-04-08  Eric Blake  <eblake@redhat.com>
18161
18162         nonblocking: reduce dependency
18163         * tests/test-nonblocking.c: Only test sockets when in use.
18164         * modules/nonblocking-tests (Depends-on): Drop socket.
18165         (Makefile.am): Link even if sockets are not present.
18166         * modules/pipe2-tests (Makefile.am): Likewise.
18167         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
18168
18169         pipe2: fix O_NONBLOCK support on mingw
18170         * modules/pipe2 (Depends-on): Add nonblocking.
18171         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
18172         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
18173         * tests/test-nonblocking.c (main): Likewise.
18174         * modules/pipe2-tests (Makefile.am): Avoid link failure.
18175
18176         fcntl-h: fix O_ACCMODE on cygwin
18177         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
18178         * lib/fcntl.in.h (O_ACCMODE): Fix it.
18179
18180         pipe-filter: drop O_NONBLOCK workarounds
18181         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
18182         * modules/pipe-filter-ii (Depends-on): Likewise.
18183         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
18184
18185         nonblocking: provide O_NONBLOCK for mingw
18186         * modules/nonblocking (Depends-on): Add open.
18187         (configure.ac): Set new witness macro.
18188         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
18189         * modules/fcntl-h (Makefile.am): Substitute it.
18190         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
18191         nonblocking module is in use.
18192         * lib/nonblocking.c: Adjust portability test.
18193         * lib/open.c (open): Don't let native open see gnulib flag.
18194         * tests/test-fcntl-h.c (main): Enhance test.
18195         * tests/test-open.h (test_open): Likewise.
18196         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
18197
18198         careadlinkat: fix compilation error on mingw
18199         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
18200         within struct allocator.
18201
18202 2011-04-06  Eric Blake  <eblake@redhat.com>
18203
18204         binary-io: relicense under LGPLv2+
18205         * modules/binary-io (License): Relax to LGPLv2+.
18206         Requested for libvirt, and required by pipe2.
18207
18208 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
18209
18210         verify: use _Static_assert if available
18211         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
18212         (verify_true, verify): Use it if available.  This generates better
18213         diagnostics with GCC 4.6.0 and later.
18214
18215 2011-04-05  Bruno Haible  <bruno@clisp.org>
18216
18217         Remove leftover generated .h files after config.status changed.
18218
18219         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
18220         GL_GENERATE_ALLOCA_H.
18221         * modules/alloca-opt (Makefile.am): Remove alloca.h if
18222         GL_GENERATE_ALLOCA_H evaluates to false.
18223
18224         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
18225         GL_GENERATE_ARGZ_H.
18226         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
18227         evaluates to false.
18228
18229         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
18230         GL_GENERATE_BYTESWAP_H.
18231         * modules/byteswap (Makefile.am): Remove byteswap.h if
18232         GL_GENERATE_BYTESWAP_H evaluates to false.
18233
18234         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
18235         GL_GENERATE_ERRNO_H.
18236         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
18237         evaluates to false.
18238
18239         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
18240         GL_GENERATE_FLOAT_H.
18241         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
18242         evaluates to false.
18243
18244         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
18245         GL_GENERATE_FNMATCH_H.
18246         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
18247         GL_GENERATE_FNMATCH_H evaluates to false.
18248
18249         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
18250         GL_GENERATE_GLOB_H.
18251         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
18252         evaluates to false.
18253
18254         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
18255         automake conditional GL_GENERATE_ICONV_H.
18256         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
18257         evaluates to false.
18258
18259         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
18260         GL_GENERATE_NETINET_IN_H.
18261         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
18262         GL_GENERATE_NETINET_IN_H evaluates to false.
18263
18264         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
18265         conditional GL_GENERATE_PTHREAD_H.
18266         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
18267         * modules/pthread (Makefile.am): Remove pthread.h if
18268         GL_GENERATE_PTHREAD_H evaluates to false.
18269
18270         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
18271         GL_GENERATE_SCHED_H.
18272         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
18273         evaluates to false.
18274
18275         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
18276         conditional GL_GENERATE_SELINUX_CONTEXT_H.
18277         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
18278         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
18279
18280         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
18281         GL_GENERATE_STDARG_H.
18282         * modules/stdarg (Makefile.am): Remove stdarg.h if
18283         GL_GENERATE_STDARG_H evaluates to false.
18284
18285         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
18286         GL_GENERATE_STDBOOL_H.
18287         * modules/stdbool (Makefile.am): Remove stdbool.h if
18288         GL_GENERATE_STDBOOL_H evaluates to false.
18289
18290         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
18291         conditional GL_GENERATE_STDDEF_H.
18292         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
18293         * modules/stddef (Makefile.am): Remove stddef.h if
18294         GL_GENERATE_STDDEF_H evaluates to false.
18295
18296         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
18297         GL_GENERATE_STDINT_H.
18298         * modules/stdint (Makefile.am): Remove stdint.h if
18299         GL_GENERATE_STDINT_H evaluates to false.
18300
18301         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
18302         GL_GENERATE_SYSEXITS_H.
18303         * modules/sysexits (Makefile.am): Remove sysexits.h if
18304         GL_GENERATE_SYSEXITS_H evaluates to false.
18305
18306         Reported by Karl Berry and Ralf Wildenhues.
18307
18308 2011-04-05  Bruno Haible  <bruno@clisp.org>
18309
18310         Ensure to rebuild generated .h files when config.status has changed.
18311         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
18312         config.status.
18313         * modules/ctype (Makefile.am): Likewise.
18314         * modules/dirent (Makefile.am): Likewise.
18315         * modules/errno (Makefile.am): Likewise.
18316         * modules/fcntl-h (Makefile.am): Likewise.
18317         * modules/float (Makefile.am): Likewise.
18318         * modules/getopt-posix (Makefile.am): Likewise.
18319         * modules/glob (Makefile.am): Likewise.
18320         * modules/iconv-h (Makefile.am): Likewise.
18321         * modules/inttypes (Makefile.am): Likewise.
18322         * modules/langinfo (Makefile.am): Likewise.
18323         * modules/locale (Makefile.am): Likewise.
18324         * modules/math (Makefile.am): Likewise.
18325         * modules/netdb (Makefile.am): Likewise.
18326         * modules/netinet_in (Makefile.am): Likewise.
18327         * modules/poll-h (Makefile.am): Likewise.
18328         * modules/pthread (Makefile.am): Likewise.
18329         * modules/pty (Makefile.am): Likewise.
18330         * modules/sched (Makefile.am): Likewise.
18331         * modules/search (Makefile.am): Likewise.
18332         * modules/selinux-h (Makefile.am): Likewise.
18333         * modules/signal (Makefile.am): Likewise.
18334         * modules/spawn (Makefile.am): Likewise.
18335         * modules/stdarg (Makefile.am): Likewise.
18336         * modules/stdbool (Makefile.am): Likewise.
18337         * modules/stddef (Makefile.am): Likewise.
18338         * modules/stdint (Makefile.am): Likewise.
18339         * modules/stdio (Makefile.am): Likewise.
18340         * modules/stdlib (Makefile.am): Likewise.
18341         * modules/string (Makefile.am): Likewise.
18342         * modules/strings (Makefile.am): Likewise.
18343         * modules/sys_file (Makefile.am): Likewise.
18344         * modules/sys_ioctl (Makefile.am): Likewise.
18345         * modules/sys_select (Makefile.am): Likewise.
18346         * modules/sys_socket (Makefile.am): Likewise.
18347         * modules/sys_stat (Makefile.am): Likewise.
18348         * modules/sys_time (Makefile.am): Likewise.
18349         * modules/sys_times (Makefile.am): Likewise.
18350         * modules/sys_utsname (Makefile.am): Likewise.
18351         * modules/sys_wait (Makefile.am): Likewise.
18352         * modules/sysexits (Makefile.am): Likewise.
18353         * modules/termios (Makefile.am): Likewise.
18354         * modules/time (Makefile.am): Likewise.
18355         * modules/unistd (Makefile.am): Likewise.
18356         * modules/wchar (Makefile.am): Likewise.
18357         * modules/wctype-h (Makefile.am): Likewise.
18358         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
18359
18360 2011-04-05  Bruno Haible  <bruno@clisp.org>
18361
18362         pipe2: Relicense under LGPLv2+.
18363         * modules/pipe2 (License): Change to LGPLv2+.
18364         Requested by Eric Blake, for libvirt.
18365
18366 2011-04-05  Bruce Korb  <bkorb@gnu.org>
18367
18368         bootstrap: compute gnulib_extra_files after updating build_aux
18369         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
18370         change build_aux or also supply gnulib_extra_files.  Handle correctly.
18371
18372 2011-04-05  Eric Blake  <eblake@redhat.com>
18373
18374         bootstrap: preserve git whitelist item sorting
18375         * build-aux/bootstrap (sort_patterns): New function.
18376         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
18377
18378 2011-04-05  Simon Josefsson  <simon@josefsson.org>
18379
18380         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
18381         sc_space_tab check.
18382
18383 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
18384
18385         areadlink, areadlinkat: rewrite in terms of careadlinkat
18386         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
18387         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
18388         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
18389         (malloc, realloc): Remove #undefs.
18390         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
18391         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
18392         readlink, ssize_t, stdint, unistd.
18393         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
18394         areadlink, stdint.
18395
18396         careadlinkat: new module
18397         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
18398         * modules/careadlinkat: New files, written by me with
18399         a review and feedback from Ben Pfaff in
18400         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
18401
18402 2011-04-01  Bruno Haible  <bruno@clisp.org>
18403
18404         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
18405         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
18406         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
18407         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
18408         Reported by Bruce Korb <bruce.korb@gmail.com>.
18409
18410 2011-04-01  Bruno Haible  <bruno@clisp.org>
18411
18412         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
18413         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
18414         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
18415         * modules/wcpcpy (Depends-on): Add extensions.
18416         * modules/wcpncpy (Depends-on): Likewise.
18417         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
18418         systems.
18419         * doc/posix-functions/wcpncpy.texi: Likewise.
18420         * doc/posix-functions/wcwidth.texi: Likewise.
18421
18422 2011-03-31  Eric Blake  <eblake@redhat.com>
18423
18424         nonblocking: fix mingw test failures
18425         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
18426         non-blocking flag on regular file.
18427         (get_nonblocking_flag): Set errno on invalid fd.
18428         * tests/test-nonblocking.c (main): Avoid test failure on
18429         directories if fchdir is not active.
18430         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
18431
18432 2011-03-31  Bruno Haible  <bruno@clisp.org>
18433
18434         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
18435         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
18436         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
18437         Reported by Simon Josefsson <simon@josefsson.org>.
18438
18439 2011-03-31  Bruno Haible  <bruno@clisp.org>
18440         and Eric Blake  <eblake@redhat.com>
18441
18442         nonblocking: new module
18443         * modules/nonblocking: New module.
18444         * modules/nonblocking-tests: Likewise.
18445         * lib/nonblocking.h: New file.
18446         * lib/nonblocking.c: Likewise.
18447         * tests/test-nonblocking.c: New test.
18448         * lib/ioctl.c (ioctl) [mingw]: Update comment.
18449
18450 2011-03-30  Bruno Haible  <bruno@clisp.org>
18451
18452         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
18453         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
18454         instead of 'printf' format for GCC >= 4.4.
18455         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
18456         (fprintf, printf, vfprintf, vprintf): Declare with
18457         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
18458         the system's vfprintf() function.
18459         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
18460
18461 2011-03-30  Eric Blake  <eblake@redhat.com>
18462
18463         passfd: fix scoping bug
18464         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
18465         before sendmsg/recvmsg.
18466
18467         passfd: standardize coding conventions
18468         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
18469         can be learned at compile time.
18470         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
18471         ifdefs.
18472         (sendfd, recvfd): Follow gnulib code conventions.
18473
18474         passfd: fix incorrect sendmsg arguments
18475         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
18476         incorrect msg_controllen value.
18477         * modules/passfd-tests (Depends-on): Check for alarm.
18478         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
18479         Reported by Bastien ROUCARIES.
18480
18481 2011-03-30  Bruno Haible  <bruno@clisp.org>
18482
18483         c-strcasestr: Relicense under LGPLv2+.
18484         * modules/c-strcasestr (License): Change to LGPLv2+.
18485         Requested by Eric Blake, for libvirt.
18486
18487 2011-03-30  Simon Josefsson  <simon@josefsson.org>
18488
18489         * users.txt: Add libidn2.  Fix libtasn1 link.
18490
18491 2011-03-30  Jim Meyering  <meyering@redhat.com>
18492
18493         tests: readlink* ("",... fails with EINVAL on newer kernels
18494         readlink and readlinkat have typically failed with ENOENT for
18495         the invalid, empty file name,  "".  However, with the advent
18496         of linux-2.6.39, they fail with EINVAL.
18497         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
18498         when operating on the empty file name.
18499         * tests/test-readlink.h (test_readlink): Likewise.
18500
18501 2011-03-29  Bruno Haible  <bruno@clisp.org>
18502
18503         Relicense some modules under LGPLv2+, for libidn2.
18504         * modules/array-mergesort (License): Change to LGPLv2+.
18505         * modules/c-strcaseeq (License): Likewise.
18506         * modules/striconveh (License): Likewise.
18507         * modules/striconveha (License): Likewise.
18508         * modules/uniconv/base (License): Likewise.
18509         * modules/uniconv/u8-conv-from-enc (License): Likewise.
18510         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
18511         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
18512         * modules/unictype/base (License): Likewise.
18513         * modules/unictype/bidiclass-of (License): Likewise.
18514         * modules/unictype/category-M (License): Likewise.
18515         * modules/unictype/category-none (License): Likewise.
18516         * modules/unictype/category-of (License): Likewise.
18517         * modules/unictype/category-test (License): Likewise.
18518         * modules/unictype/category-test-withtable (License): Likewise.
18519         * modules/unictype/combining-class (License): Likewise.
18520         * modules/unictype/joiningtype-of (License): Likewise.
18521         * modules/unictype/scripts (License): Likewise.
18522         * modules/uninorm/base (License): Likewise.
18523         * modules/uninorm/canonical-decomposition (License): Likewise.
18524         * modules/uninorm/composition (License): Likewise.
18525         * modules/uninorm/decompose-internal (License): Likewise.
18526         * modules/uninorm/decomposition-table (License): Likewise.
18527         * modules/uninorm/nfc (License): Likewise.
18528         * modules/uninorm/nfd (License): Likewise.
18529         * modules/uninorm/u32-normalize (License): Likewise.
18530         * modules/unistr/base (License): Likewise.
18531         * modules/unistr/u32-cpy (License): Likewise.
18532         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
18533         * modules/unistr/u32-to-u8 (License): Likewise.
18534         * modules/unistr/u32-uctomb (License): Likewise.
18535         * modules/unistr/u8-check (License): Likewise.
18536         * modules/unistr/u8-mblen (License): Likewise.
18537         * modules/unistr/u8-mbtouc (License): Likewise.
18538         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
18539         * modules/unistr/u8-mbtoucr (License): Likewise.
18540         * modules/unistr/u8-prev (License): Likewise.
18541         * modules/unistr/u8-strlen (License): Likewise.
18542         * modules/unistr/u8-to-u32 (License): Likewise.
18543         * modules/unistr/u8-uctomb (License): Likewise.
18544         * modules/unitypes (License): Likewise.
18545         Requested by Simon Josefsson.
18546
18547 2011-03-29  Simon Josefsson  <simon@josefsson.org>
18548
18549         lib-symbol-visibility: Add a notice.
18550         * modules/lib-symbol-visibility (Notice): New field.
18551
18552 2011-03-29  Bruno Haible  <bruno@clisp.org>
18553
18554         getaddrinfo: Doc fix.
18555         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
18556         section "fixed in Gnulib".
18557
18558 2011-03-28  Simon Josefsson  <simon@josefsson.org>
18559
18560         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
18561         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
18562
18563 2011-03-26  Bruno Haible  <bruno@clisp.org>
18564
18565         unictype/property-byname: Reduce the number of load-time relocations.
18566         * lib/unictype/pr_byname.c: Include <stdlib.h>.
18567         (UC_PROPERTY_INDEX_*): New enumeration values.
18568         (uc_property_byname): Convert an index from the lookup table to an
18569         uc_property_t.
18570         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
18571         values.
18572
18573 2011-03-26  Bruno Haible  <bruno@clisp.org>
18574
18575         unictype/property-byname: Allow omitted word separators and aliases.
18576         * lib/unictype/pr_byname.gperf: Add property names without word
18577         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
18578         for 'space'.
18579
18580 2011-03-26  Bruno Haible  <bruno@clisp.org>
18581
18582         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
18583         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
18584         also hyphens to space.
18585         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
18586         without spaces.
18587         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
18588
18589 2011-03-26  Bruno Haible  <bruno@clisp.org>
18590
18591         unictype/joiningtype-byname: Recognize long names as well.
18592         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
18593         a long name.
18594         * lib/unictype/joiningtype_byname.c: Include <string.h>,
18595         unictype/joiningtype_byname.h.
18596         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
18597         * lib/unictype/joiningtype_byname.gperf: New file.
18598         * modules/unictype/joiningtype-byname (Files): Add
18599         lib/unictype/joiningtype_byname.gperf.
18600         (Depends-on): Add gperf.
18601         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
18602         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
18603         long names.
18604
18605         Tests for module 'unictype/joiningtype-longname'.
18606         * modules/unictype/joiningtype-longname-tests: New file.
18607         * tests/unictype/test-joiningtype_longname.c: New file.
18608
18609         New module 'unictype/joiningtype-longname'.
18610         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
18611         * lib/unictype/joiningtype_longname.c: New file.
18612         * modules/unictype/joiningtype-longname: New file.
18613         * modules/unictype/joiningtype-all (Depends-on): Add
18614         unictype/joiningtype-longname.
18615
18616 2011-03-26  Bruno Haible  <bruno@clisp.org>
18617
18618         unictype/bidiclass-byname: Recognize long names as well.
18619         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
18620         name.
18621         * lib/unictype/bidi_byname.c: Include <string.h>,
18622         unictype/bidi_byname.h.
18623         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
18624         * lib/unictype/bidi_byname.gperf: New file.
18625         * modules/unictype/bidiclass-byname (Files): Add
18626         lib/unictype/bidi_byname.gperf.
18627         (Depends-on): Add gperf.
18628         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
18629         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
18630         long names.
18631
18632         Tests for module 'unictype/bidiclass-longname'.
18633         * modules/unictype/bidiclass-longname-tests: New file.
18634         * tests/unictype/test-bidi_longname.c: New file.
18635
18636         New module 'unictype/bidiclass-longname'.
18637         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
18638         * lib/unictype/bidi_longname.c: New file.
18639         * modules/unictype/bidiclass-longname: New file.
18640         * modules/unictype/bidiclass-all (Depends-on): Add
18641         unictype/bidiclass-longname.
18642
18643 2011-03-26  Bruno Haible  <bruno@clisp.org>
18644
18645         unictype/bidi*: Rename modules.
18646         * modules/unictype/bidiclass-all: Renamed from
18647         modules/unictype/bidicategory-all.
18648         * modules/unictype/bidiclass-name: Renamed from
18649         modules/unictype/bidiclass-name.
18650         (Description): Update.
18651         * modules/unictype/bidiclass-name-tests: Renamed from
18652         modules/unictype/bidicategory-name-tests.
18653         * modules/unictype/bidiclass-byname: Renamed from
18654         modules/unictype/bidicategory-byname.
18655         (Description): Update.
18656         * modules/unictype/bidiclass-byname-tests: Renamed from
18657         modules/unictype/bidicategory-byname-tests.
18658         * modules/unictype/bidiclass-of: Renamed from
18659         modules/unictype/bidicategory-of.
18660         (Description): Update.
18661         * modules/unictype/bidiclass-of-tests: Renamed from
18662         modules/unictype/bidicategory-of-tests.
18663         * modules/unictype/bidiclass-test: Renamed from
18664         modules/unictype/bidicategory-test.
18665         (Description): Update.
18666         * modules/unictype/bidiclass-test-tests: Renamed from
18667         modules/unictype/bidicategory-test-tests.
18668         * modules/unictype/bidicategory-all: New file, a simple redirection.
18669         * modules/unictype/bidicategory-name: Likewise.
18670         * modules/unictype/bidicategory-byname: Likewise.
18671         * modules/unictype/bidicategory-of: Likewise.
18672         * modules/unictype/bidicategory-test: Likewise.
18673         * modules/unictype/property-bidi-* (Dependencies): Update.
18674         * lib/unictype/bidi_*.c: Update comment.
18675
18676 2011-03-26  Bruno Haible  <bruno@clisp.org>
18677
18678         unictype/bidi*: Rename functions, part 2.
18679         * modules/unictype/bidicategory-name (configure.ac): Update required
18680         libunistring version.
18681         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
18682
18683 2011-03-25  Bruno Haible  <bruno@clisp.org>
18684
18685         New module 'unictype/combining-class-all'.
18686         * modules/unictype/combining-class-all: New file.
18687
18688         Tests for module 'unictype/combining-class-byname'.
18689         * modules/unictype/combining-class-byname-tests: New file.
18690         * tests/unictype/test-combiningclass_byname.c: New file.
18691
18692         New module 'unictype/combining-class-byname'.
18693         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
18694         * lib/unictype/combiningclass_byname.c: New file.
18695         * lib/unictype/combiningclass_byname.gperf: New file.
18696         * modules/unictype/combining-class-byname: New file.
18697
18698         Tests for module 'unictype/combining-class-longname'.
18699         * modules/unictype/combining-class-longname-tests: New file.
18700         * tests/unictype/test-combiningclass_longname.c: New file.
18701
18702         New module 'unictype/combining-class-longname'.
18703         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
18704         * lib/unictype/combiningclass_longname.c: New file.
18705         * modules/unictype/combining-class-longname: New file.
18706
18707         Tests for module 'unictype/combining-class-name'.
18708         * modules/unictype/combining-class-name-tests: New file.
18709         * tests/unictype/test-combiningclass_name.c: New file.
18710
18711         New module 'unictype/combining-class-name'.
18712         * lib/unictype.in.h (uc_combining_class_name): New declaration.
18713         * lib/unictype/combiningclass_name.c: New file.
18714         * modules/unictype/combining-class-name: New file.
18715
18716 2011-03-25  Bruno Haible  <bruno@clisp.org>
18717
18718         unictype/combining-class: Rename source files.
18719         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
18720         of unictype/combining.h.
18721         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
18722         Update.
18723         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
18724         * modules/unictype/combining-class (Description): Fix.
18725         (Files, Makefile.am): Update.
18726         * tests/unictype/test-combiningclass.c: Renamed from
18727         tests/unictype/test-combining.c.
18728         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
18729
18730 2011-03-25  Bruno Haible  <bruno@clisp.org>
18731
18732         unictype: Update list of canonical combining classes.
18733         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
18734
18735 2011-03-25  Bruno Haible  <bruno@clisp.org>
18736
18737         unictype/category-byname: Recognize long names as well.
18738         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
18739         a long name.
18740         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
18741         unictype/categ_byname.h.
18742         (UC_CATEGORY_INDEX_*): New enumeration values.
18743         (uc_general_category_byname): Use uc_general_category_lookup and
18744         convert from index to value.
18745         * lib/unictype/categ_byname.gperf: New file.
18746         * modules/unictype/category-byname (Files): Add
18747         lib/unictype/categ_byname.gperf.
18748         (Depends-on): Add gperf.
18749         (Makefile.am): Add rule for generating unictype/categ_byname.h.
18750         * tests/unictype/test-categ_byname.c (main): Test the recognition of
18751         long names.
18752
18753         Tests for module 'unictype/category-longname'.
18754         * modules/unictype/category-longname-tests: New file.
18755         * tests/unictype/test-categ_longname.c: New file.
18756
18757         New module 'unictype/category-longname'.
18758         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
18759         * lib/unictype/categ_longname.c: New file.
18760         * modules/unictype/category-longname: New file.
18761         * modules/unictype/category-all (Depends-on): Add it.
18762
18763 2011-03-25  Bruno Haible  <bruno@clisp.org>
18764
18765         Tests for module 'unictype/category-LC'.
18766         * modules/unictype/category-LC-tests: New file.
18767         * tests/unictype/test-categ_LC.c: New file, automatically generated.
18768
18769         New module 'unictype/category-LC'.
18770         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
18771         (UC_CATEGORY_LC): New declaration.
18772         (UC_CASED_LETTER): New macro.
18773         * lib/gen-uni-tables.c (is_category_LC): New function.
18774         (output_categories): Also handle category LC.
18775         (UC_CATEGORY_MASK_LC): New enumeration value.
18776         (general_category_byname): Also handle category LC.
18777         * lib/unictype/categ_LC.c: New file.
18778         * lib/unictype/categ_LC.h: New file, automatically generated.
18779         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
18780         category LC.
18781         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
18782         * modules/unictype/category-LC: New file.
18783         * modules/unictype/category-byname (Depends-on): Add
18784         unictype/category-LC.
18785         * modules/unictype/category-all (Depends-on): Likewise.
18786
18787 2011-03-25  Eric Blake  <eblake@redhat.com>
18788
18789         xmalloc: revert yesterday's regression
18790         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
18791         realloc's underlying behavior (allowing allocation of zero-size
18792         objects, especially if malloc-gnu is also in use).
18793
18794 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
18795
18796         maint.mk: add missing version to VC-tag
18797         * top/maint.mk: git tag was missing actual tag name; add it.
18798
18799         valgrind: do leak checking, and exit with code 1 on error (not 0)
18800         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
18801         to VALGRIND.
18802
18803 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
18804
18805         posix-modules: say what it does.
18806         * posix-modules: Add a line to the --help output saying what it does.
18807
18808 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
18809
18810         xmalloc: Do not leak if underlying realloc is C99 compatible.
18811         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
18812         This avoids a leak on C99-based systems.  See
18813         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
18814
18815 2011-03-24  Eric Blake  <eblake@redhat.com>
18816
18817         realloc: document portability problem
18818         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
18819         passing 0 size to realloc.
18820
18821 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
18822
18823         doc: update users.txt
18824         * users.txt: Add cvsps, tmpwatch
18825
18826 2011-03-23  Matt Rice  <ratmice@gmail.com>
18827
18828         doc: update users.txt
18829         * users.txt: Add gdb.
18830
18831 2011-03-23  Jim Meyering  <meyering@redhat.com>
18832
18833         doc: update users.txt
18834         Looking through matches up to the following URL (there are still
18835         several more pages), I found several projects that use gnulib:
18836         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
18837         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
18838         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
18839
18840 2011-03-22  Bruno Haible  <bruno@clisp.org>
18841
18842         unictype/bidi*: Rename functions.
18843         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
18844         uc_bidi_class, uc_is_bidi_class): New declarations.
18845         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
18846         uc_bidi_category_byname.
18847         (uc_bidi_category_byname): New function.
18848         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
18849         u_bidi_category_name.
18850         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
18851         (uc_bidi_category_name): New function.
18852         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
18853         uc_bidi_category.
18854         (uc_bidi_category): New function.
18855         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
18856         uc_is_bidi_category. Invoke uc_bidi_class.
18857         (uc_is_bidi_category): New function.
18858         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
18859         instead of uc_bidi_category_byname.
18860         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
18861         instead of uc_bidi_category_name.
18862         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
18863         uc_bidi_category.
18864         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
18865         instead of uc_is_bidi_category.
18866
18867 2011-03-21  Bruno Haible  <bruno@clisp.org>
18868
18869         New module 'unictype/joininggroup-all'.
18870         * modules/unictype/joininggroup-all: New file.
18871
18872         Tests for module 'unictype/joininggroup-of'.
18873         * modules/unictype/joininggroup-of-tests: New file.
18874         * tests/unictype/test-joininggroup_of.c: New file.
18875         * tests/unictype/test-joininggroup_of.h: New file, automatically
18876         generated by gen-uni-tables.
18877
18878         New module 'unictype/joininggroup-of'.
18879         * modules/unictype/joininggroup-of: New file.
18880         * lib/unictype/joininggroup_of.c: New file.
18881         * lib/unictype/joininggroup_of.h: New file, automatically generated by
18882         gen-uni-tables.
18883
18884         Tests for module 'unictype/joininggroup-byname'.
18885         * modules/unictype/joininggroup-byname-tests: New file.
18886         * tests/unictype/test-joininggroup_byname.c: New file.
18887
18888         New module 'unictype/joininggroup-byname'.
18889         * modules/unictype/joininggroup-byname: New file.
18890         * lib/unictype/joininggroup_byname.c: New file.
18891         * lib/unictype/joininggroup_byname.gperf: New file.
18892
18893         Tests for module 'unictype/joininggroup-name'.
18894         * modules/unictype/joininggroup-name-tests: New file.
18895         * tests/unictype/test-joininggroup_name.c: New file.
18896
18897         New module 'unictype/joininggroup-name'.
18898         * modules/unictype/joininggroup-name: New file.
18899         * lib/unictype/joininggroup_name.c: New file.
18900         * lib/unictype/joininggroup_name.h: New file.
18901
18902         New module 'unictype/joiningtype-all'.
18903         * modules/unictype/joiningtype-all: New file.
18904
18905         Tests for module 'unictype/joiningtype-of'.
18906         * modules/unictype/joiningtype-of-tests: New file.
18907         * tests/unictype/test-joiningtype_of.c: New file.
18908         * tests/unictype/test-joiningtype_of.h: New file, automatically
18909         generated by gen-uni-tables.
18910
18911         New module 'unictype/joiningtype-of'.
18912         * modules/unictype/joiningtype-of: New file.
18913         * lib/unictype/joiningtype_of.c: New file.
18914         * lib/unictype/joiningtype_of.h: New file, automatically generated by
18915         gen-uni-tables.
18916
18917         Tests for module 'unictype/joiningtype-byname'.
18918         * modules/unictype/joiningtype-byname-tests: New file.
18919         * tests/unictype/test-joiningtype_byname.c: New file.
18920
18921         New module 'unictype/joiningtype-byname'.
18922         * modules/unictype/joiningtype-byname: New file.
18923         * lib/unictype/joiningtype_byname.c: New file.
18924
18925         Tests for module 'unictype/joiningtype-name'.
18926         * modules/unictype/joiningtype-name-tests: New file.
18927         * tests/unictype/test-joiningtype_name.c: New file.
18928
18929         New module 'unictype/joiningtype-name'.
18930         * modules/unictype/joiningtype-name: New file.
18931         * lib/unictype/joiningtype_name.c: New file.
18932
18933         unictype: Add support for Arabic shaping properties.
18934         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
18935         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
18936         declarations.
18937         (UC_JOINING_GROUP_*): New enumeration values.
18938         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
18939         declarations.
18940         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
18941         (unicode_joining_type): New variable.
18942         (UC_JOINING_GROUP_*): New enumeration values.
18943         (unicode_joining_group): New variable.
18944         (fill_arabicshaping, joining_type_as_c_identifier,
18945         output_joining_type_test, output_joining_type,
18946         joining_group_as_c_identifier, output_joining_group_test,
18947         output_joining_group): New functions.
18948         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
18949         fill_arabicshaping and output_joining_type_test, output_joining_type,
18950         output_joining_group_test, output_joining_group.
18951         Reported by Simon Josefsson.
18952
18953 2011-03-21  Jim Meyering  <meyering@redhat.com>
18954
18955         strftime: fix a bug in yesterday's change
18956         * lib/strftime.c (add): Accommodate width's initial value of -1.
18957         Otherwise, nstrftime would copy uninitialized data into
18958         the result buffer.
18959
18960 2011-03-21  Jim Meyering  <meyering@redhat.com>
18961
18962         tests: add strftime-tests module
18963         * tests/test-strftime.c: New file.
18964         * modules/strftime-tests: New module.
18965
18966 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18967
18968         strftime: don't assume a byte count fits in 'int'
18969         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
18970         found this problem by static analysis, using gcc -Wstrict-overflow
18971         (GCC 4.5.2, x86-64).  This reported an optimization that depended
18972         on an integer overflow having undefined behavior, but it turns out
18973         that the argument is a size, which might not fit in 'int' anyway,
18974
18975 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18976
18977         stdio: don't require ignore_value around fwrite
18978
18979         This patch works around libc bug 11959
18980         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
18981         Without this patch, applications must often write
18982         ignore_value (fwrite (...)) even though the ignore_value is
18983         not helpful here.  It's common to write many objects, using
18984         fwrite/printf/etc., and then use ferror to detect output error.
18985
18986         I considered making this patch optional, but decided against it,
18987         because libc is obviously being inconsistent here: there is no
18988         reason libc should insist that user code must inspect fwrite
18989         return's value without also insisting that it inspect printf's,
18990         putchar's, etc.  If user code wants to have a strict style where
18991         all these functions' values are checked (so that ferror need not
18992         be checked), we could add support for that style in a new gnulib
18993         module, but in the meantime it's better to be consistent and to
18994         support common usage.
18995
18996         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
18997         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
18998         that we are compiling in checking mode, and if not C++, and
18999         if not already wrapping fwrite for some other reason.
19000         (fwrite): #define to rpl_fwrite if the latter is defined.
19001
19002 2011-03-20  Bruno Haible  <bruno@clisp.org>
19003
19004         verror: Fix compilation error introduced on 2011-02-13.
19005         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
19006         instead of __attribute__.
19007         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19008
19009 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19010             Bruno Haible  <bruno@clisp.org>
19011
19012         socklen: do not depend on sys_socket
19013         While trying to modify Emacs to use gnulib's socklen module,
19014         I discovered a circular dependency: socklen depends on sys_socket
19015         and vice versa.  Emacs can use socklen, but it does not need
19016         sys_socket because it has its own substitute for sys/socket.h.
19017         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
19018         gl_TYPE_SOCKLEN_T.
19019         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
19020         gl_PREREQ_SYS_H_SOCKET.
19021         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
19022         gl_PREREQ_SYS_H_SOCKET.
19023         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
19024         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
19025         * modules/socklen (Depends-on): Do not depend on sys_socket.
19026         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
19027
19028 2011-03-20  Jim Meyering  <meyering@redhat.com>
19029
19030         maint.mk: sort file names *after* new transformation
19031         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
19032         prefix would have led to an unwarranted failure in GNU parted.
19033         Sort after that transformation.
19034
19035 2011-03-19  Jim Meyering  <meyering@redhat.com>
19036
19037         maint.mk: fix po-file syntax-check rule
19038         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
19039         Patch by Bruno Haible.
19040
19041 2011-03-19  Bruno Haible  <bruno@clisp.org>
19042
19043         socklen: Update comment.
19044         * m4/socklen.m4: Update comment about platforms.
19045
19046 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19047             Bruno Haible  <bruno@clisp.org>
19048
19049         inet_ntop, inet_pton: Simplify.
19050         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
19051         documented to provide socklen_t and we already depend on sys_socket.
19052         * modules/inet_pton (Depends-on): Likewise.
19053         * lib/arpa_inet.in.h: Adjust comment.
19054
19055 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19056             Bruno Haible  <bruno@clisp.org>
19057
19058         netdb: Simplify.
19059         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
19060         documented to provide socklen_t and we already depend on sys_socket.
19061         * lib/netdb.in.h: Adjust comment.
19062
19063 2011-03-19  Bruno Haible  <bruno@clisp.org>
19064
19065         sys_socket, netdb: Document problem with socklen_t.
19066         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
19067         platforms.
19068         * doc/posix-headers/netdb.texi: Likewise.
19069
19070 2011-03-18  Eric Blake  <eblake@redhat.com>
19071
19072         maint.mk: let po check work in VPATH build
19073         * top/maint.mk (po_file): Allow cfg.mk override.
19074         (sc_po_check): Allow VPATH use.
19075         Reported by Jiri Denemark.
19076
19077 2011-03-16  Jim Meyering  <meyering@redhat.com>
19078
19079         maint.mk: allow fine-grained syntax-check exclusion via Make variables
19080         Before, you would have had to create one .x-sc_ file per rule in order
19081         to exempt offending files.  Now, you may instead use a Make variable --
19082         usually defined in cfg.mk -- whose name identifies the affected rule.
19083         * top/maint.mk (_sc_excl): Define.
19084         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
19085         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
19086
19087 2011-03-13  Bruno Haible  <bruno@clisp.org>
19088
19089         ignore-value tests: Avoid warnings.
19090         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
19091         empty for gcc < 3.4.
19092
19093 2011-03-13  Bruno Haible  <bruno@clisp.org>
19094
19095         passfd: Fix link error on Solaris.
19096         * modules/passfd (Description): Correct.
19097         (Depends-on): Add socketlib.
19098         (Link): New section.
19099         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
19100
19101 2011-03-13  Bruno Haible  <bruno@clisp.org>
19102
19103         passfd: Fix link error on AIX 5.2.
19104         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
19105
19106 2011-03-13  Bruno Haible  <bruno@clisp.org>
19107
19108         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
19109         * lib/sys_socket.in.h: Include <stddef.h>.
19110         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
19111         CMSG_FIRSTHDR. Remove unused variable.
19112
19113 2011-03-13  Bruno Haible  <bruno@clisp.org>
19114
19115         passfd: Fix compilation error on OpenBSD.
19116         * lib/passfd.c: Include <sys/uio.h>.
19117
19118 2011-03-13  Bruno Haible  <bruno@clisp.org>
19119
19120         passfd test: Fix warnings.
19121         * tests/test-passfd.c: Include <sys/wait.h>.
19122         (main): Fix typo.
19123
19124 2011-03-13  Bruno Haible  <bruno@clisp.org>
19125
19126         passfd module, part 4, tweaks.
19127         * tests/test-passfd.c: Reorder includes.
19128         (main): Fix perror and printf calls.
19129
19130 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19131
19132         passfd module, part 4.
19133         * modules/passfd-tests: New file.
19134         * tests/test-passfd.c: New file.
19135
19136 2011-03-13  Jim Meyering  <meyering@redhat.com>
19137
19138         Makefile: rely on GNU make; derive syntax-check rule names
19139         Rather than requiring that each sc_ rule be listed as a dependent
19140         of "check", use features of GNU make to derive the list.
19141         * Makefile (syntax-check-rules): Define.
19142         (check): Depend on the new variable, not the hard-coded list.
19143
19144 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
19145             Bruno Haible  <bruno@clisp.org>
19146
19147         passfd module, part 3.
19148         * lib/passfd.h (recvfd): Add a flags argument.
19149         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
19150         (recvfd): Add a flags argument.
19151         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
19152         exists.
19153         * modules/passfd (Depends-on): Add cloexec.
19154         Suggested by Eric Blake.
19155
19156 2011-03-13  Bruno Haible  <bruno@clisp.org>
19157
19158         passfd module, part 2, tweaks.
19159         * modules/passfd (Files): Reorder.
19160         (Depends-on): Remove errno.
19161         (Include): Remove <sys/socket.h>, <sys/un.h>.
19162         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
19163         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
19164         specification header. Include <sys/socket.h> always. Don't include
19165         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
19166         (sendfd): Clarify that it sets errno when it fails.
19167         (recvfd): Fix specification.
19168
19169 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19170
19171         passfd module, part 2.
19172         * modules/passfd: New file.
19173         * lib/passfd.h: New file.
19174         * lib/passfd.c: New file.
19175
19176 2011-03-12  Bruno Haible  <bruno@clisp.org>
19177
19178         wcswidth, mbswidth: Avoid integer overflow.
19179         * lib/wcswidth.c: Include <limits.h>.
19180         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
19181         * lib/mbswidth.c: Include <limits.h>.
19182         (mbsnwidth): Avoid 'int' overflow.
19183         Reported by Jim Meyering.
19184
19185 2011-03-12  Bruno Haible  <bruno@clisp.org>
19186
19187         futimens, utimensat: Avoid endless recursion on Solaris 10.
19188         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
19189         Solaris.
19190         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
19191         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
19192
19193 2011-03-11  Jim Meyering  <meyering@redhat.com>
19194
19195         maint.mk: relax a regexp to accommodate other formatting styles
19196         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
19197         between "ngettext" and the following "(".
19198
19199 2011-03-11  Pádraig Brady <P@draigBrady.com>
19200
19201         maint.mk: suppress a false positive warning
19202         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
19203         diagnostics are marked with ngettext.
19204
19205 2011-03-10  Eric Blake  <eblake@redhat.com>
19206
19207         wchar: add explicit dependencies, for Tru64
19208         * modules/mbmemcasecoll (Depends-on): Add wchar.
19209         * modules/mbtowc (Depends-on): Likewise.
19210         * modules/vasnprintf (Depends-on): Likewise.
19211         * modules/unistdio/u-printf-args (Depends-on): Likewise.
19212         * modules/wctomb (Depends-on): Likewise.
19213         Reported by Peter O'Gorman.
19214
19215 2011-03-08  Bruno Haible  <bruno@clisp.org>
19216
19217         passfd module, part 1, tweaks.
19218         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
19219         Improve indentation. Improve AC_MSG_CHECKING messages.
19220         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
19221         gl_SOCKET_FAMILIES.
19222
19223 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19224
19225         passfd module, part 1.
19226         * m4/afunix.m4: New file.
19227         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
19228         sockets.
19229
19230 2011-03-08  Bruno Haible  <bruno@clisp.org>
19231
19232         regex-quote: New API.
19233         * lib/regex-quote.h: Include <stdbool.h>.
19234         (struct regex_quote_spec): New type.
19235         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19236         New declarations.
19237         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19238         'const struct regex_quote_spec *' argument.
19239         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
19240         (pcre_special): New constant.
19241         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19242         New functions.
19243         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19244         'const struct regex_quote_spec *' argument.
19245         * modules/regex-quote (Depends-on): Add stdbool.
19246         * tests/test-regex-quote.c (check): Update for new API. Add test for
19247         anchored results.
19248         * NEWS: Mention the API change.
19249         Reported by Reuben Thomas and Eric Blake.
19250
19251 2011-03-06  Bruno Haible  <bruno@clisp.org>
19252
19253         regex-quote: Fix creation of POSIX extended regular expressions.
19254         * lib/regex-quote.c (ere_special): Add grouping and alternation
19255         operators.
19256
19257 2011-03-05  Bruno Haible  <bruno@clisp.org>
19258
19259         doc: Improve doc regarding autopoint vs. gnulib.
19260         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
19261         disable autopoint while running autoreconf.
19262         Suggested by Ralf Wildenhues.
19263
19264 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19265
19266         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
19267         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
19268
19269 2011-03-03  Bruce Korb  <bkorb@gnu.org>
19270
19271         parse-duration: remove xalloc.h dependency
19272         * lib/parse-duration.c (parse_period): handle NULL return from
19273         strdup instead of calling xstrdup().
19274         * modules/parse-duration: remove "xalloc" dependency
19275
19276 2011-03-03  Matthew Booth  <mbooth@redhat.com>
19277
19278         bootstrap: honor m4_base when running aclocal
19279         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
19280
19281 2011-03-02  Jim Meyering  <meyering@redhat.com>
19282
19283         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
19284         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
19285         on request from Matt Booth.
19286
19287 2011-03-01  Eric Blake  <eblake@redhat.com>
19288
19289         test-link: work on Hurd
19290         * tests/test-link.h (test_link): Hurd rejects linking directories
19291         with EISDIR instead of the POSIX-mandated EPERM.
19292
19293 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
19294
19295         stdio: simplify by moving files to printf-posix, sigpipe
19296         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
19297         since this symbol is needed only if printf is replaced.
19298         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
19299         Require gl_ASM_SYMBOL_PREFIX.
19300         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
19301         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
19302         (Depends-on): Add 'raise'.
19303         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
19304         * modules/stdio (Files): Remove lib/stdio-write.c,
19305         m4/asm-underscore.m4.
19306         (Depends-on): Remove 'raise'.
19307
19308         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
19309         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
19310         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
19311         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
19312
19313 2011-02-28  Bruno Haible  <bruno@clisp.org>
19314
19315         localcharset: Assume ANSI C behaviour of free().
19316         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
19317         calling free().
19318         Suggested by Simon Josefsson <simon@josefsson.org>.
19319
19320 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
19321             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
19322             Bruno Haible  <bruno@clisp.org>  (tiny change)
19323
19324         On Cygwin, use /proc file system instead of win32 API.
19325         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
19326         Win32 file names.
19327         (DllMain): Simplify by removing Cygwin specific code.
19328         (find_shared_library_fullname): Use Linux specific implementation also
19329         for Cygwin.
19330         (get_shared_library_fullname): Update accordingly.
19331         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
19332         Win32 file names.
19333         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
19334         Cygwin specific code.
19335
19336 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
19337             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
19338
19339         Fix OpenMP flag detection for various Fortran compilers.
19340         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
19341         OpenMP-conditional compilation construct, to force compile
19342         failure with missing OpenMP flag.
19343         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
19344
19345 2011-02-25  Eric Blake  <eblake@redhat.com>
19346
19347         strstr: expand test coverage
19348         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
19349         compilation.
19350         * tests/test-memmem.c (main): Duplicate tests.
19351         * tests/test-strcasestr.c (main): Likewise.
19352         * tests/test-c-strcasestr.c (main): Likewise.
19353
19354 2011-02-25  Jim Meyering  <meyering@redhat.com>
19355
19356         maint.mk: detect missing-NL-at-EOF, too
19357         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
19358         it also detects when a file lacks a newline at EOF.
19359         (require_exactly_one_NL_at_EOF_): Renamed from
19360         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
19361         since people may well have .x-sc_... file names tied to the
19362         existing name.  Suggested by Eric Blake.
19363
19364 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
19365
19366         dirname: move m4/dos.m4 functionality into lib/dosname.h
19367
19368         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
19369         extracts symbols from it, puts them into config.h; but it's much
19370         easier to use the symbols directly.  filename.h already does this,
19371         but it disagrees with dos.m4 in some respects.  This patch
19372         introduces a different include file dosname.h that packages up
19373         dos.m4, and then later we can work on merging filename.h and
19374         dosname.h.  Applications that need only the easy-to-configure
19375         symbols should consider including dosname.h rather than dirname.h.
19376         * NEWS: Mention incompatible changes.
19377         * m4/dos.m4: Remove.
19378         * lib/dosname.h, modules/dosname: New files.
19379         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
19380         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
19381         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
19382         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
19383         Include dosname.h, not dirname.h.
19384         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
19385         Include dosname.h, for definitions of symbols like ISSLASH
19386         that used to be in config.h.
19387         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
19388         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19389         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19390         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19391         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
19392         * modules/rmdir (Files): Likewise.
19393         * modules/stat (Files): Likewise.
19394         * modules/unlink (Files): Likewise.
19395         * modules/dirname-lgpl (Depends-on): Add dosname.
19396         * modules/lstat (Depends-on): Likewise.
19397         * modules/openat (Depends-on): Likewise.
19398         * modules/rmdir (Depends-on): Likewise.
19399         * modules/savewd (Depends-on): Likewise.
19400         * modules/stat (Depends-on): Likewise.
19401         * modules/unlink (Depends-on): Likewise.
19402         * modules/openat (Depends-on): Remove dirname-lgpl.
19403         * modules/savewd (Depends-on): Likewise.
19404         * tests/test-dirname.c: Do not use removed symbols like
19405         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
19406         the remaining symbols, e.g., ISSLASH ('\\').
19407
19408 2011-02-25  Eric Blake  <eblake@redhat.com>
19409
19410         strstr: revert patches that introduced bug and pessimization
19411         * lib/str-two-way.h: Add another reference.
19412         (two_way_short_needle, two_way_long_needle): Revert changes from
19413         2011-02-24; they pessimize search speed.
19414         (critical_factorization): Partially revert changes from
19415         2010-06-22; they violate the requirement that the left half of the
19416         needle be smaller than the period of the needle.
19417
19418 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
19419
19420         filenamecat: remove unnecessary dependency on dirname-lgpl
19421         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
19422         is no direct dependency, just an indirect one via filenamecat-lgpl.
19423
19424         remove: remove unnecessary use of m4/dos.m4
19425         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
19426         * modules/remove (FILES): Remove m4/dos.m4.
19427
19428         * lib/openat-proc.c: Don't include dirname.h; not needed.
19429
19430         backupfile: remove unnecessary use of m4/dos.m4
19431         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
19432         of its symbols are used by the backupfile code.  backupfile.c does
19433         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
19434         for the rare case of programs that want all their backup file
19435         names to live within 8+3 limits, and dos.m4 doesn't address that.
19436         * modules/backupfile (Files): Remove m4/dos.m4.
19437
19438 2011-02-24  Jim Meyering  <meyering@redhat.com>
19439
19440         strstr: fix a bug whereby strstr would mistakenly return NULL
19441         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
19442         in period calculation.
19443         (two_way_long_needle): Likewise.
19444         The original problem was reported by Mike Stump in
19445         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
19446         Ralf Wildenhues provided the short needle and haystack.
19447         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
19448         Add a more involved test to trigger the bug in two_way_long_needle.
19449
19450 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19451
19452         gnulib-tool: remove use of bold display in help screen
19453         * gnulib-tool (func_usage): Do not use bold display anymore in the
19454         help screen.  That was just meant to be a temporary emphasis for a
19455         backward-incompatible change.
19456
19457 2011-02-23  Bruno Haible  <bruno@clisp.org>
19458
19459         Fix misindentation of preprocessor directives.
19460         * lib/argp-namefrob.h: Reindent preprocessor directives.
19461         * lib/getopt_int.h (struct _getopt_data): Likewise.
19462         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
19463         * lib/vasnprintf.c (decode_long_double): Likewise.
19464         * tests/test-argmatch.c: Insert blank lines, for clarity.
19465         * tests/test-exclude.c: Likewise.
19466
19467 2011-02-22  Bruno Haible  <bruno@clisp.org>
19468
19469         ioctl: Fix for MacOS X in 64-bit mode.
19470         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
19471         value.
19472         Suggested by Eric Blake.
19473         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
19474
19475 2011-02-22  Jim Meyering  <meyering@redhat.com>
19476
19477         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
19478         * Makefile (sc_cpp_indent_check): Don't limit the check to files
19479         in lib/.
19480
19481 2011-02-22  Eric Blake  <eblake@redhat.com>
19482
19483         maint: avoid any CDPATH issue
19484         * Makefile (sc_cpp_indent_check): Anchor cd argument.
19485
19486         maint: adjust cpp indentation for my modules, as well
19487         * Makefile (sc_cpp_indent_check): Add my name.
19488         * lib/fbufmode.c: Filter through cppi.
19489         * lib/fpurge.c: Likewise.
19490         * lib/freadable.c: Likewise.
19491         * lib/freading.c: Likewise.
19492         * lib/fwritable.c: Likewise.
19493         * lib/fwriting.c: Likewise.
19494         * lib/sigaction.c: Likewise.
19495
19496 2011-02-22  Jim Meyering  <meyering@redhat.com>
19497
19498         maint: adjust cpp indentation to reflect nesting depth
19499         I.e., in a block of code that begins with an unnested "#if",
19500         put one space between the "#" in column 1 and following token.
19501         For example,
19502         -#include <sys/vfs.h>
19503         +# include <sys/vfs.h>
19504         Do this only in .c files that are part of a module I maintain.
19505         * lib/linkat.c: Filter through cppi.
19506         * lib/nanosleep.c: Likewise.
19507         * lib/openat.c: Likewise.
19508         * lib/openat-die.c: Likewise.
19509         * lib/dup3.c: Likewise.
19510         * lib/fchownat.c: Likewise.
19511         * lib/flock.c: Likewise.
19512         * lib/fsync.c: Likewise.
19513         * lib/fts.c: Likewise.
19514         * lib/getpass.c: Likewise.
19515         * lib/gettimeofday.c: Likewise.
19516         * lib/userspec.c: Likewise.
19517         * Makefile (sc_cpp_indent_check): New rule, to check this.
19518
19519 2011-02-22  Bruno Haible  <bruno@clisp.org>
19520
19521         New module 'wctomb'.
19522         * lib/stdlib.in.h (wctomb): New declaration.
19523         * lib/wctomb.c: New file.
19524         * lib/wctomb-impl.h: New file.
19525         * m4/wctomb.m4: New file.
19526         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
19527         REPLACE_WCTOMB.
19528         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
19529         REPLACE_WCTOMB.
19530         * modules/wctomb: New file.
19531         * tests/test-stdlib-c++.cc: Test signature of wctomb.
19532         * doc/posix-functions/wctomb.texi: Mention the new module.
19533         * modules/wctob (Depends-on): Add wctomb.
19534
19535 2011-02-22  Bruno Haible  <bruno@clisp.org>
19536
19537         New module 'mbtowc'.
19538         * lib/stdlib.in.h (mbtowc): New declaration.
19539         * lib/mbtowc.c: New file.
19540         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
19541         * m4/mbtowc.m4: New file.
19542         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
19543         REPLACE_MBTOWC.
19544         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
19545         REPLACE_MBTOWC.
19546         * modules/mbtowc: New file.
19547         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
19548         * doc/posix-functions/mbtowc.texi: Mention the new module.
19549         * modules/btowc (Depends-on): Add mbtowc.
19550
19551 2011-02-22  Bruno Haible  <bruno@clisp.org>
19552
19553         wcrtomb: Add more tests for native Windows platforms.
19554         * tests/test-wcrtomb-w32-1.sh: New file.
19555         * tests/test-wcrtomb-w32-2.sh: New file.
19556         * tests/test-wcrtomb-w32-3.sh: New file.
19557         * tests/test-wcrtomb-w32-4.sh: New file.
19558         * tests/test-wcrtomb-w32-5.sh: New file.
19559         * tests/test-wcrtomb-w32.c: New file.
19560         * modules/wcrtomb-tests (Files): Add them.
19561         (Makefile.am): Arrange to run these tests.
19562         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
19563         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
19564
19565 2011-02-20  Bruno Haible  <bruno@clisp.org>
19566
19567         wcrtomb: Enhance test.
19568         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
19569
19570 2011-02-20  Bruno Haible  <bruno@clisp.org>
19571
19572         mbrtowc: Tiny optimization.
19573         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
19574
19575 2011-02-20  Jim Meyering  <meyering@redhat.com>
19576
19577         test-exclude.c: remove unmatched #endif
19578         * tests/test-exclude.c: Remove stray #endif, left over from
19579         the change of a week ago.
19580
19581 2011-02-19  Jim Meyering  <meyering@redhat.com>
19582
19583         git-version-gen: skip "-dirty" check when appropriate
19584         * build-aux/git-version-gen: Don't run any git commands when the
19585         version string comes from .tarball-version.  Prior to this, we
19586         would run git update-index --refresh even from a just-unpacked
19587         tarball directory, and that could affect a .git/ directory in a
19588         parent of the build directory.  Reported by Mike Frysinger.
19589
19590 2011-02-19  Bruno Haible  <bruno@clisp.org>
19591
19592         unictype/property-byname: Reduce the size of the 'data' segment.
19593         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
19594
19595 2011-02-19  Bruno Haible  <bruno@clisp.org>
19596
19597         unictype/scripts: Reduce the size of the 'data' segment.
19598         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
19599         '%pic'.
19600         * lib/unictype/scripts_byname.gperf: Regenerated.
19601
19602 2011-02-19  Bruno Haible  <bruno@clisp.org>
19603
19604         stdint: Update documentation.
19605         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
19606
19607 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
19608
19609         stdint: omit redundant check for wchar.h
19610         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
19611         always tests whether wchar.h exists, so remove the now-redundant test.
19612
19613 2011-02-18  Bruno Haible  <bruno@clisp.org>
19614
19615         stdint: Cut dependency to module 'wchar'.
19616         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
19617         include the necessary prerequisites.
19618         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
19619         * modules/stdint (Depends-on): Remove wchar.
19620         (Makefile.am): Substitute HAVE_WCHAR_H.
19621         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
19622
19623 2011-02-18  Eric Blake  <eblake@redhat.com>
19624
19625         longlong: skip, rather than fail, on cross-compilation
19626         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
19627         when cross-compiling; regression from 2011-02-16.
19628
19629 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
19630
19631         * NEWS: Mention 2011-02-08 change to stdlib.
19632
19633 2011-02-17  Bruno Haible  <bruno@clisp.org>
19634
19635         getloadavg: Add comments about platforms.
19636         * m4/getloadavg.m4: Add comment.
19637         * lib/getloadavg.c: Likewise.
19638
19639 2011-02-17  Bruno Haible  <bruno@clisp.org>
19640
19641         getloadavg: Fix link error on Solaris 2.6.
19642         * modules/getloadavg (Link): New section.
19643         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
19644         linking test-getloadavg.
19645         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
19646         getloadavg.
19647
19648 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
19649
19650         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
19651         It was 'int', but this doesn't match the IRIX 6.5 manual.
19652         Suggested by Bruno Haible in
19653         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
19654
19655 2011-02-17  Bruno Haible  <bruno@clisp.org>
19656
19657         havelib: Fix comments.
19658         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
19659         change.
19660
19661 2011-02-17  Bruno Haible  <bruno@clisp.org>
19662
19663         havelib: Update config.rpath.
19664         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
19665
19666 2011-02-17  Bruno Haible  <bruno@clisp.org>
19667
19668         getloadavg test: Add some plausibility checks.
19669         * tests/test-getloadavg.c (check_avg): Print a warning when the value
19670         is improbable.
19671
19672 2011-02-16  Eric Blake  <eblake@redhat.com>
19673
19674         maintainer-makefile: make syntax-check a no-op from tarballs
19675         * top/maint.mk (no-vc-detected): New rule.
19676         (local-checks-available): Use it to avoid hanging if someone tries
19677         'make syntax-check' from a tarball.  Also append to any non-syntax
19678         checks already defined in cfg.mk.
19679
19680 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
19681
19682         longlong: tune, particularly for common case of c99
19683
19684         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
19685         or running anything if c99, or if unsigned long long int does not
19686         work.  In either case, we know the answer without further tests.
19687         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
19688         it at most once, and use its results for both long long int and
19689         unsigned long long int.  This is more likely to be efficient in
19690         the common case where the program wants to check for both long
19691         long int and unsigned long long int.
19692         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
19693         since the answer is already known.
19694
19695 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
19696
19697         getloadavg: set errno
19698         * lib/getloadavg.c: Set errno when returning -1.  If no other
19699         error number looks appropriate, set it to ENOSYS if the getloadavg
19700         looks like it can't possibly ever work, ENOTSUP otherwise.
19701         Suggested by Bruno Haible in
19702         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
19703
19704         getloadavg: trim unused parts and speed up 'configure'
19705         * NEWS: Document this.
19706         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
19707         always compiled if getloadavg is absent.
19708         Move test code to ...
19709         * tests/test-getloadavg.c: New file, containing previous
19710         contents of test from lib/getloadavg.c.  It also contains
19711         suggestions by Bruno Haible in
19712         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
19713         * modules/getloadavg-tests: New file.
19714         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
19715         Do tests in the same order as they're needed for getloadavg.c.
19716         Omit setgid-related tests that generate symbols KMEM_GROUP,
19717         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
19718         Do only the tests that are needed to see whether the system has
19719         getloadavg, moving the other tests into ...
19720         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
19721         NLIST_NAME_UNION; nobody should be using it.  Do not define
19722         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
19723         relevant, as the user of this module shouldn't care how getloadavg
19724         is implemented.
19725
19726         getloadavg: omit unused var
19727         * lib/getloadavg.c (getloadavg): Omit unused local variable.
19728
19729 2011-02-15  Jim Meyering  <meyering@redhat.com>
19730
19731         doc: update users.txt
19732         * users.txt: Update iwhd's URL.
19733
19734 2011-02-13  Bruno Haible  <bruno@clisp.org>
19735
19736         Consistent macro naming for macros that use GCC __attribute__.
19737         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
19738         _ATTRIBUTE_NONNULL_.
19739         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
19740         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
19741         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
19742         ATTRIBUTE_DEPRECATED.
19743         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
19744         ATTRIBUTE_NORETURN.
19745         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19746         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19747         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19748         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19749         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
19750         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
19751         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
19752         ATTRIBUTE_SENTINEL.
19753         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
19754         ATTRIBUTE_RETURN_CHECK.
19755         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
19756         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
19757         ATTRIBUTE_NORETURN.
19758         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
19759         Reported by Paul Eggert.
19760
19761 2011-02-13  Bruno Haible  <bruno@clisp.org>
19762
19763         Don't interfere with a program's definition of __attribute__.
19764         * lib/argp.h (__attribute__): Remove definition.
19765         (_GL_ATTRIBUTE_FORMAT): New macro.
19766         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
19767         * lib/argp-fmtstream.h (__attribute__): Remove definition.
19768         (_GL_ATTRIBUTE_FORMAT): New macro.
19769         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
19770         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
19771         GCC 3 or newer.
19772         * lib/error.h (__attribute__): Remove definition.
19773         (_GL_ATTRIBUTE_FORMAT): New macro.
19774         (error, error_at_line): Use it.
19775         * lib/hash.h (__attribute__): Remove definition.
19776         (ATTRIBUTE_WUR): Update definition. Define always.
19777         * lib/openat.h (__attribute__): Remove definition.
19778         (ATTRIBUTE_NORETURN): Update definition. Define always.
19779         * lib/sigpipe-die.h (__attribute__): Remove definition.
19780         (ATTRIBUTE_NORETURN): Update definition. Define always.
19781         * lib/vasnprintf.h (__attribute__): Remove definition.
19782         (_GL_ATTRIBUTE_FORMAT): New macro.
19783         (asnprintf, vasnprintf): Use it.
19784         * lib/xalloc.h (__attribute__): Remove definition.
19785         (ATTRIBUTE_NORETURN): Update definition. Define always.
19786         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
19787         * lib/xmemdup0.h (__attribute__): Remove definition.
19788         (ATTRIBUTE_NORETURN): Update definition. Define always.
19789         * lib/xprintf.h (__attribute__): Remove definition.
19790         (_GL_ATTRIBUTE_FORMAT): New macro.
19791         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
19792         * lib/xstrtol.h (__attribute__): Remove definition.
19793         (ATTRIBUTE_NORETURN): Update definition. Define always.
19794         * lib/xvasprintf.h (__attribute__): Remove definition.
19795         (_GL_ATTRIBUTE_FORMAT): New macro.
19796         (xasprintf, xvasprintf): Use it.
19797         * tests/test-argmatch.c (__attribute__): Remove definition.
19798         (ATTRIBUTE_NORETURN): Update definition. Define always.
19799         * tests/test-exclude.c (__attribute__): Remove definition.
19800         (ATTRIBUTE_NORETURN): Update definition. Define always.
19801         Reported by Paul Eggert.
19802
19803 2011-02-13  Bruno Haible  <bruno@clisp.org>
19804
19805         mbrtowc: Add more tests for native Windows platforms.
19806         * tests/test-mbrtowc-w32-1.sh: New file.
19807         * tests/test-mbrtowc-w32-2.sh: New file.
19808         * tests/test-mbrtowc-w32-3.sh: New file.
19809         * tests/test-mbrtowc-w32-4.sh: New file.
19810         * tests/test-mbrtowc-w32-5.sh: New file.
19811         * tests/test-mbrtowc-w32.c: New file.
19812         * modules/mbrtowc-tests (Files): Add them.
19813         (Makefile.am): Arrange to run these tests.
19814         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
19815         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
19816
19817 2011-02-13  Bruno Haible  <bruno@clisp.org>
19818
19819         mbrtowc: Work around native Windows bug.
19820         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
19821         guess when no suitable locale for testing was found.
19822         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
19823
19824 2011-02-13  Bruno Haible  <bruno@clisp.org>
19825
19826         mbsinit: Work around mingw bug.
19827         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
19828         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
19829         Windows.
19830         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
19831
19832 2011-02-13  Bruno Haible  <bruno@clisp.org>
19833
19834         mbsinit: Don't crash for a NULL argument.
19835         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
19836         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
19837
19838 2011-02-13  Bruno Haible  <bruno@clisp.org>
19839
19840         Don't interfere with a program's definition of __attribute__.
19841         * lib/stdio.in.h (__attribute__): Remove definition.
19842         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
19843         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
19844         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
19845         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
19846         * lib/string.in.h (__attribute__): Remove definition.
19847         Reported by Paul Eggert.
19848
19849 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19850
19851         stdlib: don't get in the way of non-GCC __attribute__
19852         See thread starting at
19853         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
19854         Revert previous stdlib change, installing the following instead:
19855         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
19856         to get in the way of a non-GCC compiler that supports __attribute__.
19857         (_GL_ATTRIBUTE_RETURN): New macro.
19858         (_Exit): Use it instead of __attribute__.
19859
19860 2011-02-12  Bruno Haible  <bruno@clisp.org>
19861
19862         quotearg test: Avoid test failure on mingw.
19863         * tests/test-quotearg.sh: Convert the locale identifier from native
19864         Windows syntax to Unix syntax.
19865
19866 2011-02-12  Bruno Haible  <bruno@clisp.org>
19867
19868         setlocale: Prefer gnulib's override over libintl's override.
19869         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
19870         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
19871         GNULIB_defined_setlocale is set.
19872
19873 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19874
19875         stdlib: support non-GCC __attribute__
19876
19877         Fix a serious and tricky problem encountered when attempting to
19878         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
19879         5.5, but it crashed due to memory corruption on Solaris 10 with
19880         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
19881         bits that are otherwise zero.  This tagging is optional inside
19882         Emacs but is preferred and is used when __attribute__ ((__aligned
19883         (8))) works, as it does with both recent-enough GCC and with Sun C
19884         5.11.  However, Sun C 5.11 is not GCC and does not #define
19885         __GNUC__ and __GNUC_MINOR__.
19886
19887         When I added the getloadavg module to Emacs, it brought in
19888         stdlib.in.h, which contained this fragment:
19889
19890            #ifndef __attribute__
19891            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
19892            #  define __attribute__(Spec)   /* empty */
19893            # endif
19894            #endif
19895
19896         When files that include <stdlib.h> were compiled with Sun C 5.11,
19897         the above code disabled __attribute__ ((__aligned (8))), which
19898         caused variables to not be properly aligned, which eventually led
19899         to the pointer corruption mentioned above.  (This was a bit hard
19900         to diagnose, unfortunately.)
19901
19902         Several "#define __attribute__(X) /* empty */" code snippets need
19903         to be eradicated from Gnulib to work with non-GCC compilers that
19904         support __attribute__.  The Autoconf way to do this is to test for
19905         each kind of attribute that we want support for, and selectively
19906         enable that in source code.
19907
19908         Fix this problem just for stdlib.h, by adding a test for the
19909         __noreturn__ attribute, and change stdlib.in.h to use that test
19910         when needed.  This technique can be easily generalized to the
19911         other *.in.h files and attributes, and a similar technique can be
19912         used for *.h and *.c files.  This patch is enough to solve the
19913         problem for Emacs + getloadavg, and I thought I'd publish it for
19914         feedback before undertaking further, similar fixes in other
19915         modules.
19916
19917         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
19918         because it's not needed for stdlib.h.  It merely substitutes the
19919         value directly into stdlib.h.  We may well need to #define it, or
19920         similar symbols, for other modules, but it's nice to also have an
19921         option to not #define it for applications like Emacs that do not
19922         need it.
19923
19924         * lib/stdlib.in.h (__attribute__): Do not #define.
19925         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
19926         be defined only if the _Exit module is also used.
19927         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
19928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
19929         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
19930         platforms.
19931         * modules/_Exit (Files): Add m4/attribute.m4.
19932         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
19933         * m4/attribute.m4: New file.
19934
19935 2011-02-12  Bruno Haible  <bruno@clisp.org>
19936
19937         wcsrtombs: Work around bug on native Windows.
19938         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
19939         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
19940         instead of len.
19941         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
19942
19943 2011-02-12  Bruno Haible  <bruno@clisp.org>
19944
19945         mbsrtowcs: Work around bug on native Windows.
19946         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
19947         against mingw bug.
19948         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
19949
19950 2011-02-12  Bruno Haible  <bruno@clisp.org>
19951
19952         Avoid setlocale bugs in tests.
19953         * modules/btowc (Dependencies): Add setlocale.
19954         * modules/c-strcase (Dependencies): Likewise.
19955         * modules/mbmemcasecmp (Dependencies): Likewise.
19956         * modules/mbmemcasecoll (Dependencies): Likewise.
19957         * modules/mbrtowc (Dependencies): Likewise.
19958         * modules/mbscasecmp (Dependencies): Likewise.
19959         * modules/mbscasestr (Dependencies): Likewise.
19960         * modules/mbschr (Dependencies): Likewise.
19961         * modules/mbscspn (Dependencies): Likewise.
19962         * modules/mbsinit (Dependencies): Likewise.
19963         * modules/mbsncasecmp (Dependencies): Likewise.
19964         * modules/mbsnrtowcs (Dependencies): Likewise.
19965         * modules/mbspbrk (Dependencies): Likewise.
19966         * modules/mbspcasecmp (Dependencies): Likewise.
19967         * modules/mbsrchr (Dependencies): Likewise.
19968         * modules/mbsrtowcs (Dependencies): Likewise.
19969         * modules/mbsspn (Dependencies): Likewise.
19970         * modules/mbsstr (Dependencies): Likewise.
19971         * modules/nl_langinfo (Dependencies): Likewise.
19972         * modules/quotearg (Dependencies): Likewise.
19973         * modules/unicase/locale-language (Dependencies): Likewise.
19974         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
19975         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
19976         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
19977         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
19978         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
19979         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
19980         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
19981         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
19982         * modules/vasnprintf-posix (Dependencies): Likewise.
19983         * modules/wcrtomb (Dependencies): Likewise.
19984         * modules/wcsnrtombs (Dependencies): Likewise.
19985         * modules/wcsrtombs (Dependencies): Likewise.
19986
19987 2011-02-12  Bruno Haible  <bruno@clisp.org>
19988
19989         setlocale: Workaround native Windows bug.
19990         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
19991         succeeds but sets LC_CTYPE to "C", report a failure.
19992         * tests/test-setlocale2.sh: New file.
19993         * tests/test-setlocale2.c: New file.
19994         * modules/setlocale-tests (Files): Add the new files.
19995         (Makefile.am): Enable test-setlocale2.sh test.
19996         * doc/posix-functions/setlocale.texi: Mention workaround.
19997
19998 2011-02-11  Bruno Haible  <bruno@clisp.org>
19999
20000         Tests for module 'setlocale'.
20001         * modules/setlocale-tests: New file.
20002         * tests/test-setlocale1.sh: New file.
20003         * tests/test-setlocale1.c: New file.
20004
20005         New module 'setlocale'.
20006         * lib/locale.in.h (setlocale): New declaration.
20007         * lib/setlocale.c: New file, based on
20008         gettext/gettext-runtime/intl/setlocale.c.
20009         * m4/setlocale.m4: New file.
20010         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
20011         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
20012         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
20013         REPLACE_SETLOCALE.
20014         * modules/setlocale: New file.
20015         * tests/test-locale-c++.cc: Test the declaration of setlocale.
20016         * doc/posix-functions/setlocale.texi: Mention the new module.
20017
20018 2011-02-11  Bruno Haible  <bruno@clisp.org>
20019
20020         Prepare for locale dependent tests on mingw.
20021         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
20022         because it has the wrong locale encoding.
20023         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
20024         French_France.1252 instead of "fr".
20025         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
20026         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
20027         because it has the wrong locale encoding.
20028         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
20029         native Windows, try Turkish_Turkey.65001.
20030         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
20031         Chinese_China.54936.
20032
20033         Prepare for locale dependent tests on mingw.
20034         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
20035         differently.
20036         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20037         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20038         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20039         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20040
20041 2011-02-11  Eric Blake  <eblake@redhat.com>
20042
20043         strptime: avoid compiler warnings
20044         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
20045         compiler warnings about dead code.
20046         Reported by Daniel P. Berrange.
20047
20048 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
20049
20050         doc: update users.txt
20051         * users.txt: Add rcs.
20052
20053 2011-02-10  John W. Eaton  <jwe@gnu.org>
20054
20055         doc: update users.txt
20056         * users.txt: Add octave.
20057
20058 2011-02-10  Jim Meyering  <meyering@redhat.com>
20059
20060         doc: update users.txt
20061         * users.txt: Add iwhd.
20062
20063 2011-02-09  Bruno Haible  <bruno@clisp.org>
20064
20065         gnulib-tool: Make copyright notice adjustment more robust.
20066         * gnulib-tool (func_import): In sed_transform_main_lib_file,
20067         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
20068         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
20069         License".
20070         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
20071
20072 2011-02-06  Bruno Haible  <bruno@clisp.org>
20073
20074         New module 'towctrans'.
20075         * modules/towctrans: New file.
20076         * lib/wctype.in.h (towctrans): New declaration.
20077         * lib/towctrans.c: New file.
20078         * lib/towctrans-impl.h: New file.
20079         * m4/towctrans.m4: New file.
20080         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
20081         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
20082         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
20083         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
20084         * doc/posix-functions/towctrans.texi: Mention the new module.
20085
20086 2011-02-06  Bruno Haible  <bruno@clisp.org>
20087
20088         New module 'wctrans'.
20089         * modules/wctrans: New file.
20090         * lib/wctype.in.h (wctrans): New declaration.
20091         * lib/wctrans.c: New file.
20092         * lib/wctrans-impl.h: New file.
20093         * m4/wctrans.m4: New file.
20094         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
20095         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
20096         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
20097         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
20098         * doc/posix-functions/wctrans.texi: Mention the new module.
20099
20100 2011-02-06  Bruno Haible  <bruno@clisp.org>
20101
20102         New module 'iswctype'.
20103         * modules/iswctype: New file.
20104         * lib/wctype.in.h (iswctype): New declaration.
20105         * lib/iswctype.c: New file.
20106         * lib/iswctype-impl.h: New file.
20107         * m4/iswctype.m4: New file.
20108         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
20109         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
20110         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
20111         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
20112         * doc/posix-functions/iswctype.texi: Mention the new module and the
20113         HP-UX 11.00 problem.
20114
20115 2011-02-06  Bruno Haible  <bruno@clisp.org>
20116
20117         New module 'wctype'.
20118         * modules/wctype: Change to represent the wctype() substitute.
20119         * lib/wctype.in.h (wctype): New declaration.
20120         * lib/wctype.c: New file.
20121         * lib/wctype-impl.h: New file.
20122         * m4/wctype.m4: New file.
20123         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
20124         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
20125         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
20126         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
20127         * doc/posix-functions/wctype.texi: Mention the new module and the
20128         HP-UX 11.00 problem.
20129
20130 2011-02-06  Bruno Haible  <bruno@clisp.org>
20131
20132         wctype-h: Ensure wctype_t and wctrans_t are defined.
20133         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
20134         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20135         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20136         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
20137         HAVE_WCTRANS_T.
20138         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
20139
20140 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
20141
20142         flock: fix license typo
20143
20144         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
20145         omitted.
20146
20147 2011-02-08  Bruno Haible  <bruno@clisp.org>
20148
20149         Split large sed scripts, for HP-UX sed.
20150         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
20151         to avoid HP-UX limit of 99 commands, in the near future.
20152         * modules/stdlib (Makefile.am): Likewise.
20153         * modules/unistd (Makefile.am): Likewise.
20154         * modules/wchar (Makefile.am): Likewise.
20155         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20156         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
20157         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
20158
20159 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20160             Bruno Haible  <bruno@clisp.org>
20161
20162         stdlib: improve random_r modularization
20163         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
20164         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
20165         you also need the random_r module to get this material right.
20166         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
20167         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
20168         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
20169
20170 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20171
20172         stdlib: don't depend on stdint
20173         * lib/stdlib.in.h: Don't include <stdint.h> merely because
20174         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
20175         be independent of whether stdint.h is needed.
20176         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
20177         here, instead of ...
20178         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
20179         struct random_data should be using the random_r module, not just
20180         the stdlib module (which wouldn't make sense: what package needs
20181         just struct random_data without also needing random_r?).
20182         * modules/stdlib (Depends-on): Remove stdint.
20183
20184         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
20185         See the thread rooted at
20186         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
20187         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
20188         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
20189         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
20190         __VMS)); previously it was always included (via fcntl--.h).
20191         (getloadavg): Do not use c_strtod.  Instead, approximate it by
20192         hand; this is good enough for load averages.  Also, do not use
20193         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
20194         flags directly if available and don't bother otherwise.  (Packages
20195         that need the extra reliability should use the modules that define
20196         these flags on older platforms that lack them.)
20197         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
20198         fcntl-safer.
20199
20200 2011-02-08  Jim Meyering  <meyering@redhat.com>
20201
20202         di-set.h, ino-map.h: add multiple-inclusion guard
20203         Technically, the guard is required only for ino-map.h, due to its
20204         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
20205         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
20206         * lib/ino-map.h: Likewise.
20207
20208 2011-02-06  Bruno Haible  <bruno@clisp.org>
20209
20210         iswblank: Ensure declaration on glibc systems.
20211         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
20212         * modules/iswblank (Dependencies): Add 'extensions'.
20213         * doc/posix-functions/iswblank.texi: Document the glibc problem.
20214
20215 2011-02-06  Bruno Haible  <bruno@clisp.org>
20216
20217         New module 'iswblank'.
20218         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
20219         * modules/iswblank: New file.
20220         * modules/wctype-h (Files): Remove lib/iswblank.c.
20221         (Makefile.am): Substitute GNULIB_ISWBLANK.
20222         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
20223         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
20224         (gl_WCTYPE_H_DEFAULTS): New macro.
20225         (gl_WCTYPE_H): Require it. Remove iswblank related code.
20226         * modules/iswblank-tests: New file.
20227         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
20228         * tests/test-wctype-h.c (main): Remove iswblank tests.
20229         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
20230         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
20231         of 'wctype-h'.
20232         * NEWS: Mention the change.
20233         * modules/mbchar (Depends-on): Add iswblank.
20234
20235 2011-02-08  Bruno Haible  <bruno@clisp.org>
20236
20237         di-set tests: Refactor.
20238         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
20239         unnecessary includes.
20240         (ASSERT): Remove macro.
20241         (main): Make C90 compliant by avoiding variable declaration after
20242         statement.
20243         * modules/di-set-tests (Files): Add tests/macros.h.
20244
20245 2011-02-08  Bruno Haible  <bruno@clisp.org>
20246
20247         ino-map tests: Refactor.
20248         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
20249         unnecessary includes.
20250         (ASSERT): Remove macro.
20251         (main): Make C90 compliant by avoiding variable declaration after
20252         statement.
20253         * modules/ino-map-tests (Files): Add tests/macros.h.
20254
20255 2011-02-08  Jim Meyering  <meyering@redhat.com>
20256
20257         di-set: add "const" to a cast
20258         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
20259         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
20260
20261 2011-02-06  Bruno Haible  <bruno@clisp.org>
20262
20263         Rename module 'wctype' to 'wctype-h'.
20264         * modules/wctype-h: Renamed from modules/wctype.
20265         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
20266         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
20267         (Files, Depends-on, Makefile.am): Update.
20268         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
20269         (Files, Makefile.am): Update.
20270         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
20271         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
20272         * doc/posix-headers/wctype.texi: Update.
20273         * doc/posix-functions/iswalnum.texi: Update.
20274         * doc/posix-functions/iswalpha.texi: Update.
20275         * doc/posix-functions/iswblank.texi: Update.
20276         * doc/posix-functions/iswcntrl.texi: Update.
20277         * doc/posix-functions/iswdigit.texi: Update.
20278         * doc/posix-functions/iswgraph.texi: Update.
20279         * doc/posix-functions/iswlower.texi: Update.
20280         * doc/posix-functions/iswprint.texi: Update.
20281         * doc/posix-functions/iswpunct.texi: Update.
20282         * doc/posix-functions/iswspace.texi: Update.
20283         * doc/posix-functions/iswupper.texi: Update.
20284         * doc/posix-functions/iswxdigit.texi: Update.
20285         * doc/posix-functions/towlower.texi: Update.
20286         * doc/posix-functions/towupper.texi: Update.
20287         * NEWS: Mention the change.
20288         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
20289         * modules/mbchar (Dependencies): Likewise.
20290         * modules/mbswidth (Dependencies): Likewise.
20291         * modules/quotearg (Dependencies): Likewise.
20292         * modules/regex (Dependencies): Likewise.
20293         * modules/wcscasecmp (Dependencies): Likewise.
20294         * modules/wcsncasecmp (Dependencies): Likewise.
20295         * modules/wcwidth (Dependencies): Likewise.
20296
20297 2011-02-06  Bruno Haible  <bruno@clisp.org>
20298
20299         New module 'wcswidth'.
20300         * modules/wcswidth: New file.
20301         * lib/wchar.in.h (wcswidth): New declaration.
20302         * lib/wcswidth.c: New file.
20303         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
20304         * m4/wcswidth.m4: New file.
20305         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
20306         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
20307         REPLACE_WCSWIDTH.
20308         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
20309         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
20310         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
20311         * doc/posix-functions/wcswidth.texi: Mention the new module.
20312
20313 2011-02-06  Bruno Haible  <bruno@clisp.org>
20314
20315         New module 'wcstok'.
20316         * modules/wcstok: New file.
20317         * lib/wchar.in.h (wcstok): New declaration.
20318         * lib/wcstok.c: New file.
20319         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
20320         * m4/wcstok.m4: New file.
20321         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
20322         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
20323         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
20324         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
20325         * doc/posix-functions/wcstok.texi: Mention the new module.
20326
20327 2011-02-06  Bruno Haible  <bruno@clisp.org>
20328
20329         New module 'wcsstr'.
20330         * modules/wcsstr: New file.
20331         * lib/wchar.in.h (wcsstr): New declaration.
20332         * lib/wcsstr.c: New file.
20333         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
20334         * m4/wcsstr.m4: New file.
20335         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
20336         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
20337         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
20338         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
20339         * doc/posix-functions/wcsstr.texi: Mention the new module.
20340
20341 2011-02-06  Bruno Haible  <bruno@clisp.org>
20342
20343         New module 'wcspbrk'.
20344         * modules/wcspbrk: New file.
20345         * lib/wchar.in.h (wcspbrk): New declaration.
20346         * lib/wcspbrk.c: New file.
20347         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
20348         * m4/wcspbrk.m4: New file.
20349         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
20350         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
20351         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
20352         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
20353         * doc/posix-functions/wcspbrk.texi: Mention the new module.
20354
20355 2011-02-06  Bruno Haible  <bruno@clisp.org>
20356
20357         New module 'wcsspn'.
20358         * modules/wcsspn: New file.
20359         * lib/wchar.in.h (wcsspn): New declaration.
20360         * lib/wcsspn.c: New file.
20361         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
20362         * m4/wcsspn.m4: New file.
20363         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
20364         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
20365         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
20366         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
20367         * doc/posix-functions/wcsspn.texi: Mention the new module.
20368
20369 2011-02-06  Bruno Haible  <bruno@clisp.org>
20370
20371         New module 'wcscspn'.
20372         * modules/wcscspn: New file.
20373         * lib/wchar.in.h (wcscspn): New declaration.
20374         * lib/wcscspn.c: New file.
20375         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
20376         * m4/wcscspn.m4: New file.
20377         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
20378         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
20379         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
20380         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
20381         * doc/posix-functions/wcscspn.texi: Mention the new module.
20382
20383 2011-02-06  Bruno Haible  <bruno@clisp.org>
20384
20385         New module 'wcsrchr'.
20386         * modules/wcsrchr: New file.
20387         * lib/wchar.in.h (wcsrchr): New declaration.
20388         * lib/wcsrchr.c: New file.
20389         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
20390         * m4/wcsrchr.m4: New file.
20391         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
20392         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
20393         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
20394         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
20395         * doc/posix-functions/wcsrchr.texi: Mention the new module.
20396
20397 2011-02-06  Bruno Haible  <bruno@clisp.org>
20398
20399         New module 'wcschr'.
20400         * modules/wcschr: New file.
20401         * lib/wchar.in.h (wcschr): New declaration.
20402         * lib/wcschr.c: New file.
20403         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
20404         * m4/wcschr.m4: New file.
20405         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
20406         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
20407         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
20408         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
20409         * doc/posix-functions/wcschr.texi: Mention the new module.
20410
20411 2011-02-06  Bruno Haible  <bruno@clisp.org>
20412
20413         New module 'wcsdup'.
20414         * modules/wcsdup: New file.
20415         * lib/wchar.in.h (wcsdup): New declaration.
20416         * lib/wcsdup.c: New file.
20417         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
20418         * m4/wcsdup.m4: New file.
20419         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
20420         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
20421         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
20422         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
20423         * doc/posix-functions/wcsdup.texi: Mention the new module.
20424
20425 2011-02-06  Bruno Haible  <bruno@clisp.org>
20426
20427         New module 'wcsxfrm'.
20428         * modules/wcsxfrm: New file.
20429         * lib/wchar.in.h (wcsxfrm): New declaration.
20430         * lib/wcsxfrm.c: New file.
20431         * lib/wcsxfrm-impl.h: New file.
20432         * m4/wcsxfrm.m4: New file.
20433         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
20434         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
20435         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
20436         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
20437         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
20438
20439 2011-02-06  Bruno Haible  <bruno@clisp.org>
20440
20441         New module 'wcscoll'.
20442         * modules/wcscoll: New file.
20443         * lib/wchar.in.h (wcscoll): New declaration.
20444         * lib/wcscoll.c: New file.
20445         * lib/wcscoll-impl.h: New file.
20446         * m4/wcscoll.m4: New file.
20447         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
20448         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
20449         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
20450         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
20451         * doc/posix-functions/wcscoll.texi: Mention the new module.
20452
20453 2011-02-06  Bruno Haible  <bruno@clisp.org>
20454
20455         New module 'wcsncasecmp'.
20456         * modules/wcsncasecmp: New file.
20457         * lib/wchar.in.h (wcsncasecmp): New declaration.
20458         * lib/wcsncasecmp.c: New file.
20459         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
20460         * m4/wcsncasecmp.m4: New file.
20461         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
20462         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
20463         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
20464         HAVE_WCSNCASECMP.
20465         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
20466         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
20467
20468 2011-02-06  Bruno Haible  <bruno@clisp.org>
20469
20470         New module 'wcscasecmp'.
20471         * modules/wcscasecmp: New file.
20472         * lib/wchar.in.h (wcscasecmp): New declaration.
20473         * lib/wcscasecmp.c: New file.
20474         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
20475         * m4/wcscasecmp.m4: New file.
20476         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
20477         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
20478         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
20479         HAVE_WCSCASECMP.
20480         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
20481         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
20482
20483 2011-02-05  Bruno Haible  <bruno@clisp.org>
20484
20485         New module 'wcsncmp'.
20486         * modules/wcsncmp: New file.
20487         * lib/wchar.in.h (wcsncmp): New declaration.
20488         * lib/wcsncmp.c: New file.
20489         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
20490         * m4/wcsncmp.m4: New file.
20491         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
20492         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
20493         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
20494         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
20495         * doc/posix-functions/wcsncmp.texi: Mention the new module.
20496
20497 2011-02-05  Bruno Haible  <bruno@clisp.org>
20498
20499         New module 'wcscmp'.
20500         * modules/wcscmp: New file.
20501         * lib/wchar.in.h (wcscmp): New declaration.
20502         * lib/wcscmp.c: New file.
20503         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
20504         * m4/wcscmp.m4: New file.
20505         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
20506         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
20507         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
20508         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
20509         * doc/posix-functions/wcscmp.texi: Mention the new module.
20510
20511 2011-02-05  Bruno Haible  <bruno@clisp.org>
20512
20513         New module 'wcsncat'.
20514         * modules/wcsncat: New file.
20515         * lib/wchar.in.h (wcsncat): New declaration.
20516         * lib/wcsncat.c: New file.
20517         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
20518         * m4/wcsncat.m4: New file.
20519         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
20520         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
20521         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
20522         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
20523         * doc/posix-functions/wcsncat.texi: Mention the new module.
20524
20525 2011-02-05  Bruno Haible  <bruno@clisp.org>
20526
20527         New module 'wcscat'.
20528         * modules/wcscat: New file.
20529         * lib/wchar.in.h (wcscat): New declaration.
20530         * lib/wcscat.c: New file.
20531         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
20532         * m4/wcscat.m4: New file.
20533         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
20534         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
20535         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
20536         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
20537         * doc/posix-functions/wcscat.texi: Mention the new module.
20538
20539 2011-02-05  Bruno Haible  <bruno@clisp.org>
20540
20541         New module 'wcpncpy'.
20542         * modules/wcpncpy: New file.
20543         * lib/wchar.in.h (wcpncpy): New declaration.
20544         * lib/wcpncpy.c: New file.
20545         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
20546         * m4/wcpncpy.m4: New file.
20547         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
20548         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
20549         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
20550         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
20551         * doc/posix-functions/wcpncpy.texi: Mention the new module.
20552
20553 2011-02-05  Bruno Haible  <bruno@clisp.org>
20554
20555         New module 'wcsncpy'.
20556         * modules/wcsncpy: New file.
20557         * lib/wchar.in.h (wcsncpy): New declaration.
20558         * lib/wcsncpy.c: New file.
20559         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
20560         * m4/wcsncpy.m4: New file.
20561         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
20562         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
20563         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
20564         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
20565         * doc/posix-functions/wcsncpy.texi: Mention the new module.
20566
20567 2011-02-05  Bruno Haible  <bruno@clisp.org>
20568
20569         New module 'wcpcpy'.
20570         * modules/wcpcpy: New file.
20571         * lib/wchar.in.h (wcpcpy): New declaration.
20572         * lib/wcpcpy.c: New file.
20573         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
20574         * m4/wcpcpy.m4: New file.
20575         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
20576         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
20577         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
20578         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
20579         * doc/posix-functions/wcpcpy.texi: Mention the new module.
20580
20581 2011-02-05  Bruno Haible  <bruno@clisp.org>
20582
20583         New module 'wcscpy'.
20584         * modules/wcscpy: New file.
20585         * lib/wchar.in.h (wcscpy): New declaration.
20586         * lib/wcscpy.c: New file.
20587         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
20588         * m4/wcscpy.m4: New file.
20589         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
20590         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
20591         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
20592         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
20593         * doc/posix-functions/wcscpy.texi: Mention the new module.
20594
20595 2011-02-05  Bruno Haible  <bruno@clisp.org>
20596
20597         New module 'wcsnlen'.
20598         * modules/wcsnlen: New file.
20599         * lib/wchar.in.h (wcsnlen): New declaration.
20600         * lib/wcsnlen.c: New file.
20601         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
20602         * m4/wcsnlen.m4: New file.
20603         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
20604         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
20605         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
20606         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
20607         * doc/posix-functions/wcsnlen.texi: Mention the new module.
20608
20609 2011-02-05  Bruno Haible  <bruno@clisp.org>
20610
20611         New module 'wcslen'.
20612         * modules/wcslen: New file.
20613         * lib/wchar.in.h (wcslen): New declaration.
20614         * lib/wcslen.c: New file.
20615         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
20616         * m4/wcslen.m4: New file.
20617         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
20618         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
20619         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
20620         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
20621         * doc/posix-functions/wcslen.texi: Mention the new module.
20622
20623 2011-02-05  Bruno Haible  <bruno@clisp.org>
20624
20625         New module 'wmemset'.
20626         * modules/wmemset: New file.
20627         * lib/wchar.in.h (wmemset): New declaration.
20628         * lib/wmemset.c: New file.
20629         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
20630         * m4/wmemset.m4: New file.
20631         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
20632         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
20633         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
20634         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
20635         * doc/posix-functions/wmemset.texi: Mention the new module.
20636
20637 2011-02-05  Bruno Haible  <bruno@clisp.org>
20638
20639         New module 'wmemmove'.
20640         * modules/wmemmove: New file.
20641         * lib/wchar.in.h (wmemmove): New declaration.
20642         * lib/wmemmove.c: New file.
20643         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
20644         * m4/wmemmove.m4: New file.
20645         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
20646         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
20647         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
20648         HAVE_WMEMMOVE.
20649         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
20650         * doc/posix-functions/wmemmove.texi: Mention the new module.
20651
20652 2011-02-05  Bruno Haible  <bruno@clisp.org>
20653
20654         New module 'wmemcpy'.
20655         * modules/wmemcpy: New file.
20656         * lib/wchar.in.h (wmemcpy): New declaration.
20657         * lib/wmemcpy.c: New file.
20658         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
20659         * m4/wmemcpy.m4: New file.
20660         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
20661         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
20662         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
20663         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
20664         * doc/posix-functions/wmemcpy.texi: Mention the new module.
20665
20666 2011-02-05  Bruno Haible  <bruno@clisp.org>
20667
20668         New module 'wmemcmp'.
20669         * modules/wmemcmp: New file.
20670         * lib/wchar.in.h (wmemcmp): New declaration.
20671         * lib/wmemcmp.c: New file.
20672         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
20673         * m4/wmemcmp.m4: New file.
20674         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
20675         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
20676         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
20677         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
20678         * doc/posix-functions/wmemcmp.texi: Mention the new module.
20679
20680 2011-02-07  Jim Meyering  <meyering@redhat.com>
20681
20682         di-set, ino-map: new modules, from coreutils
20683         * lib/di-set.c: New file.
20684         * lib/di-set.h: Likewise.
20685         * lib/ino-map.c: Likewise.
20686         * lib/ino-map.h: Likewise.
20687         * modules/di-set: Likewise.
20688         * modules/di-set-tests: Likewise.
20689         * modules/ino-map: Likewise.
20690         * modules/ino-map-tests: Likewise.
20691         * tests/test-di-set.c: Likewise.
20692         * tests/test-ino-map.c: Likewise.
20693
20694 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
20695
20696         getloadavg: merge minor changes from Emacs
20697
20698         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
20699         (getloadavg): Use memset, not bzero.
20700
20701         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
20702         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
20703         clash (bug#86).
20704
20705 2010-11-14  Bruno Haible  <bruno@clisp.org>
20706
20707         Allow multiple gnulib generated replacements to coexist.
20708         * lib/getopt.in.h (struct option): Avoid identical redefinition.
20709         * lib/inttypes.in.h (imaxdiv_t): Likewise.
20710         * lib/langinfo.in.h (nl_item): Likewise.
20711         * lib/math.in.h (_NaN, NAN): Likewise.
20712         * lib/netdb.in.h (struct addrinfo): Likewise.
20713         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
20714         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
20715         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
20716         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
20717         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
20718         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
20719         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
20720         pthread_mutexattr_init, pthread_mutexattr_settype,
20721         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
20722         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
20723         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
20724         pthread_spin_trylock, pthread_spin_unlock): Likewise.
20725         * lib/sched.in.h (struct sched_param): Likewise.
20726         * lib/se-selinux.in.h (security_class_t, security_context_t,
20727         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
20728         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
20729         lsetfilecon, fsetfilecon, security_check_context,
20730         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
20731         Likewise.
20732         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
20733         Likewise.
20734         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
20735         _gl_function_taking_int_returning_void_t, union sigval,
20736         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
20737         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
20738         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
20739         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
20740         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
20741         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
20742         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
20743         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
20744         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
20745         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
20746         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
20747         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
20748         socklen_t, rpl_fd_isset): Likewise.
20749         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
20750         * lib/sys_time.in.h (struct timeval): Likewise.
20751         * lib/sys_times.in.h (struct tms): Likewise.
20752         * lib/sys_utsname.in.h (struct utsname):
20753         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
20754         * lib/unistd.in.h (getpagesize): Likewise.
20755         * lib/wchar.in.h (mbstate_t): Likewise.
20756         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
20757         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
20758         towlower, towupper): Likewise.
20759         Reported by Sam Steingold <sds@gnu.org>.
20760
20761 2011-02-05  Eric Blake  <eblake@redhat.com>
20762
20763         unsetenv: work around Haiku issues
20764         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
20765         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
20766
20767 2010-12-30  Bruce Korb  <bkorb@gnu.org>
20768
20769         libposix: avoid calling error() within libposix
20770         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
20771         is defined.
20772
20773 2011-02-05  Eric Blake  <eblake@redhat.com>
20774
20775         strerror_r-posix: port to cygwin
20776         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
20777         implementation.
20778         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
20779         * tests/test-strerror_r.c (main): Fix test.
20780         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
20781         issue.
20782
20783 2011-02-05  Bruno Haible  <bruno@clisp.org>
20784
20785         New module 'wmemchr'.
20786         * modules/wmemchr: New file.
20787         * lib/wchar.in.h (wmemchr): New declaration.
20788         * lib/wmemchr.c: New file.
20789         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
20790         * m4/wmemchr.m4: New file.
20791         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
20792         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
20793         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
20794         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
20795         * doc/posix-functions/wmemchr.texi: Mention the new module.
20796
20797 2011-02-04  Eric Blake  <eblake@redhat.com>
20798
20799         fdopendir: detect FreeBSD bug
20800         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
20801         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
20802
20803 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
20804
20805         stdbool: do not define HAVE_STDBOOL_H
20806         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
20807         AC_HEADER_STDBOOL.  All uses changed.  Do not define
20808         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
20809         imported from the latest Autoconf git.  It was motivated by Emacs,
20810         which uses gnulib but does not need HAVE_STDBOOL_H.
20811
20812 2011-02-04  Bruno Haible  <bruno@clisp.org>
20813
20814         wcsnrtombs: Prepare for new module wwcsnrtombs.
20815         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
20816         * lib/wcsnrtombs.c: Include it.
20817         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
20818
20819         wcsrtombs: Prepare for new module wwcsrtombs.
20820         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
20821         * lib/wcsrtombs.c: Include it.
20822         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
20823
20824         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
20825         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
20826         * lib/mbsnrtowcs.c: Include it.
20827         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
20828
20829         mbsrtowcs: Prepare for new module mbsrtowwcs.
20830         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
20831         * lib/mbsrtowcs.c: Include it.
20832         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
20833
20834 2011-02-04  Bruno Haible  <bruno@clisp.org>
20835
20836         vasnprintf: Reduce use of malloc for small format strings.
20837         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
20838         (arguments): Add room for the first 7 arguments.
20839         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
20840         (char_directives, u8_directives, u16_directives, u32_directives): Add
20841         room for the first 7 directives.
20842         * lib/printf-parse.c: Include <string.h>.
20843         (PRINTF_PARSE): Change memory handling code so that it uses the first
20844         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
20845         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
20846         Reported by Pádraig Brady <P@draigbrady.com>.
20847
20848 2011-01-31  Eric Blake  <eblake@redhat.com>
20849
20850         dup2: work around Haiku bug
20851         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
20852         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
20853         * doc/posix-functions/dup2.texi (dup2): Document the bug.
20854         * tests/test-dup2.c (main): Enhance test.
20855
20856 2011-01-31  Simon Josefsson  <simon@josefsson.org>
20857
20858         doc: off_t is not available in eglibc 2.11.2 stdio.h.
20859         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
20860         declared by eglibc 2.11.2.
20861         * lib/stdio.in.h: Likewise.
20862
20863 2011-01-31  Eric Blake  <eblake@redhat.com>
20864
20865         ignore-value: add missing test dependency
20866         * tests/test-ignore-value.c: Revert previous change; stdio.h
20867         provides off_t.
20868         * modules/ignore-value-tests (Depends-on): Add missing dependency.
20869
20870 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
20871
20872         mktime: clarify long_int width checking
20873         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
20874         the top level, to make it clearer that the assumption about
20875         long_int width is being checked.  See
20876         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
20877
20878 2011-01-30  Simon Josefsson  <simon@josefsson.org>
20879
20880         ignore-value: Fix self-test.
20881         * tests/test-ignore-value.c: Include sys/types.h for off_t.
20882
20883 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
20884
20885         TYPE_MAXIMUM: avoid theoretically undefined behavior
20886         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
20887         negative number, which the C Standard says has undefined behavior.
20888         In practice this is not a problem, but might as well do it by the book.
20889         Reported by Rich Felker and Eric Blake; see
20890         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
20891         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
20892         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20893         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20894         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
20895         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20896         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
20897
20898         mktime: #undef mktime before #defining it
20899         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
20900
20901         mktime: systematically normalize tm_isdst comparisons
20902         * lib/mktime.c (isdst_differ): New function.
20903         (__mktime_internal): Use it systematically for all isdst comparisons.
20904         This completes the fix for libc BZ #6723, and removes the need for
20905         normalizing tm_isdst.  See
20906         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
20907         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
20908
20909         mktime: fix some integer overflow issues and sidestep the rest
20910
20911         This was prompted by a bug report by Benjamin Lindner for MinGW
20912         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
20913         His bug is due to signed integer overflow (0 - INT_MIN), and I
20914         I scanned through mktime.c looking for other integer overflow
20915         problems, fixing all the bugs I found.
20916
20917         Although the C Standard says the resulting code is still not safe
20918         in the presence of integer overflow, in practice it should be good
20919         enough for all real-world two's-complement implementations, except
20920         for debugging environments that deliberately trap on integer
20921         overflow (e.g., gcc -ftrapv).
20922
20923         * lib/mktime.c (WRAPV): New macro.
20924         (SHR): Also check that long_int and time_t shift right in the
20925         usual way, before using the fast-but-unportable method.
20926         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
20927         used.  The code already assumed two's complement, so there's
20928         no need to test for alternatives.  All uses removed.
20929         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
20930         the C standard.  Problem reported by Rich Felker in
20931         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
20932         (twos_complement_arithmetic): Also check long_int and time_t.
20933         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
20934         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
20935         (__mktime_internal): Avoid integer overflow with unary subtraction
20936         in two instances where -1 - X is an adequate replacement for -X,
20937         since the calculations are approximate.
20938
20939 2011-01-29  Eric Blake  <eblake@redhat.com>
20940
20941         mktime: avoid infinite loop
20942         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
20943         type; behavior is still undefined but portable to all known targets.
20944         Reported by Rich Felker.
20945
20946 2011-01-29  Simon Josefsson  <simon@josefsson.org>
20947
20948         rename, unlink, same-inode: Relicense.
20949         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
20950         * modules/unlink (License): Likewise.
20951         * modules/same-inode (License): Likewise.
20952
20953 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20954
20955         mktime: avoid problems on NetBSD 5 / i386
20956         * lib/mktime.c (long_int): New type.  This works around a problem
20957         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
20958         but time_t is 64 bits, and where I expect the existing code is
20959         wrong in some cases.
20960         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
20961         (ydhms_diff): Bring back the compile-time check for wide-enough
20962         year and yday.
20963
20964         mktime: fix misspelling in comment
20965         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
20966         This merges all recent glibc changes of importance.
20967
20968 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20969
20970         move-if-change: cope with concurrent mv of identical file.
20971         * build-aux/move-if-change (CMPPROG): Accept environment
20972         variable as an override for `cmp'.
20973         (usage): Document CMPPROG.
20974         Adjust comparison to drop stdout.  Cope with failure of mv if
20975         the target file exists and is identical to the source, for
20976         parallel builds.
20977         Report from H.J. Lu against binutils in PR binutils/12283.
20978
20979 2011-01-28  Bruce Korb  <bkorb@gnu.org>
20980
20981         * users.txt: Mention sharutils.
20982
20983 2011-01-28  Simon Josefsson  <simon@josefsson.org>
20984
20985         * users.txt: Mention OATH Toolkit.
20986
20987 2011-01-27  Bruno Haible  <bruno@clisp.org>
20988
20989         Prepare for supporting FreeBSD 10.
20990         * build-aux/config.libpath: Remove handling of freebsd1*.
20991
20992 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
20993
20994         Prepare for supporting FreeBSD 10.
20995         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
20996         match FreeBSD 10.0.
20997
20998 2011-01-27  Bruno Haible  <bruno@clisp.org>
20999
21000         vma-iter, get-rusage-as: Add OpenBSD support.
21001         * modules/vma-iter (configure.ac): Test for mquery.
21002         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
21003         * lib/vma-iter.c: Include <sys/mman.h>.
21004         (vma_iterate): Add an implementation based on mquery().
21005         * lib/resource-ext.h (get_rusage_as): Update comments.
21006         * lib/get-rusage-as.c: Likewise.
21007         * lib/get-rusage-data.c: Likewise.
21008
21009 2011-01-26  Karl Berry  <karl@gnu.org>
21010
21011         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
21012         variables to make it easier to override the makeinfo program used.
21013
21014 2011-01-26  Eric Blake  <eblake@redhat.com>
21015
21016         fcntl: work around Haiku F_DUPFD bugs
21017         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
21018         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
21019         cloexec bit on duplication.
21020         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
21021
21022 2011-01-26  Bruno Haible  <bruno@clisp.org>
21023
21024         Enable memory leak tests on AIX.
21025         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
21026         * tests/test-fprintf-posix3.c (main): Likewise.
21027
21028 2011-01-26  Bruno Haible  <bruno@clisp.org>
21029
21030         Tests for module 'get-rusage-data'.
21031         * modules/get-rusage-data-tests: New file.
21032         * tests/test-get-rusage-data.c: New file.
21033
21034         New module 'get-rusage-data'.
21035         * lib/resource-ext.h (get_rusage_data): New declaration.
21036         * lib/get-rusage-data.c: New file.
21037         * modules/get-rusage-data: New file.
21038
21039 2011-01-25  Bruno Haible  <bruno@clisp.org>
21040
21041         get-rusage-as: Allow for easier testing.
21042         * lib/resource-ext.h (get_rusage_as): Add comment.
21043         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
21044         (main): New function for interactive testing.
21045
21046 2011-01-25  Bruno Haible  <bruno@clisp.org>
21047
21048         vma-iter: Treat Haiku like BeOS.
21049         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
21050         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
21051
21052 2011-01-25  Eric Blake  <eblake@redhat.com>
21053
21054         c-stack: fix regression on cygwin when libsigsegv is present
21055         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
21056
21057 2011-01-24  Bruno Haible  <bruno@clisp.org>
21058
21059         vma-iter: Avoid empty intervals.
21060         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
21061         on an empty interval.
21062
21063 2011-01-24  Jim Meyering  <meyering@redhat.com>
21064
21065         u64: remove unnecessary #include
21066         * lib/u64.h: Don't include <stddef.h>.  It was not used.
21067
21068 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21069
21070         Allow the user to avoid the HAVE_RAW_DECL_* macros.
21071         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
21072
21073 2011-01-23  Bruno Haible  <bruno@clisp.org>
21074
21075         New module 'vma-iter'.
21076         * lib/vma-iter.h: New file.
21077         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
21078         * modules/vma-iter: New file.
21079         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
21080         for get_rusage_as_via_iterator.
21081         (vma_iterate_callback): New function.
21082         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
21083         * modules/get-rusage-as (Depends-on): Add vma-iter.
21084
21085 2011-01-23  Bruno Haible  <bruno@clisp.org>
21086
21087         uninorm: Tweak includes.
21088         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
21089         Reported by Jim Meyering.
21090
21091 2011-01-23  Bruno Haible  <bruno@clisp.org>
21092
21093         get-rusage-as: Improve on NetBSD.
21094         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
21095         /proc, like on FreeBSD.
21096
21097 2011-01-23  Jim Meyering  <meyering@redhat.com>
21098
21099         xreadlink.h: remove unnecessary #include
21100         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
21101
21102         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
21103         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
21104
21105 2011-01-23  Bruno Haible  <bruno@clisp.org>
21106
21107         get-rusage-as: Fix bug.
21108         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
21109         original limit when aborting the first loop.
21110
21111 2011-01-23  Bruno Haible  <bruno@clisp.org>
21112
21113         wctype: Ensure valid C syntax.
21114         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
21115         unconditionally, instead of gl_NEXT_HEADERS conditionally.
21116
21117 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
21118
21119         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
21120         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
21121         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
21122         as they are needed only for configure's test case.
21123         This removes two unnecessary symbols from config.h.
21124
21125         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
21126         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
21127         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
21128         AC_CHECK_HEADERS_ONCE on a header that we also invoke
21129         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
21130         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
21131         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
21132         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
21133         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21134         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21135         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
21136         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21137         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21138         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21139         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
21140         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21141         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21142         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21143
21144 2011-01-21  Eric Blake  <eblake@redhat.com>
21145
21146         maintainer-makefile: work with older git for submodule check
21147         * top/maint.mk (public-submodule-commit): Rewrite to avoid
21148         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
21149         Reported by Matthias Bolte.
21150
21151         bootstrap: minor portability fixes
21152         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
21153         (usage): Omit leading capital and trailing . on help phrases, per
21154         GNU Coding Standards.
21155         (check_versions, top level): Prefix messages with script name.
21156
21157 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
21158
21159         bootstrap: support --no-git option
21160         * build-aux/bootstrap: Add --no-git option, to be used when
21161         --gnulib-srcdir points to the exact desired checkout.
21162
21163 2011-01-21  Eric Blake  <eblake@redhat.com>
21164
21165         strerror_r-posix: work with glibc 2.13
21166         * lib/strerror_r.c (strerror_r): Fix return type.
21167
21168 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21169             Bruno Haible  <bruno@clisp.org>
21170
21171         uN_strstr: New unit tests.
21172         * modules/unistr/u8-strstr-tests: New file.
21173         * modules/unistr/u16-strstr-tests: New file.
21174         * modules/unistr/u32-strstr-tests: New file.
21175         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
21176         * tests/unistr/test-u8-strstr.c: New file.
21177         * tests/unistr/test-u16-strstr.c: New file.
21178         * tests/unistr/test-u32-strstr.c: New file.
21179
21180 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21181             Bruno Haible  <bruno@clisp.org>
21182
21183         Make uN_strstr functions O(n) worst-case.
21184         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
21185         16-bit and 32-bit unit cases, use the unibyte algorithm from
21186         lib/mbsstr.c.
21187         * lib/unistr/u8-strstr.c: Include <string.h>.
21188         (UNIT_IS_UINT8_T): New macro.
21189         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
21190         (U_STRLEN, U_STRNLEN): New macros.
21191         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
21192         (U_STRLEN, U_STRNLEN): New macros.
21193         * modules/unistr/u8-strstr (Depends-on): Add strstr.
21194         (configure.ac): Update required libunistring version.
21195         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
21196         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
21197         malloca.
21198         (configure.ac): Update required libunistring version.
21199         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
21200         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
21201         malloca.
21202         (configure.ac): Update required libunistring version.
21203
21204 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21205             Bruno Haible  <bruno@clisp.org>
21206
21207         Prepare for faster uN_strstr functions.
21208         * lib/str-kmp.h: Support definable UNITs.
21209         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
21210         needle_len argument.
21211         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
21212         * lib/mbscasestr.c (mbscasestr): Likewise.
21213
21214 2011-01-21  Pádraig Brady <P@draigBrady.com>
21215
21216         malloca-tests: make faster by unsetting MALLOC_PERTURB_
21217         * tests/test-malloca.c (main): Unset the environment variable
21218         to greatly speed up the test.
21219         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
21220         * modules/malloca-tests: Depend on unsetenv.
21221
21222 2011-01-21  Pádraig Brady <P@draigBrady.com>
21223
21224         ignore-value: remove stdint dependency
21225         * lib/ignore-value.h: Remove <stdint.h>
21226         * modules/ignore-value: Remove stdint dependency.
21227
21228 2011-01-21  Jim Meyering  <meyering@redhat.com>
21229
21230         maint.mk: adjust variable name to be consistent with other gl_ vars
21231         * top/maint.mk (gl_public_submodule_commit): Rename the variable
21232         to be lower case.
21233
21234 2011-01-20  Jim Meyering  <meyering@redhat.com>
21235
21236         maint.mk: make "check" depend on public-submodule-commit by default
21237         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
21238
21239 2011-01-20  Bruno Haible  <bruno@clisp.org>
21240
21241         mbfile, mbiter: Complete change from 2008-12-21.
21242         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
21243         * m4/mbiter.m4 (gl_MBITER): Likewise.
21244
21245 2011-01-20  Jim Meyering  <meyering@redhat.com>
21246
21247         init.sh: insert space between each function name and "()"
21248         * tests/init.sh: Make it a little easier to see that a function's
21249         name is "warn_", and not "warn" when looking at the first part of
21250         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
21251
21252 2011-01-20  Jim Meyering  <meyering@redhat.com>
21253
21254         mountlist: clean up code formatting
21255         * lib/mountlist.c (read_file_system_list): Split a long line,
21256         correct bracing style, use NULL in place of "(struct statfs *)0",
21257         don't parenthesize return value, add spaces around "=" and after
21258         ";-in-for-stmt".
21259
21260 2011-01-14  Markus Duft <mduft@gentoo.org>
21261
21262         mountlist: add support for Interix
21263         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
21264         Apply statvfs to all entries of /dev/fs.
21265         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
21266         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
21267
21268 2011-01-20  Jim Meyering  <meyering@redhat.com>
21269
21270         maint.mk: improve the public-submodule-commit rule
21271         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
21272         to suppress printing of its commands... unless V=1.
21273         Add git submodule's --quiet option to suppress printing of e.g.,
21274         "Entering gnulib" output.
21275         "cd" into $(srcdir) before running git submodule.
21276
21277 2011-01-20  Bruno Haible  <bruno@clisp.org>
21278
21279         include_next: Fix bug introduced on 2011-01-18.
21280         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
21281         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
21282         ac_cv_header_... variable if the second argument is not 'check'.
21283         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
21284         gl_NEXT_HEADERS_INTERNAL.
21285
21286 2011-01-20  Bruno Haible  <bruno@clisp.org>
21287
21288         Allow the user to avoid the GNULIB_TEST_* macros.
21289         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
21290         Suggested by Paul Eggert.
21291
21292 2011-01-14  Jim Meyering  <meyering@redhat.com>
21293
21294         bootstrap: avoid failure when there is no .gitmodules file
21295         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
21296         has been assigned to, even when its value is the empty string.
21297         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
21298         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
21299         Reported by John W. Eaton <jwe@gnu.org>.
21300
21301 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
21302
21303         assume <ctype.h>, ..., <time.h> exist
21304         For years gnulib has been assuming the existence of the headers
21305         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
21306         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
21307         them, since they don't appear to be needed.
21308         * README (Portability guidelines): Document this.
21309         * lib/flock.c: Assume <fcntl.h> exists.
21310         * lib/regex_internal.h: Assume <locale.h> exists.
21311         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
21312         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
21313         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
21314         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
21315         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
21316         * m4/regex.m4 (gl_REGEX): Likewise.
21317         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
21318         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
21319         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
21320         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
21321         * tests/test-argp.c: Likewise.
21322         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
21323
21324         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
21325         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
21326         AA_APPLE_UNIVERSAL_BUILD.  See
21327         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
21328         * NEWS: Document this.
21329
21330 2011-01-19  Eric Blake  <eblake@redhat.com>
21331
21332         c-stack: assume stack overflow if SA_SIGINFO unsupported
21333         * lib/c-stack.c (SIGACTION_WORKS): Rename...
21334         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
21335         sigaction will work.
21336         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
21337         behavior match Linux.
21338         * tests/test-c-stack.c (main): Prefer NULL for pointers.
21339
21340         stdbool-tests: accomodate Haiku
21341         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
21342
21343         binary-io: fix O_TEXT on Haiku
21344         * modules/binary-io (Depends-on): Add fcntl-h.
21345         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
21346         than blindly undefining O_TEXT.
21347         Reported by Scott McCreary.
21348
21349 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21350
21351         include_next: do not check for standard headers like stddef.h
21352
21353         I found this problem when modifying Emacs to use gnulib.
21354         I noticed that it added HAVE_STDDEF_H to config.h, even though
21355         gnulib always assumes <stddef.h> exists as per README and this
21356         symbol is unnecessary.
21357         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
21358         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
21359         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
21360         faster for headers like stddef.h that are known to exist.
21361         (gl_CHECK_NEXT_HEADERS): Use it.
21362         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
21363         rather than gl_CHECK_NEXT_HEADERS.
21364         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
21365         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
21366
21367 2011-01-18  Eric Blake  <eblake@redhat.com>
21368
21369         ansi-c++-opt: skip C++ dependency style if C++ is unused
21370         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
21371         tests when we know C++ compilation is not desired.
21372         Reported by Scott McCreary.
21373
21374 2011-01-18  Bruno Haible  <bruno@clisp.org>
21375
21376         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
21377         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
21378         (main): Perform test also when getrlimit and setrlimit don't exist or
21379         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
21380         limiting the address space size using setrlimit, compare the address
21381         space size before and after the the test.
21382         * tests/test-dprintf-posix2.c: Likewise.
21383         * tests/test-fprintf-posix3.sh: Update skip messages.
21384         * tests/test-dprintf-posix2.sh: Likewise.
21385         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
21386         * modules/dprintf-posix-tests (Depends-on): Likewise.
21387         Reported by Bruce Korb <bkorb@gnu.org> and
21388         Gary V. Vaughan <gary@gnu.org>.
21389
21390 2011-01-18  Bruno Haible  <bruno@clisp.org>
21391
21392         get-rusage-as: Improvement for Cygwin.
21393         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
21394         areas that are merely reserved.
21395
21396 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21397
21398         strftime: remove dependencies on multibyte modules
21399
21400         strftime depended on mbrlen, mbsinit, and wchar, but these modules
21401         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
21402         only if __osf__ is defined, and I suspect OSF doesn't need these
21403         other modules.  If my guess is wrong, we'll need to come up with a
21404         variant of strftime that doesn't need the multibyte modules.
21405
21406         I discovered this problem when attempting modify Emacs to use the
21407         strftime module.  With the previous gnulib, this caused Emacs to
21408         need 31 new files, ranging from lib/config.charset to
21409         m4/wint_t.m4.  This was overkill and I expect would be offputting
21410         to the Emacs maintainers.  After this change, only 6 new files are
21411         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
21412         stdbool.m4, and tm_gmtoff.m4.
21413
21414         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
21415         Suggested by Bruno Haible in
21416         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
21417         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
21418         and do not check for wchar.h.
21419         * modules/strftime (Files): Remove m4/mbstate_t.m4.
21420         (Depends-on): Remove mbrlen, mbsinit, wchar.
21421
21422 2011-01-18  Bruno Haible  <bruno@clisp.org>
21423
21424         Tests for module 'get-rusage-as'.
21425         * modules/get-rusage-as-tests: New file.
21426         * tests/test-get-rusage-as.c: New file.
21427
21428         New module 'get-rusage-as'.
21429         * modules/get-rusage-as: New file.
21430         * lib/resource-ext.h: New file.
21431         * lib/get-rusage-as.c: New file.
21432
21433 2011-01-17  Eric Blake  <eblake@redhat.com>
21434
21435         sigaction: relax license from LGPLv3+ to LGPLv2+
21436         * modules/sigaction (License): Relax to LGPLv2+.
21437
21438 2011-01-14  Bruno Haible  <bruno@clisp.org>
21439
21440         filemode: Make function declarations usable in C++ mode.
21441         * lib/filemode.h: Enclose function declarations in extern "C" block.
21442         Reported by John W. Eaton <jwe@gnu.org>.
21443
21444 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
21445
21446         save-cwd: no longer include "xgetcwd.h"
21447         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
21448         This avoids a compilation failure in projects that use save-cwd
21449         without also using the xgetcwd module.
21450
21451 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21452
21453         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
21454         This is so that a program like Emacs, which needs only dtoastr,
21455         does not have to bother with distributing and compiling ftoastr
21456         and ldtoastr.
21457         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
21458         * modules/dtoastr, modules/ldtoastr: New files.
21459         * modules/ftoastr: Now works just for 'float'.
21460         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
21461         (Makefile.am): Remove ftoastr.h (not needed and no effect),
21462         dtoastr.c, ldtoastr.c.
21463
21464 2011-01-11  Jim Meyering  <meyering@redhat.com>
21465
21466         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
21467         There is no need to work around the lack of the fchdir function,
21468         since gnulib can now provide a replacement when required.
21469         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
21470         * modules/save-cwd (Depends-on): Add fchdir.
21471
21472 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21473
21474         openat, save-cwd: avoid xmalloc
21475
21476         This removes a direct (but undocumented) dependency of openat on
21477         xalloc, along with an indirect dependency via save-cwd.  It also
21478         removes a dependency of save-cwd on xgetcwd, and thereby
21479         indirectly on xalloc.  This change causes the openat substitute
21480         to fall back on save_cwd when memory is tight, and for save_cwd to
21481         fail instead of dying when memory is tight, but that's good enough.
21482         Problem and initial idea for fix reported by Bastien Roucaries in
21483         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
21484
21485         * lib/openat-proc.c: Include stdlib.h (for malloc), not
21486         xalloc.h (for xmalloc).
21487         (openat_proc_name): Use malloc, not xmalloc.
21488         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
21489         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
21490
21491         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
21492         This avoids heap allocation for file names whose lengths are in
21493         the range 512..1023, with the upper bound increasing to at most
21494         4031 depending on the platform's PATH_MAX.  (We do not want
21495         pathmax.h here as it might supply a non-constant PATH_MAX.)
21496         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
21497         Perhaps they should be moved to malloca.h?
21498         (OPENAT_BUFFER_SIZE): Use them.
21499
21500 2011-01-10  Bruno Haible  <bruno@clisp.org>
21501
21502         doc: Update users.txt.
21503         * users.txt: Add recutils.
21504
21505 2011-01-09  Karl Berry  <karl@gnu.org>
21506
21507         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
21508
21509         * doc/configmake.texi: New file.
21510         * doc/gnulib.texi: Include it.
21511         * modules/configmake: Move documentation from here.
21512
21513 2011-01-09  Bruno Haible  <bruno@clisp.org>
21514
21515         Update to Unicode 6.0.0.
21516         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
21517         (get_lbp): Update for Unicode 6.0.0.
21518         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
21519         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
21520         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
21521         U+11001, U+11038..U+11046. Remove U+06DE.
21522         (uc_width): Fix bounds of planes.
21523         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21524         lib/uniwidth/width.c.
21525         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
21526         trailing whitespace removed.
21527         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
21528         without comments, but with the original copyright notice.
21529         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
21530         * lib/unicase/ignorable.h: Likewise.
21531         * lib/unicase/tocasefold.h: Likewise.
21532         * lib/unicase/tolower.h: Likewise.
21533         * lib/unicase/totitle.h: Likewise.
21534         * lib/unicase/toupper.h: Likewise.
21535         * lib/unictype/bidi_of.h: Likewise.
21536         * lib/unictype/blocks.h: Likewise.
21537         * lib/unictype/categ_C.h: Likewise.
21538         * lib/unictype/categ_Cn.h: Likewise.
21539         * lib/unictype/categ_L.h: Likewise.
21540         * lib/unictype/categ_Ll.h: Likewise.
21541         * lib/unictype/categ_Lm.h: Likewise.
21542         * lib/unictype/categ_Lo.h: Likewise.
21543         * lib/unictype/categ_Lu.h: Likewise.
21544         * lib/unictype/categ_M.h: Likewise.
21545         * lib/unictype/categ_Mc.h: Likewise.
21546         * lib/unictype/categ_Me.h: Likewise.
21547         * lib/unictype/categ_Mn.h: Likewise.
21548         * lib/unictype/categ_N.h: Likewise.
21549         * lib/unictype/categ_Nd.h: Likewise.
21550         * lib/unictype/categ_No.h: Likewise.
21551         * lib/unictype/categ_P.h: Likewise.
21552         * lib/unictype/categ_Po.h: Likewise.
21553         * lib/unictype/categ_S.h: Likewise.
21554         * lib/unictype/categ_Sc.h: Likewise.
21555         * lib/unictype/categ_Sk.h: Likewise.
21556         * lib/unictype/categ_Sm.h: Likewise.
21557         * lib/unictype/categ_So.h: Likewise.
21558         * lib/unictype/categ_of.h: Likewise.
21559         * lib/unictype/combining.h: Likewise.
21560         * lib/unictype/ctype_alnum.h: Likewise.
21561         * lib/unictype/ctype_alpha.h: Likewise.
21562         * lib/unictype/ctype_graph.h: Likewise.
21563         * lib/unictype/ctype_lower.h: Likewise.
21564         * lib/unictype/ctype_print.h: Likewise.
21565         * lib/unictype/ctype_punct.h: Likewise.
21566         * lib/unictype/ctype_upper.h: Likewise.
21567         * lib/unictype/decdigit.h: Likewise.
21568         * lib/unictype/digit.h: Likewise.
21569         * lib/unictype/numeric.h: Likewise.
21570         * lib/unictype/pr_alphabetic.h: Likewise.
21571         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21572         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21573         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21574         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21575         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21576         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21577         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21578         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21579         * lib/unictype/pr_case_ignorable.h: Likewise.
21580         * lib/unictype/pr_cased.h: Likewise.
21581         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
21582         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
21583         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
21584         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
21585         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
21586         * lib/unictype/pr_combining.h: Likewise.
21587         * lib/unictype/pr_composite.h: Likewise.
21588         * lib/unictype/pr_currency_symbol.h: Likewise.
21589         * lib/unictype/pr_decimal_digit.h: Likewise.
21590         * lib/unictype/pr_deprecated.h: Likewise.
21591         * lib/unictype/pr_format_control.h: Likewise.
21592         * lib/unictype/pr_grapheme_base.h: Likewise.
21593         * lib/unictype/pr_grapheme_extend.h: Likewise.
21594         * lib/unictype/pr_grapheme_link.h: Likewise.
21595         * lib/unictype/pr_id_continue.h: Likewise.
21596         * lib/unictype/pr_id_start.h: Likewise.
21597         * lib/unictype/pr_ideographic.h: Likewise.
21598         * lib/unictype/pr_lowercase.h: Likewise.
21599         * lib/unictype/pr_math.h: Likewise.
21600         * lib/unictype/pr_numeric.h: Likewise.
21601         * lib/unictype/pr_other_alphabetic.h: Likewise.
21602         * lib/unictype/pr_other_id_continue.h: Likewise.
21603         * lib/unictype/pr_other_math.h: Likewise.
21604         * lib/unictype/pr_punctuation.h: Likewise.
21605         * lib/unictype/pr_sentence_terminal.h: Likewise.
21606         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21607         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21608         * lib/unictype/pr_unified_ideograph.h: Likewise.
21609         * lib/unictype/pr_uppercase.h: Likewise.
21610         * lib/unictype/pr_xid_continue.h: Likewise.
21611         * lib/unictype/pr_xid_start.h: Likewise.
21612         * lib/unictype/scripts.h: Likewise.
21613         * lib/unictype/scripts_byname.gperf: Likewise.
21614         * lib/unictype/sy_java_ident.h: Likewise.
21615         * lib/unigbrk/gbrkprop.h: Likewise.
21616         * lib/unilbrk/lbrkprop1.h: Likewise.
21617         * lib/unilbrk/lbrkprop2.h: Likewise.
21618         * lib/uninorm/decomposition-table2.h: Likewise.
21619         * lib/uniwbrk/wbrkprop.h: Likewise.
21620         * tests/unicase/test-cased.c: Likewise.
21621         * tests/unicase/test-ignorable.c: Likewise.
21622         * tests/unicase/test-uc_tolower.c: Likewise.
21623         * tests/unicase/test-uc_totitle.c: Likewise.
21624         * tests/unicase/test-uc_toupper.c: Likewise.
21625         * tests/unictype/test-categ_C.c: Likewise.
21626         * tests/unictype/test-categ_Cn.c: Likewise.
21627         * tests/unictype/test-categ_L.c: Likewise.
21628         * tests/unictype/test-categ_Ll.c: Likewise.
21629         * tests/unictype/test-categ_Lm.c: Likewise.
21630         * tests/unictype/test-categ_Lo.c: Likewise.
21631         * tests/unictype/test-categ_Lu.c: Likewise.
21632         * tests/unictype/test-categ_M.c: Likewise.
21633         * tests/unictype/test-categ_Mc.c: Likewise.
21634         * tests/unictype/test-categ_Me.c: Likewise.
21635         * tests/unictype/test-categ_Mn.c: Likewise.
21636         * tests/unictype/test-categ_N.c: Likewise.
21637         * tests/unictype/test-categ_Nd.c: Likewise.
21638         * tests/unictype/test-categ_No.c: Likewise.
21639         * tests/unictype/test-categ_P.c: Likewise.
21640         * tests/unictype/test-categ_Po.c: Likewise.
21641         * tests/unictype/test-categ_S.c: Likewise.
21642         * tests/unictype/test-categ_Sc.c: Likewise.
21643         * tests/unictype/test-categ_Sk.c: Likewise.
21644         * tests/unictype/test-categ_Sm.c: Likewise.
21645         * tests/unictype/test-categ_So.c: Likewise.
21646         * tests/unictype/test-ctype_alnum.c: Likewise.
21647         * tests/unictype/test-ctype_alpha.c: Likewise.
21648         * tests/unictype/test-ctype_graph.c: Likewise.
21649         * tests/unictype/test-ctype_lower.c: Likewise.
21650         * tests/unictype/test-ctype_print.c: Likewise.
21651         * tests/unictype/test-ctype_punct.c: Likewise.
21652         * tests/unictype/test-ctype_upper.c: Likewise.
21653         * tests/unictype/test-decdigit.h: Likewise.
21654         * tests/unictype/test-digit.h: Likewise.
21655         * tests/unictype/test-numeric.h: Likewise.
21656         * tests/unictype/test-pr_alphabetic.c: Likewise.
21657         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21658         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
21659         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
21660         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21661         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21662         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21663         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21664         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21665         * tests/unictype/test-pr_case_ignorable.c: Likewise.
21666         * tests/unictype/test-pr_cased.c: Likewise.
21667         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
21668         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
21669         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
21670         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
21671         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
21672         * tests/unictype/test-pr_combining.c: Likewise.
21673         * tests/unictype/test-pr_composite.c: Likewise.
21674         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21675         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21676         * tests/unictype/test-pr_deprecated.c: Likewise.
21677         * tests/unictype/test-pr_format_control.c: Likewise.
21678         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21679         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21680         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21681         * tests/unictype/test-pr_id_continue.c: Likewise.
21682         * tests/unictype/test-pr_id_start.c: Likewise.
21683         * tests/unictype/test-pr_ideographic.c: Likewise.
21684         * tests/unictype/test-pr_lowercase.c: Likewise.
21685         * tests/unictype/test-pr_math.c: Likewise.
21686         * tests/unictype/test-pr_numeric.c: Likewise.
21687         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21688         * tests/unictype/test-pr_other_id_continue.c: Likewise.
21689         * tests/unictype/test-pr_other_math.c: Likewise.
21690         * tests/unictype/test-pr_punctuation.c: Likewise.
21691         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21692         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21693         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21694         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21695         * tests/unictype/test-pr_uppercase.c: Likewise.
21696         * tests/unictype/test-pr_xid_continue.c: Likewise.
21697         * tests/unictype/test-pr_xid_start.c: Likewise.
21698         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
21699         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
21700         changes.
21701         * lib/unictype/categ_Cc.h: Likewise.
21702         * lib/unictype/categ_Cf.h: Likewise.
21703         * lib/unictype/categ_Co.h: Likewise.
21704         * lib/unictype/categ_Cs.h: Likewise.
21705         * lib/unictype/categ_Lt.h: Likewise.
21706         * lib/unictype/categ_Nl.h: Likewise.
21707         * lib/unictype/categ_Pc.h: Likewise.
21708         * lib/unictype/categ_Pd.h: Likewise.
21709         * lib/unictype/categ_Pe.h: Likewise.
21710         * lib/unictype/categ_Pf.h: Likewise.
21711         * lib/unictype/categ_Pi.h: Likewise.
21712         * lib/unictype/categ_Ps.h: Likewise.
21713         * lib/unictype/categ_Z.h: Likewise.
21714         * lib/unictype/categ_Zl.h: Likewise.
21715         * lib/unictype/categ_Zp.h: Likewise.
21716         * lib/unictype/categ_Zs.h: Likewise.
21717         * lib/unictype/ctype_blank.h: Likewise.
21718         * lib/unictype/ctype_cntrl.h: Likewise.
21719         * lib/unictype/ctype_digit.h: Likewise.
21720         * lib/unictype/ctype_space.h: Likewise.
21721         * lib/unictype/ctype_xdigit.h: Likewise.
21722         * lib/unictype/mirror.h: Likewise.
21723         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21724         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21725         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21726         * lib/unictype/pr_bidi_control.h: Likewise.
21727         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21728         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21729         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21730         * lib/unictype/pr_bidi_pdf.h: Likewise.
21731         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21732         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21733         * lib/unictype/pr_dash.h: Likewise.
21734         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21735         * lib/unictype/pr_diacritic.h: Likewise.
21736         * lib/unictype/pr_extender.h: Likewise.
21737         * lib/unictype/pr_hex_digit.h: Likewise.
21738         * lib/unictype/pr_hyphen.h: Likewise.
21739         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21740         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21741         * lib/unictype/pr_ignorable_control.h: Likewise.
21742         * lib/unictype/pr_iso_control.h: Likewise.
21743         * lib/unictype/pr_join_control.h: Likewise.
21744         * lib/unictype/pr_left_of_pair.h: Likewise.
21745         * lib/unictype/pr_line_separator.h: Likewise.
21746         * lib/unictype/pr_logical_order_exception.h: Likewise.
21747         * lib/unictype/pr_non_break.h: Likewise.
21748         * lib/unictype/pr_not_a_character.h: Likewise.
21749         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21750         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21751         * lib/unictype/pr_other_id_start.h: Likewise.
21752         * lib/unictype/pr_other_lowercase.h: Likewise.
21753         * lib/unictype/pr_other_uppercase.h: Likewise.
21754         * lib/unictype/pr_paired_punctuation.h: Likewise.
21755         * lib/unictype/pr_paragraph_separator.h: Likewise.
21756         * lib/unictype/pr_pattern_syntax.h: Likewise.
21757         * lib/unictype/pr_pattern_white_space.h: Likewise.
21758         * lib/unictype/pr_private_use.h: Likewise.
21759         * lib/unictype/pr_quotation_mark.h: Likewise.
21760         * lib/unictype/pr_radical.h: Likewise.
21761         * lib/unictype/pr_soft_dotted.h: Likewise.
21762         * lib/unictype/pr_space.h: Likewise.
21763         * lib/unictype/pr_titlecase.h: Likewise.
21764         * lib/unictype/pr_variation_selector.h: Likewise.
21765         * lib/unictype/pr_white_space.h: Likewise.
21766         * lib/unictype/pr_zero_width.h: Likewise.
21767         * lib/unictype/sy_c_ident.h: Likewise.
21768         * lib/unictype/sy_c_whitespace.h: Likewise.
21769         * lib/unictype/sy_java_whitespace.h: Likewise.
21770         * lib/uninorm/composition-table.gperf: Likewise.
21771         * lib/uninorm/decomposition-table1.h: Likewise.
21772         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
21773         LB8.
21774         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21775         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21776         * modules/unictype/*: Bump version number of expected libunistring
21777         version.
21778
21779 2011-01-09  Bruno Haible  <bruno@clisp.org>
21780
21781         Update to Unicode 5.2.0.
21782         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
21783         trailing whitespace removed.
21784
21785 2011-01-09  Bruno Haible  <bruno@clisp.org>
21786
21787         New Unicode character properties, from Unicode 5.2.0.
21788         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
21789         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
21790         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
21791         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
21792         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
21793         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
21794         uc_is_property_cased, uc_is_property_case_ignorable,
21795         uc_is_property_changes_when_lowercased,
21796         uc_is_property_changes_when_uppercased,
21797         uc_is_property_changes_when_titlecased,
21798         uc_is_property_changes_when_casefolded,
21799         uc_is_property_changes_when_casemapped): New declarations.
21800         * lib/unictype/pr_byname.gperf: Add the new properties.
21801         * modules/unictype/property-byname (Depends-on): Depend on the new
21802         properties modules.
21803         * modules/unictype/property-all (Depends-on): Likewise.
21804         * MODULES.html.sh (Unicode string functions): Add
21805         unictype/property-case-ignorable, unictype/property-cased,
21806         unictype/property-changes-when-casefolded,
21807         unictype/property-changes-when-casemapped,
21808         unictype/property-changes-when-lowercased,
21809         unictype/property-changes-when-titlecased,
21810         unictype/property-changes-when-uppercased.
21811
21812         New module 'unictype/property-changes-when-casemapped'.
21813         * modules/unictype/property-changes-when-casemapped: New file.
21814         * lib/unictype/pr_changes_when_casemapped.c: New file.
21815         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
21816         generated by gen-uni-tables.
21817         * modules/unictype/property-changes-when-casemapped-tests: New file.
21818         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
21819         automatically generated by gen-uni-tables.
21820
21821         New module 'unictype/property-changes-when-casefolded'.
21822         * modules/unictype/property-changes-when-casefolded: New file.
21823         * lib/unictype/pr_changes_when_casefolded.c: New file.
21824         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
21825         generated by gen-uni-tables.
21826         * modules/unictype/property-changes-when-casefolded-tests: New file.
21827         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
21828         automatically generated by gen-uni-tables.
21829
21830         New module 'unictype/property-changes-when-titlecased'.
21831         * modules/unictype/property-changes-when-titlecased: New file.
21832         * lib/unictype/pr_changes_when_titlecased.c: New file.
21833         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
21834         generated by gen-uni-tables.
21835         * modules/unictype/property-changes-when-titlecased-tests: New file.
21836         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
21837         automatically generated by gen-uni-tables.
21838
21839         New module 'unictype/property-changes-when-uppercased'.
21840         * modules/unictype/property-changes-when-uppercased: New file.
21841         * lib/unictype/pr_changes_when_uppercased.c: New file.
21842         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
21843         generated by gen-uni-tables.
21844         * modules/unictype/property-changes-when-uppercased-tests: New file.
21845         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
21846         automatically generated by gen-uni-tables.
21847
21848         New module 'unictype/property-changes-when-lowercased'.
21849         * modules/unictype/property-changes-when-lowercased: New file.
21850         * lib/unictype/pr_changes_when_lowercased.c: New file.
21851         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
21852         generated by gen-uni-tables.
21853         * modules/unictype/property-changes-when-lowercased-tests: New file.
21854         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
21855         automatically generated by gen-uni-tables.
21856
21857         New module 'unictype/property-case-ignorable'.
21858         * modules/unictype/property-case-ignorable: New file.
21859         * lib/unictype/pr_case_ignorable.c: New file.
21860         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
21861         by gen-uni-tables.
21862         * modules/unictype/property-case-ignorable-tests: New file.
21863         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
21864         generated by gen-uni-tables.
21865
21866         New module 'unictype/property-cased'.
21867         * modules/unictype/property-cased: New file.
21868         * lib/unictype/pr_cased.c: New file.
21869         * lib/unictype/pr_cased.h: New file, automatically generated by
21870         gen-uni-tables.
21871         * modules/unictype/property-cased-tests: New file.
21872         * tests/unictype/test-pr_cased.c: New file, automatically generated by
21873         gen-uni-tables.
21874
21875 2011-01-09  Bruno Haible  <bruno@clisp.org>
21876
21877         Update to Unicode 5.2.0.
21878         * lib/gen-uni-tables.c (output_predicate, output_category,
21879         output_combclass, output_bidi_category, output_decimal_digit_test,
21880         output_decimal_digit, output_digit_test, output_digit,
21881         output_numeric_test, output_numeric, output_mirror, output_scripts,
21882         output_scripts_byname, output_blocks, output_ident_category): Fix
21883         comment header.
21884         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
21885         get_wbp.
21886         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
21887         items.
21888         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
21889         Changes_When_Lowercased, Changes_When_Uppercased,
21890         Changes_When_Titlecased, Changes_When_Casefolded,
21891         Changes_When_Casemapped.
21892         (is_property_alphabetic, is_property_default_ignorable_code_point):
21893         Update for Unicode 5.2.0.
21894         (is_property_cased, is_property_case_ignorable,
21895         is_property_changes_when_lowercased,
21896         is_property_changes_when_uppercased,
21897         is_property_changes_when_titlecased,
21898         is_property_changes_when_casefolded,
21899         is_property_changes_when_casemapped): New functions.
21900         (output_properties): Output also the properties cased, case_ignorable,
21901         changes_when_lowercased, changes_when_uppercased,
21902         changes_when_titlecased, changes_when_casefolded,
21903         changes_when_casemapped.
21904         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
21905         Unicode TR#11 revision 17 -> 19.
21906         (LBP_CP): New enumeration value.
21907         (LBP_*): Adjust values accordingly.
21908         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21909         TR#14 revision 22 -> 24.
21910         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
21911         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
21912         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21913         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
21914         is_WBP_MIDLETTER.
21915         (output_composition_tables): Allow for 24 bits instead of 16 bits in
21916         the code1 and code2 of each composition rule.
21917         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
21918         * lib/unicase/ignorable.h: Likewise.
21919         * lib/unicase/tocasefold.h: Likewise.
21920         * lib/unicase/tolower.h: Likewise.
21921         * lib/unicase/totitle.h: Likewise.
21922         * lib/unicase/toupper.h: Likewise.
21923         * lib/unictype/bidi_of.h: Likewise.
21924         * lib/unictype/blocks.h: Likewise.
21925         * lib/unictype/categ_C.h: Likewise.
21926         * lib/unictype/categ_Cf.h: Likewise.
21927         * lib/unictype/categ_Cn.h: Likewise.
21928         * lib/unictype/categ_L.h: Likewise.
21929         * lib/unictype/categ_Ll.h: Likewise.
21930         * lib/unictype/categ_Lm.h: Likewise.
21931         * lib/unictype/categ_Lo.h: Likewise.
21932         * lib/unictype/categ_Lu.h: Likewise.
21933         * lib/unictype/categ_M.h: Likewise.
21934         * lib/unictype/categ_Mc.h: Likewise.
21935         * lib/unictype/categ_Mn.h: Likewise.
21936         * lib/unictype/categ_N.h: Likewise.
21937         * lib/unictype/categ_Nd.h: Likewise.
21938         * lib/unictype/categ_Nl.h: Likewise.
21939         * lib/unictype/categ_No.h: Likewise.
21940         * lib/unictype/categ_P.h: Likewise.
21941         * lib/unictype/categ_Pd.h: Likewise.
21942         * lib/unictype/categ_Po.h: Likewise.
21943         * lib/unictype/categ_S.h: Likewise.
21944         * lib/unictype/categ_Sc.h: Likewise.
21945         * lib/unictype/categ_So.h: Likewise.
21946         * lib/unictype/categ_of.h: Likewise.
21947         * lib/unictype/combining.h: Likewise.
21948         * lib/unictype/ctype_alnum.h: Likewise.
21949         * lib/unictype/ctype_alpha.h: Likewise.
21950         * lib/unictype/ctype_graph.h: Likewise.
21951         * lib/unictype/ctype_lower.h: Likewise.
21952         * lib/unictype/ctype_print.h: Likewise.
21953         * lib/unictype/ctype_punct.h: Likewise.
21954         * lib/unictype/ctype_upper.h: Likewise.
21955         * lib/unictype/decdigit.h: Likewise.
21956         * lib/unictype/digit.h: Likewise.
21957         * lib/unictype/numeric.h: Likewise.
21958         * lib/unictype/pr_alphabetic.h: Likewise.
21959         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21960         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21961         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21962         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21963         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21964         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21965         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21966         * lib/unictype/pr_combining.h: Likewise.
21967         * lib/unictype/pr_composite.h: Likewise.
21968         * lib/unictype/pr_currency_symbol.h: Likewise.
21969         * lib/unictype/pr_dash.h: Likewise.
21970         * lib/unictype/pr_decimal_digit.h: Likewise.
21971         * lib/unictype/pr_deprecated.h: Likewise.
21972         * lib/unictype/pr_diacritic.h: Likewise.
21973         * lib/unictype/pr_extender.h: Likewise.
21974         * lib/unictype/pr_grapheme_base.h: Likewise.
21975         * lib/unictype/pr_grapheme_extend.h: Likewise.
21976         * lib/unictype/pr_grapheme_link.h: Likewise.
21977         * lib/unictype/pr_id_continue.h: Likewise.
21978         * lib/unictype/pr_id_start.h: Likewise.
21979         * lib/unictype/pr_ideographic.h: Likewise.
21980         * lib/unictype/pr_ignorable_control.h: Likewise.
21981         * lib/unictype/pr_logical_order_exception.h: Likewise.
21982         * lib/unictype/pr_lowercase.h: Likewise.
21983         * lib/unictype/pr_numeric.h: Likewise.
21984         * lib/unictype/pr_other_alphabetic.h: Likewise.
21985         * lib/unictype/pr_punctuation.h: Likewise.
21986         * lib/unictype/pr_sentence_terminal.h: Likewise.
21987         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21988         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21989         * lib/unictype/pr_unified_ideograph.h: Likewise.
21990         * lib/unictype/pr_uppercase.h: Likewise.
21991         * lib/unictype/pr_xid_continue.h: Likewise.
21992         * lib/unictype/pr_xid_start.h: Likewise.
21993         * lib/unictype/pr_zero_width.h: Likewise.
21994         * lib/unictype/scripts.h: Likewise.
21995         * lib/unictype/scripts_byname.gperf: Likewise.
21996         * lib/unictype/sy_java_ident.h: Likewise.
21997         * lib/unigbrk/gbrkprop.h: Likewise.
21998         * lib/unilbrk/lbrkprop1.h: Likewise.
21999         * lib/unilbrk/lbrkprop2.h: Likewise.
22000         * lib/unilbrk/lbrktables.h: Likewise.
22001         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
22002         LBP_CP. Implement rule LB30.
22003         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
22004         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
22005         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
22006         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
22007         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
22008         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
22009         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
22010         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
22011         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
22012         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
22013         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
22014         bits instead of 16 bits in the code1 and code2 of each composition
22015         rule.
22016         (uc_composition): Update for Unicode 5.2.0.
22017         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
22018         * lib/uninorm/decomposition-table2.h: Likewise.
22019         * lib/uniwbrk/wbrkprop.h: Likewise.
22020         * tests/unicase/test-cased.c: Likewise.
22021         * tests/unicase/test-ignorable.c: Likewise.
22022         * tests/unicase/test-uc_tolower.c: Likewise.
22023         * tests/unicase/test-uc_totitle.c: Likewise.
22024         * tests/unicase/test-uc_toupper.c: Likewise.
22025         * tests/unictype/test-categ_C.c: Likewise.
22026         * tests/unictype/test-categ_Cf.c: Likewise.
22027         * tests/unictype/test-categ_Cn.c: Likewise.
22028         * tests/unictype/test-categ_L.c: Likewise.
22029         * tests/unictype/test-categ_Ll.c: Likewise.
22030         * tests/unictype/test-categ_Lm.c: Likewise.
22031         * tests/unictype/test-categ_Lo.c: Likewise.
22032         * tests/unictype/test-categ_Lu.c: Likewise.
22033         * tests/unictype/test-categ_M.c: Likewise.
22034         * tests/unictype/test-categ_Mc.c: Likewise.
22035         * tests/unictype/test-categ_Mn.c: Likewise.
22036         * tests/unictype/test-categ_N.c: Likewise.
22037         * tests/unictype/test-categ_Nd.c: Likewise.
22038         * tests/unictype/test-categ_Nl.c: Likewise.
22039         * tests/unictype/test-categ_No.c: Likewise.
22040         * tests/unictype/test-categ_P.c: Likewise.
22041         * tests/unictype/test-categ_Pd.c: Likewise.
22042         * tests/unictype/test-categ_Po.c: Likewise.
22043         * tests/unictype/test-categ_S.c: Likewise.
22044         * tests/unictype/test-categ_Sc.c: Likewise.
22045         * tests/unictype/test-categ_So.c: Likewise.
22046         * tests/unictype/test-ctype_alnum.c: Likewise.
22047         * tests/unictype/test-ctype_alpha.c: Likewise.
22048         * tests/unictype/test-ctype_graph.c: Likewise.
22049         * tests/unictype/test-ctype_lower.c: Likewise.
22050         * tests/unictype/test-ctype_print.c: Likewise.
22051         * tests/unictype/test-ctype_punct.c: Likewise.
22052         * tests/unictype/test-ctype_upper.c: Likewise.
22053         * tests/unictype/test-decdigit.h: Likewise.
22054         * tests/unictype/test-digit.h: Likewise.
22055         * tests/unictype/test-numeric.h: Likewise.
22056         * tests/unictype/test-pr_alphabetic.c: Likewise.
22057         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22058         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22059         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
22060         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22061         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22062         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22063         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22064         * tests/unictype/test-pr_combining.c: Likewise.
22065         * tests/unictype/test-pr_composite.c: Likewise.
22066         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22067         * tests/unictype/test-pr_dash.c: Likewise.
22068         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22069         * tests/unictype/test-pr_deprecated.c: Likewise.
22070         * tests/unictype/test-pr_diacritic.c: Likewise.
22071         * tests/unictype/test-pr_extender.c: Likewise.
22072         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22073         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22074         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22075         * tests/unictype/test-pr_id_continue.c: Likewise.
22076         * tests/unictype/test-pr_id_start.c: Likewise.
22077         * tests/unictype/test-pr_ideographic.c: Likewise.
22078         * tests/unictype/test-pr_ignorable_control.c: Likewise.
22079         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
22080         * tests/unictype/test-pr_lowercase.c: Likewise.
22081         * tests/unictype/test-pr_numeric.c: Likewise.
22082         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22083         * tests/unictype/test-pr_punctuation.c: Likewise.
22084         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22085         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22086         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22087         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22088         * tests/unictype/test-pr_uppercase.c: Likewise.
22089         * tests/unictype/test-pr_xid_continue.c: Likewise.
22090         * tests/unictype/test-pr_xid_start.c: Likewise.
22091         * tests/unictype/test-pr_zero_width.c: Likewise.
22092         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22093         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
22094         changed behaviour: line breaking is now disallowed between a letter
22095         or '=' and '('.
22096         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22097         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22098         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22099         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
22100         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22101         lib/uniwidth/width.c.
22102         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
22103         without comments, but with the original copyright notice.
22104         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22105         changes.
22106         * lib/unictype/categ_Cc.h: Likewise.
22107         * lib/unictype/categ_Co.h: Likewise.
22108         * lib/unictype/categ_Cs.h: Likewise.
22109         * lib/unictype/categ_Lt.h: Likewise.
22110         * lib/unictype/categ_Me.h: Likewise.
22111         * lib/unictype/categ_Pc.h: Likewise.
22112         * lib/unictype/categ_Pe.h: Likewise.
22113         * lib/unictype/categ_Pf.h: Likewise.
22114         * lib/unictype/categ_Pi.h: Likewise.
22115         * lib/unictype/categ_Ps.h: Likewise.
22116         * lib/unictype/categ_Sk.h: Likewise.
22117         * lib/unictype/categ_Sm.h: Likewise.
22118         * lib/unictype/categ_Z.h: Likewise.
22119         * lib/unictype/categ_Zl.h: Likewise.
22120         * lib/unictype/categ_Zp.h: Likewise.
22121         * lib/unictype/categ_Zs.h: Likewise.
22122         * lib/unictype/ctype_blank.h: Likewise.
22123         * lib/unictype/ctype_cntrl.h: Likewise.
22124         * lib/unictype/ctype_digit.h: Likewise.
22125         * lib/unictype/ctype_space.h: Likewise.
22126         * lib/unictype/ctype_xdigit.h: Likewise.
22127         * lib/unictype/mirror.h: Likewise.
22128         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22129         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22130         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22131         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22132         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22133         * lib/unictype/pr_bidi_control.h: Likewise.
22134         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22135         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22136         * lib/unictype/pr_bidi_pdf.h: Likewise.
22137         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22138         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22139         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22140         * lib/unictype/pr_format_control.h: Likewise.
22141         * lib/unictype/pr_hex_digit.h: Likewise.
22142         * lib/unictype/pr_hyphen.h: Likewise.
22143         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22144         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22145         * lib/unictype/pr_iso_control.h: Likewise.
22146         * lib/unictype/pr_join_control.h: Likewise.
22147         * lib/unictype/pr_left_of_pair.h: Likewise.
22148         * lib/unictype/pr_line_separator.h: Likewise.
22149         * lib/unictype/pr_math.h: Likewise.
22150         * lib/unictype/pr_non_break.h: Likewise.
22151         * lib/unictype/pr_not_a_character.h: Likewise.
22152         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22153         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22154         * lib/unictype/pr_other_id_continue.h: Likewise.
22155         * lib/unictype/pr_other_id_start.h: Likewise.
22156         * lib/unictype/pr_other_lowercase.h: Likewise.
22157         * lib/unictype/pr_other_math.h: Likewise.
22158         * lib/unictype/pr_other_uppercase.h: Likewise.
22159         * lib/unictype/pr_paired_punctuation.h: Likewise.
22160         * lib/unictype/pr_paragraph_separator.h: Likewise.
22161         * lib/unictype/pr_pattern_syntax.h: Likewise.
22162         * lib/unictype/pr_pattern_white_space.h: Likewise.
22163         * lib/unictype/pr_private_use.h: Likewise.
22164         * lib/unictype/pr_quotation_mark.h: Likewise.
22165         * lib/unictype/pr_radical.h: Likewise.
22166         * lib/unictype/pr_soft_dotted.h: Likewise.
22167         * lib/unictype/pr_space.h: Likewise.
22168         * lib/unictype/pr_titlecase.h: Likewise.
22169         * lib/unictype/pr_variation_selector.h: Likewise.
22170         * lib/unictype/pr_white_space.h: Likewise.
22171         * lib/unictype/sy_c_ident.h: Likewise.
22172         * lib/unictype/sy_c_whitespace.h: Likewise.
22173         * lib/unictype/sy_java_whitespace.h: Likewise.
22174         * modules/uni*/*: Bump version number of expected libunistring version.
22175         Reported by Simon Josefsson.
22176
22177 2011-01-09  Karl Heuer  <kwzh@gnu.org>
22178
22179         useless-if-before-free: fix typo in --help and make the internal,
22180         automatic version date update process work once again.
22181         --help output contained a NUL character instead of the
22182         backslash-zero that was intended.  Also, the "must lie within
22183         the first 8 lines" line is on line 9, and hence not getting
22184         automatically updated.
22185         * build-aux/useless-if-before-free: Fix the former by adding a
22186         backslash, and the latter by condensing the three lines of what-it-does
22187         to a single line, leaving one line of slack for the future.
22188
22189 2011-01-09  Bruno Haible  <bruno@clisp.org>
22190
22191         uniwidth/width: Fix width of U+1D173..U+1D17A.
22192         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
22193         symbolic_width, output_width_property_test): New functions.
22194         (main): Invoke output_nonspacing_property, output_width_property_test.
22195         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
22196         U+1D173..U+1D17A.
22197         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
22198         1.
22199         * modules/uniwidth/*: Bump version number of expected libunistring
22200         version.
22201         * modules/unilbrk/*: Likewise.
22202
22203 2011-01-08  Bruno Haible  <bruno@clisp.org>
22204
22205         uninorm tests: Preserve copyright of Unicode data file.
22206         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
22207         Mention modifications.
22208
22209 2011-01-08  Bruno Haible  <bruno@clisp.org>
22210
22211         gen-uni-tables: Prepare for Unicode 5.2.0.
22212         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
22213         (debug_output_lbp, output_lbp): Update.
22214
22215 2011-01-08  Bruno Haible  <bruno@clisp.org>
22216
22217         unilbrk: Clarify gen-uni-tables.c code.
22218         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
22219         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
22220         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
22221
22222 2011-01-07  Bruno Haible  <bruno@clisp.org>
22223
22224         strtod: Restore errno when successfully parsing Infinity or NaN.
22225         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
22226         restore the original errno.
22227
22228 2011-01-07  Bruno Haible  <bruno@clisp.org>
22229
22230         remove test: Avoid failure on HP-UX 11.
22231         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
22232
22233 2011-01-07  Bruno Haible  <bruno@clisp.org>
22234
22235         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
22236         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
22237         error code.
22238
22239 2011-01-07  Pádraig Brady <P@draigBrady.com>
22240
22241         ignore-value: fixup comments, and add Eric Blake
22242         as an author since he rewrote the macros.
22243         * lib/ignore-value.h (ignore_value):  State that
22244         we now support aggregates.  Also specify exactly
22245         when the GCC warn_unused_result feature was added.
22246
22247 2011-01-06  Eric Blake  <eblake@redhat.com>
22248
22249         ignore-value: support aggregate types
22250         * lib/ignore-value.h (ignore_value): Provide separate gcc
22251         definition.
22252         * modules/ignore-value-tests: New test module.
22253         * tests/test-ignore-value.c: New test.
22254
22255         maint.mk: improve sc_prohibit_strcmp regex
22256         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
22257         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
22258         definition of STRNEQ.
22259
22260         signal: work around Haiku issue with SIGBUS
22261         * lib/siglist.h: Add comment.
22262         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
22263         strsignal's favoring of SIGSEGV.
22264         * tests/test-signal.c (main): Avoid test failure.
22265         * doc/posix-headers/signal.texi (signal.h): Document the issue.
22266         Reported by Scott McCreary.
22267
22268         maint.mk: add pre-release check to ensure submodule commits are public
22269         * top/maint.mk (public-submodule-commit): New rule.
22270         (submodule-checks): New variable.
22271         (alpha beta stable): Depend on the variable.
22272
22273 2011-01-05  Pádraig Brady <P@draigBrady.com>
22274         and Jim Meyering  <meyering@redhat.com>
22275
22276         ignore-value: make ignore_value more generic; deprecate ignore_ptr
22277         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
22278         (ATTRIBUTE_DEPRECATED): Define.
22279         (_ignore_case): New function.
22280         (ignore_value): New macro, to replace the old function.
22281         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
22282         * modules/ignore-value (Depends-on): Add stdint.
22283
22284 2011-01-04  Eric Blake  <eblake@redhat.com>
22285
22286         doc: regenerate INSTALL
22287         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
22288         @firstparagraphindent support, now that autoconf dropped it.
22289         (INSTALL_PRELUDE): Reinstate old macro.
22290         * doc/install.texi: Resync from autoconf.
22291         * doc/INSTALL: Reflect recent autoconf update.
22292         * doc/INSTALL.ISO: Likewise.
22293         * doc/INSTALL.UTF-8: Likewise.
22294         Reported by Karl Berry.
22295
22296 2011-01-04  Bruce Korb  <address@hidden>
22297
22298         git-version-gen: avoid a sub-shell
22299         * build-aux/git-version-gen: Redirect stderr in `...` via
22300         "exec 2>...", rather than via an added sub-shell.
22301
22302 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
22303
22304         git-version-gen: use (...) rather than sh -c '...'
22305         * build-aux/git-version-gen: Rather than hard-coding a shell's name
22306         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
22307
22308 2011-01-03  Jim Meyering  <meyering@redhat.com>
22309
22310         git-version-gen: convert leading TABs to spaces
22311         * build-aux/git-version-gen: Expand leading TABs.
22312
22313         git-version-gen: handle failed "git rev-list"
22314         * build-aux/git-version-gen: Rather than leaking a "fatal" error
22315         from git and proceeding as if it had succeeded but printed no SHA1
22316         checksums, suppress the diagnostic and handle the failure.
22317         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
22318
22319         git-version-gen: include command name in one more diagnostic
22320         * build-aux/git-version-gen: When the required .tarball-version file
22321         was missing or unreadable, you might see the diagnostic from "cat",
22322         but no trace of the name of the invoking script.  Now, you still see
22323         the diagnostic from cat, but also get one from "git-version-gen: ".
22324         Inspired by a patch from Bruce Korb.
22325
22326         update-copyright: adjust test to match changed code
22327         * tests/test-update-copyright.sh: Change test's expected output
22328         to match new actual output.
22329
22330 2011-01-02  Bruno Haible  <bruno@clisp.org>
22331
22332         getlogin_r: Avoid test failure on HP-UX 11.
22333         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
22334         ERANGE when the second argument is zero.
22335         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
22336         portability problem.
22337
22338 2011-01-02  Bruce Korb  <bkorb@gnu.org>
22339
22340         * build-aux/update-copyright: doc Simon's changes
22341
22342 2011-01-02  Simon Josefsson  <simon@josefsson.org>
22343
22344         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
22345         environment variable.
22346
22347 2011-01-02  Bruno Haible  <bruno@clisp.org>
22348
22349         unigbrk: Avoid gcc warnings.
22350         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
22351         unused variable.
22352         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
22353         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
22354         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
22355         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
22356         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
22357         Change type of first argument to 'const char *'.
22358         (main): Remove unused variable.
22359         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
22360         type of first argument to 'const char *'.
22361         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
22362         Likewise.
22363         (main): Change type of variable 's'.
22364         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
22365         to 'int'.
22366
22367 2011-01-02  Bruno Haible  <bruno@clisp.org>
22368
22369         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
22370         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
22371         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
22372         bug.
22373         * lib/pwrite.c: Undo 2010-12-31 patch.
22374         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
22375
22376 2011-01-02  Bruno Haible  <bruno@clisp.org>
22377
22378         pread: Fix test whether it works.
22379         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
22380
22381 2011-01-02  Bruno Haible  <bruno@clisp.org>
22382
22383         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
22384         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
22385         ends in "6". Don't require a specific month name. Try also the locale
22386         names found on HP-UX 11 and Solaris 7.
22387
22388 2011-01-02  Bruno Haible  <bruno@clisp.org>
22389
22390         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
22391         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
22392         C linkage.
22393         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
22394
22395 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22396
22397         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
22398         for consistency, since the "cluster" term is not used elsewhere.
22399         * lib/unigbrk.in.h: Update name.
22400         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
22401         * lib/unigbrk/u16-grapheme-next.c: Update name.
22402         * lib/unigbrk/u16-grapheme-prev.c: Update name.
22403         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
22404         * lib/unigbrk/u32-grapheme-next.c: Update name.
22405         * lib/unigbrk/u32-grapheme-prev.c: Update name.
22406         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
22407         * lib/unigbrk/u8-grapheme-next.c: Update name.
22408         * lib/unigbrk/u8-grapheme-prev.c: Update name.
22409         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
22410         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
22411         Suggested by Bruno Haible.
22412
22413 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22414
22415         Remove module 'u8-grapheme-len' as too redundant with
22416         'u8-grapheme-next'.
22417         * modules/unigbrk/u8-grapheme-len: Delete file.
22418         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
22419         * lib/unigbrk.in.h: Remove prototype for deleted function.
22420         * lib/unigbrk/u8-grapheme-len.c: Delete file.
22421         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
22422
22423         Remove module 'u16-grapheme-len' as too redundant with
22424         'u16-grapheme-next'.
22425         * modules/unigbrk/u16-grapheme-len: Delete file.
22426         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
22427         * lib/unigbrk.in.h: Remove prototype for deleted function.
22428         * lib/unigbrk/u16-grapheme-len.c: Delete file.
22429         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
22430
22431         Remove module 'u32-grapheme-len' as too redundant with
22432         'u32-grapheme-next'.
22433         * modules/unigbrk/u32-grapheme-len: Delete file.
22434         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
22435         * lib/unigbrk.in.h: Remove prototype for deleted function.
22436         * lib/unigbrk/u32-grapheme-len.c: Delete file.
22437         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
22438
22439         Suggested by Bruno Haible.
22440
22441 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22442
22443         * unigbrk.in.h: Fix typo: "ben" => "been".
22444         Reported by Bruno Haible.
22445
22446 2011-01-01  Jim Meyering  <meyering@redhat.com>
22447
22448         maint: update almost all copyright ranges to include 2011
22449         Run the new "make update-copyright" rule.
22450
22451 2011-01-01  Jim Meyering  <meyering@redhat.com>
22452
22453         maint: update-copyright: exempt doc/INSTALL*
22454         * Makefile (update-copyright): Also exclude doc/INSTALL*,
22455         since they are generated.  Suggested by Bruno Haible.
22456
22457 2011-01-01  Jim Meyering  <meyering@redhat.com>
22458
22459         maint: refine the update-copyright rule
22460         * Makefile (update-copyright): Also exclude any file that includes
22461         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
22462         code that merely generates the comment.
22463
22464 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
22465
22466         New module 'u8-grapheme-len'.
22467         * modules/unigbrk/u8-grapheme-len: New file.
22468         * modules/unigbrk/u8-grapheme-len-tests: New file.
22469         * lib/unigbrk.in.h: Add prototype for new function.
22470         * lib/unigbrk/u8-grapheme-len.c: New file.
22471         * tests/unigbrk/test-u8-grapheme-len.c: New file.
22472
22473         New module 'u16-grapheme-len'.
22474         * modules/unigbrk/u16-grapheme-len: New file.
22475         * modules/unigbrk/u16-grapheme-len-tests: New file.
22476         * lib/unigbrk.in.h: Add prototype for new function.
22477         * lib/unigbrk/u16-grapheme-len.c: New file.
22478         * tests/unigbrk/test-u16-grapheme-len.c: New file.
22479
22480         New module 'u32-grapheme-len'.
22481         * modules/unigbrk/u32-grapheme-len: New file.
22482         * modules/unigbrk/u32-grapheme-len-tests: New file.
22483         * lib/unigbrk.in.h: Add prototype for new function.
22484         * lib/unigbrk/u32-grapheme-len.c: New file.
22485         * tests/unigbrk/test-u32-grapheme-len.c: New file.
22486
22487         New module 'u8-grapheme-next'.
22488         * modules/unigbrk/u8-grapheme-next: New file.
22489         * modules/unigbrk/u8-grapheme-next-tests: New file.
22490         * lib/unigbrk.in.h: Add prototype for new function.
22491         * lib/unigbrk/u8-grapheme-next.c: New file.
22492         * tests/unigbrk/test-u8-grapheme-next.c: New file.
22493
22494         New module 'u16-grapheme-next'.
22495         * modules/unigbrk/u16-grapheme-next: New file.
22496         * modules/unigbrk/u16-grapheme-next-tests: New file.
22497         * lib/unigbrk.in.h: Add prototype for new function.
22498         * lib/unigbrk/u16-grapheme-next.c: New file.
22499         * tests/unigbrk/test-u16-grapheme-next.c: New file.
22500
22501         New module 'u32-grapheme-next'.
22502         * modules/unigbrk/u32-grapheme-next: New file.
22503         * modules/unigbrk/u32-grapheme-next-tests: New file.
22504         * lib/unigbrk.in.h: Add prototype for new function.
22505         * lib/unigbrk/u32-grapheme-next.c: New file.
22506         * tests/unigbrk/test-u32-grapheme-next.c: New file.
22507
22508         New module 'u8-grapheme-prev'.
22509         * modules/unigbrk/u8-grapheme-prev: New file.
22510         * modules/unigbrk/u8-grapheme-prev-tests: New file.
22511         * lib/unigbrk.in.h: Add prototype for new function.
22512         * lib/unigbrk/u8-grapheme-prev.c: New file.
22513         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
22514
22515         New module 'u16-grapheme-prev'.
22516         * modules/unigbrk/u16-grapheme-prev: New file.
22517         * modules/unigbrk/u16-grapheme-prev-tests: New file.
22518         * lib/unigbrk.in.h: Add prototype for new function.
22519         * lib/unigbrk/u16-grapheme-prev.c: New file.
22520         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
22521
22522         New module 'u32-grapheme-prev'.
22523         * modules/unigbrk/u32-grapheme-prev: New file.
22524         * modules/unigbrk/u32-grapheme-prev-tests: New file.
22525         * lib/unigbrk.in.h: Add prototype for new function.
22526         * lib/unigbrk/u32-grapheme-prev.c: New file.
22527         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
22528
22529         New module 'u8-grapheme-breaks'.
22530         * modules/unigbrk/u8-grapheme-breaks: New file.
22531         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
22532         * lib/unigbrk.in.h: Add prototype for new function.
22533         * lib/unigbrk/u8-grapheme-breaks.c: New file.
22534         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
22535
22536         New module 'u16-grapheme-breaks'.
22537         * modules/unigbrk/u16-grapheme-breaks: New file.
22538         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
22539         * lib/unigbrk.in.h: Add prototype for new function.
22540         * lib/unigbrk/u16-grapheme-breaks.c: New file.
22541         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
22542
22543         New module 'u32-grapheme-breaks'.
22544         * modules/unigbrk/u32-grapheme-breaks: New file.
22545         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
22546         * lib/unigbrk.in.h: Add prototype for new function.
22547         * lib/unigbrk/u32-grapheme-breaks.c: New file.
22548         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
22549
22550         New module 'ulc-grapheme-breaks'.
22551         * modules/unigbrk/ulc-grapheme-breaks: New file.
22552         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
22553         * m4/locale-ar.m4: New file.
22554         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
22555         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
22556         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
22557
22558 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
22559
22560         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
22561         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
22562         modified how this file was generated before I initially submitted
22563         the module, but failed to regenerate it.  This meant that several
22564         of the level2 entries were wrong.
22565         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
22566         Remove the division-by-2 that is folded into the table now that
22567         gbrkprop.h has been regenerated properly.  Now -1 entries are
22568         handled correctly.
22569
22570         New module 'unigbrk/uc-gbrk-prop-tests'.
22571         * modules/unigbrk/uc-gbrk-prop-tests: New file.
22572         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
22573         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
22574         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
22575
22576 2011-01-01  Bruno Haible  <bruno@clisp.org>
22577
22578         Avoid use of hexadecimal escapes.
22579         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
22580         instead of hexadecimal escapes.
22581
22582 2011-01-01  Jim Meyering  <meyering@redhat.com>
22583
22584         maint: new rule to update copyright year ranges
22585         * Makefile (update-copyright): New rule.
22586
22587         maint: indent with TABs in Makefile
22588         * Makefile: Expand leading sequences of spaces to TABs
22589
22590         version-etc: update the copyright year it reports
22591         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
22592
22593 2010-12-31  Bruno Haible  <bruno@clisp.org>
22594
22595         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
22596         * lib/isfinite.c (zerof, zerod, zerol): New variables.
22597         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
22598         zero.
22599
22600 2010-12-31  Bruno Haible  <bruno@clisp.org>
22601
22602         pwrite: Work around HP-UX 11.11 bug.
22603         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
22604         works and set REPLACE_PWRITE if not.
22605         * lib/pwrite.c (pwrite): Add an implementation that uses the system
22606         function.
22607         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
22608
22609 2010-12-31  Bruno Haible  <bruno@clisp.org>
22610
22611         pread: Work around HP-UX 11 bugs.
22612         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
22613         and set REPLACE_PREAD if not.
22614         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
22615
22616 2010-12-31  Eric Blake  <eblake@redhat.com>
22617
22618         nl_langinfo: fix YESEXPR on Irix 6.5
22619         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
22620         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
22621         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
22622         it.
22623
22624 2010-12-31  Bruno Haible  <bruno@clisp.org>
22625
22626         iconv: Document HP-UX 11 bug.
22627         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
22628
22629 2010-12-31  Bruno Haible  <bruno@clisp.org>
22630
22631         ldexpl: Fix link error on HP-UX 11.
22632         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
22633         LDEXPL_LIBM, using $ISNANL_LIBM.
22634
22635 2010-12-31  Eric Blake  <eblake@redhat.com>
22636
22637         ftello: avoid compilation failure with SunStudio c89
22638         * lib/ftello.c (ftello): Use lseek, not llseek.
22639
22640         tests: avoid failing coreutils tests on cygwin
22641         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
22642         (create_exe_shims_): Return 0 when skipping.
22643
22644 2010-12-31  Bruno Haible  <bruno@clisp.org>
22645
22646         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
22647         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
22648
22649 2010-12-31  Bruno Haible  <bruno@clisp.org>
22650
22651         waitpid: Fix link error in C++ mode.
22652         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
22653
22654 2010-12-31  Bruno Haible  <bruno@clisp.org>
22655
22656         isnan: Use GCC built-ins when possible.
22657         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
22658         __builtin_isnan.
22659         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
22660         (isnan): Define using GCC built-ins for GCC >= 4.0.
22661
22662 2010-12-31  Bruno Haible  <bruno@clisp.org>
22663
22664         isnand: Fix mistake.
22665         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
22666         __builtin_isnand.
22667
22668 2010-12-31  Bruno Haible  <bruno@clisp.org>
22669
22670         open: Avoid C++ error on HP-UX 11.
22671         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
22672
22673 2010-12-31  Bruno Haible  <bruno@clisp.org>
22674
22675         time_r: Add missing declarations on HP-UX 11.
22676         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
22677         instead of HAVE_LOCALTIME_R.
22678         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
22679         HAVE_LOCALTIME_R always.
22680         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
22681         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
22682         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
22683         HAVE_LOCALTIME_R.
22684         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
22685         * doc/posix-functions/localtime_r.texi: Likewise.
22686
22687 2010-12-29  Eric Blake  <eblake@redhat.com>
22688
22689         mountlist: tweak previous commit
22690         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
22691         Reported by Paul Eggert.
22692
22693         mountlist: fix local drive detection on cygwin
22694         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
22695         that works for cygwin.
22696
22697 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
22698
22699         ftoastr, snprintf: ftoastr + snprintf module
22700         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
22701         since the snprintf module now should be good enough here.
22702         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
22703         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
22704         and gl_MODULE_INDICATOR([snprintf]), but the former enables
22705         GNULIB_SNPRINTF only for the test directory, and the latter
22706         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
22707         seems to suffice by itself.
22708
22709 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
22710
22711         alloca: one step towards thread-safety
22712         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
22713         need for a static variable.  All callers changed.  This does not
22714         make the alloca replacement thread-safe, but it's one step.
22715
22716         tests: minor indenting change
22717         * tests/init.sh: Sync from coreutils housekeeping patch
22718         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
22719         to keep lines within 80 columns.
22720
22721 2010-12-28  Jim Meyering  <meyering@redhat.com>
22722
22723         regex: don't infloop on persistent failing calloc
22724         * lib/regexec.c (build_trtable): Return failure indication upon
22725         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
22726         In glibc, this was fixed for version 2.13:
22727         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
22728
22729 2010-12-28  Bruno Haible  <bruno@clisp.org>
22730             Paul Eggert <eggert@cs.ucla.edu>
22731
22732         linkat: Make implementation robust against system behaviour variations.
22733         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
22734         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
22735         way, and to -2 if it needs a generic runtime test.
22736         * lib/linkat.c (solaris_optimized_link_immediate,
22737         solaris_optimized_link_follow): New functions.
22738         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
22739         (check_same_link): Use it.
22740
22741 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
22742
22743         New module 'unigbrk/base'.
22744         * modules/unigbrk/base: New file.
22745         * lib/unigbrk.in.h: New file.
22746
22747         New module 'unigbrk/uc-gbrk-prop'.
22748         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
22749         * modules/unigbrk/uc-gbrk-prop: New file.
22750         * lib/unigbrk/gbrkprop.h: New file.
22751         * lib/unigbrk/uc-gbrk-prop.c: New file.
22752
22753         New module 'unigbrk/uc-is-grapheme-break'.
22754         * modules/unigbrk/uc-is-grapheme-break: New file.
22755         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
22756         * lib/unigbrk/uc-is-grapheme-break.c: New file.
22757         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
22758         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
22759         * tests/unigbrk/GraphemeBreakTest.txt: New file.
22760
22761         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
22762
22763 2010-12-27  Bruno Haible  <bruno@clisp.org>
22764
22765         linkat test: Avoid failure on Solaris 11 2010-11.
22766         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
22767
22768 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22769
22770         utimens: work around glibc rounding bug on more platforms
22771         * lib/utimens.c (fdutimens): Work around rounding bug even if
22772         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
22773         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
22774
22775 2010-12-27  Bruno Haible  <bruno@clisp.org>
22776
22777         select tests: Improve comments.
22778         * tests/test-select.c (do_select): Add comments.
22779
22780 2010-12-27  Bruno Haible  <bruno@clisp.org>
22781
22782         select tests: Safer way of handling timeout.
22783         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
22784         at every invocation.
22785
22786 2010-12-27  Bruno Haible  <bruno@clisp.org>
22787
22788         select tests: Use 'bool' where appropriate.
22789         * tests/test-select.c (connect_to_socket): Change argument type to
22790         'bool'.
22791
22792 2010-12-27  Bruno Haible  <bruno@clisp.org>
22793
22794         select tests: Use existing modules.
22795         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
22796         (configure.ac): Don't test for unistd.h.
22797         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
22798         declared in <unistd.h>.
22799
22800 2010-12-27  Bruno Haible  <bruno@clisp.org>
22801
22802         mbrtowc: Work around a Solaris 7 bug.
22803         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
22804         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
22805         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
22806         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
22807         MBRTOWC_NULL_ARG1_BUG.
22808         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
22809         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
22810         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
22811         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
22812
22813 2010-12-27  Jim Meyering  <meyering@redhat.com>
22814
22815         read-file.c: tweak syntax
22816         * lib/read-file.c (fread_file): Remove space after "*" in function
22817         definitions.
22818
22819 2010-12-27  Bruno Haible  <bruno@clisp.org>
22820
22821         times test: Avoid gcc warnings on OSF/1.
22822         * tests/test-times.c (main): Cast printf arguments from clock_t to
22823         'long int'.
22824
22825 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22826
22827         utimens: work around glibc rounding bug on older Linux kernels
22828         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
22829         on Linux with a glibc whose utimes might not work, then work
22830         around a longstanding glibc bug involving rounding rather than
22831         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
22832         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22833
22834 2010-12-26  Bruno Haible  <bruno@clisp.org>
22835
22836         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
22837         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
22838         _GL_CXXALIAS_SYS.
22839         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22840
22841 2010-12-26  Bruno Haible  <bruno@clisp.org>
22842
22843         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
22844         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
22845         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22846         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
22847         looking for the declaration.
22848         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
22849         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
22850         problem.
22851         * doc/posix-functions/inet_pton.texi: Likewise.
22852
22853 2010-12-26  Bruno Haible  <bruno@clisp.org>
22854
22855         arpa_inet: Use the common idioms with C++ support.
22856         * lib/arpa_inet.in.h: Include c++defs.h.
22857         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
22858         support.
22859         * modules/arpa_inet (Depends-on): Add c++defs.
22860         (Makefile.am): Substitute the contents of c++defs.h.
22861         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
22862         * modules/arpa_inet-c++-tests: New file.
22863         * tests/test-arpa_inet-c++.cc: New file.
22864
22865 2010-12-25  Bruno Haible  <bruno@clisp.org>
22866
22867         Fix more C++ link errors on Solaris 8.
22868         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
22869         $(LIB_EACCESS).
22870         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
22871         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
22872         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
22873         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
22874         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
22875
22876 2010-12-25  Bruno Haible  <bruno@clisp.org>
22877
22878         printf-posix: Fix link error when a non-GCC compiler is used.
22879         * lib/stdio.in.h (printf): When not using GCC, override printf
22880         correctly.
22881         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22882
22883 2010-12-25  Bruno Haible  <bruno@clisp.org>
22884
22885         strerror_r-posix: Update doc.
22886         * doc/posix-functions/strerror_r.texi: Update doc about the return
22887         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
22888
22889 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
22890
22891         utimens: simplify the logic of the previous change
22892         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
22893         This should not affect whether the test succeeds or fails.
22894
22895         utimens: configure better on hosts with NFS clock skew
22896         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
22897         uses the clock of the local host.  It might use the clock of the
22898         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
22899         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22900
22901 2010-12-25  Bruno Haible  <bruno@clisp.org>
22902
22903         ptsname test: Avoid failure on Solaris.
22904         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
22905         open a pseudo-terminal; don't use BSD-style ptys.
22906         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
22907
22908 2010-12-25  Bruno Haible  <bruno@clisp.org>
22909
22910         ptsname: Avoid ERANGE failure on some systems.
22911         * lib/ptsname.c (buffer): Increase size.
22912
22913 2010-12-25  Bruno Haible  <bruno@clisp.org>
22914
22915         rename, renameat: Avoid test failures at NFS mounted locations.
22916         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
22917         so that subsequent mkdir calls succeed.
22918
22919 2010-12-25  Bruno Haible  <bruno@clisp.org>
22920
22921         iswblank: Fix C++ link error on Solaris 8.
22922         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
22923         _GL_FUNCDECL_SYS.
22924
22925 2010-12-25  Bruno Haible  <bruno@clisp.org>
22926
22927         unistd: Fix C++ link error on Solaris 8.
22928         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
22929
22930 2010-12-25  Bruno Haible  <bruno@clisp.org>
22931
22932         readlink doc: Mention an old glibc bug.
22933         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
22934
22935 2010-12-25  Bruno Haible  <bruno@clisp.org>
22936
22937         fcntl-h: Fix for use of C++ on glibc systems.
22938         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22939         also on glibc systems in C++ mode.
22940         Reported by Gary V. Vaughan <gary@gnu.org>.
22941
22942 2010-12-25  Bruno Haible  <bruno@clisp.org>
22943
22944         roundl-ieee: Make it work on OSF/1 5.1 with cc.
22945         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
22946
22947 2010-12-25  Bruno Haible  <bruno@clisp.org>
22948
22949         truncl-ieee: Make it work on OSF/1 5.1 with cc.
22950         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
22951         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
22952         test whether truncl works according to ISO C 99 with IEC 60559.
22953         * m4/truncl-ieee.m4: New file.
22954         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
22955         m4/signbit.m4.
22956         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
22957
22958 2010-12-25  Bruno Haible  <bruno@clisp.org>
22959
22960         ceill-ieee: Make it work on OSF/1 5.1 with cc.
22961         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
22962         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
22963         test whether ceill works according to ISO C 99 with IEC 60559.
22964         * m4/ceill-ieee.m4: New file.
22965         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
22966         m4/signbit.m4.
22967         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
22968
22969 2010-12-25  Bruno Haible  <bruno@clisp.org>
22970
22971         Ensure all prerequisites of <wchar.h> are included.
22972         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
22973         before <wchar.h>.
22974         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
22975         gl_MBRLEN_NUL_RETVAL): Likewise.
22976         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22977         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
22978         AC_FUNC_MBRTOWC): Likewise.
22979         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22980         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
22981         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22982         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22983         Likewise.
22984         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22985         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
22986         (gl_WCHAR_H): Improve comments.
22987         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22988
22989 2010-12-25  Bruno Haible  <bruno@clisp.org>
22990
22991         strtok_r: Fix C syntax error in autoconf macro.
22992         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
22993         characters in test program.
22994
22995 2010-12-24  Bruno Haible  <bruno@clisp.org>
22996
22997         ceil, trunc, round: Fix gcc warnings.
22998         * lib/ceil.c (MIN): Undefine before redefining.
22999         * lib/trunc.c (MIN): Likewise.
23000         * lib/round.c (MIN): Likewise.
23001         Include <math.h> first.
23002
23003 2010-12-24  Bruno Haible  <bruno@clisp.org>
23004
23005         select tests: Avoid failures on OSF/1 5.1.
23006         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
23007         failure of closing the last socket; it may fail with ECONNRESET.
23008
23009 2010-12-24  Eric Blake  <eblake@redhat.com>
23010
23011         stdint: avoid HP-UX 10.20 preprocessor bug
23012         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
23013         than #if.
23014         * tests/test-floor2.c (main): Likewise.
23015         Reported by Peter O'Gorman.
23016
23017         pipe: make obsoletion transition easier
23018         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
23019         * modules/pipe (Files): Include revived file.
23020         (Include): Drop reference, to mirror getdate's behavior.
23021
23022 2010-12-24  Bruno Haible  <bruno@clisp.org>
23023
23024         sys_socket: Hide mismatch of declarations on NonStop Kernel.
23025         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
23026         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
23027         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23028
23029 2010-12-24  Bruno Haible  <bruno@clisp.org>
23030
23031         gethostname: Ensure declaration on NonStop Kernel.
23032         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
23033         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23034
23035 2010-12-24  Bruno Haible  <bruno@clisp.org>
23036
23037         sys_select: Ensure all necessary types on NonStop Kernel.
23038         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
23039         include <sys/time.h>.
23040         * doc/posix-headers/sys_select.texi: Mention that it's missing on
23041         NonStop Kernel.
23042         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23043
23044 2010-12-24  Bruno Haible  <bruno@clisp.org>
23045
23046         sys_select: Remove unneeded include.
23047         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
23048         have <sys/select.h>.
23049
23050 2010-12-24  Bruno Haible  <bruno@clisp.org>
23051
23052         gethostname: Provide a fallback for HOST_NAME_MAX.
23053         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
23054         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
23055         instead.
23056         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23057
23058 2010-12-24  Bruno Haible  <bruno@clisp.org>
23059
23060         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
23061         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
23062         (SA_RESTART): Likewise.
23063         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23064
23065 2010-12-24  Bruno Haible  <bruno@clisp.org>
23066
23067         signal: Define NSIG.
23068         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
23069         * tests/test-signal.c (nsig): New variable.
23070         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23071
23072 2010-12-24  Bruno Haible  <bruno@clisp.org>
23073
23074         rename, renameat: Avoid test failures on OSF/1 5.1.
23075         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
23076         alternative error codes.
23077         * tests/test-renameat.c (main): Likewise.
23078
23079 2010-12-24  Bruno Haible  <bruno@clisp.org>
23080
23081         *printf: Detect large precisions bug on Solaris 10/SPARC.
23082         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
23083         by Paul Eggert.
23084         * tests/test-snprintf-posix.h (test_function): Add this test code here
23085         too.
23086         * tests/test-sprintf-posix.h (test_function): Likewise.
23087         * tests/test-vasnprintf-posix.c (test_function): Likewise.
23088         * tests/test-vasprintf-posix.c (test_function): Likewise.
23089         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
23090         around by gnulib.
23091         * doc/posix-functions/printf.texi: Likewise.
23092         * doc/posix-functions/snprintf.texi: Likewise.
23093         * doc/posix-functions/sprintf.texi: Likewise.
23094         * doc/posix-functions/vfprintf.texi: Likewise.
23095         * doc/posix-functions/vprintf.texi: Likewise.
23096         * doc/posix-functions/vsnprintf.texi: Likewise.
23097         * doc/posix-functions/vsprintf.texi: Likewise.
23098         * doc/posix-functions/dprintf.texi: Undo last commit.
23099         * doc/posix-functions/vdprintf.texi: Likewise.
23100
23101 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23102
23103         tests: port test-fdutimensat.c to Solaris 8
23104         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
23105         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
23106         On Solaris 8, it fails with errno == ENOSYS, because there is no
23107         futimens (so it can't use the fd), and there is no lutimens (so it
23108         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
23109
23110         vsnprintf: make more consistent with snprintf; doc fixes
23111
23112         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
23113         the byte count return problem was promoted from the snprintf-posix
23114         to the snprintf module.
23115         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23116         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
23117         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
23118         * tests/test-snprintf.c (main): Check the byte count returned.
23119         * tests/test-vsnprintf.c (main): Likewise.
23120
23121 2010-12-23  Eric Blake  <eblake@redhat.com>
23122
23123         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
23124         * modules/sigpipe (License): Relax license.
23125
23126 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23127
23128         doc: document Solaris printf bug with large float precisions
23129         * doc/posix-functions/dprintf.texi (dprintf):
23130         * doc/posix-functions/fprintf.texi (fprintf):
23131         * doc/posix-functions/printf.texi (printf):
23132         * doc/posix-functions/snprintf.texi (snprintf):
23133         * doc/posix-functions/sprintf.texi (sprintf):
23134         * doc/posix-functions/vdprintf.texi (vdprintf):
23135         * doc/posix-functions/vfprintf.texi (vfprintf):
23136         * doc/posix-functions/vprintf.texi (vprintf):
23137         * doc/posix-functions/vsnprintf.texi (vsnprintf):
23138         * doc/posix-functions/vsprintf.texi (vsprintf):
23139         Mention that these functions mishandle large floating point
23140         precisions on Solaris 10.  The same bug is also present in Solaris
23141         8, and I assume earlier.  This causes "cd gnulib-tests; make
23142         check" to fail on Solaris 8 (and I assume, later) when building
23143         the latest coreutils, in test-vasprintf-posix's call to
23144         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
23145         the wide flavors (e.g., wprintf) so this patch just updates the
23146         documentation for the narrow ones.
23147
23148         test-posixtm.c: add two tests
23149         * tests/test-posixtm.c: Add two tests, to highlight the
23150         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
23151         around this bug; this is merely to document it.
23152
23153 2010-12-22  Bruno Haible  <bruno@clisp.org>
23154
23155         getlogin_r: Work around portability problem on OSF/1.
23156         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
23157         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
23158         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
23159         test for a truncated result.
23160         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
23161         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
23162         * modules/getlogin_r (Depends-on): Add memchr.
23163         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
23164
23165 2010-12-22  Bruno Haible  <bruno@clisp.org>
23166
23167         ptsname: Avoid test failure on OSF/1 5.1.
23168         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
23169         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
23170         (same_slave): New function.
23171         (main): Use it to compare ptsname's result with the expected file name.
23172
23173 2010-12-22  Bruno Haible  <bruno@clisp.org>
23174
23175         Port extended stdio modules to HP NonStop Kernel.
23176         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
23177         macros.
23178         * lib/fbufmode.c: Update comments.
23179         * lib/fflush.c: Likewise.
23180         * lib/fpurge.c: Likewise.
23181         * lib/freadable.c: Likewise.
23182         * lib/freadahead.c: Likewise.
23183         * lib/freading.c: Likewise.
23184         * lib/freadptr.c: Likewise.
23185         * lib/freadseek.c: Likewise.
23186         * lib/fseeko.c: Likewise.
23187         * lib/fseterr.c: Likewise.
23188         * lib/fwritable.c: Likewise.
23189         * lib/fwriting.c: Likewise.
23190         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23191
23192 2010-12-22  Bruno Haible  <bruno@clisp.org>
23193
23194         ttyname_r: Work around bug on OSF/1 5.1.
23195         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
23196         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
23197         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
23198         present.
23199         * lib/ttyname_r.c (ttyname_r): Update comments.
23200
23201 2010-12-22  Bruno Haible  <bruno@clisp.org>
23202
23203         round: Implement result sign according to IEEE 754.
23204         * lib/round.c (MIN, MINUS_ZERO): New macros.
23205         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
23206         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
23207         * tests/test-round-ieee.c (main): Likewise.
23208         * tests/test-roundl-ieee.c (main): Likewise.
23209
23210         trunc: Implement result sign according to IEEE 754.
23211         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
23212         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
23213         * tests/test-trunc2.c: Include minus-zero.h.
23214         (MINUS_ZERO): New macro.
23215         (trunc_reference): Keep in sync with lib/trunc.c.
23216         * tests/test-truncf2.c: Include minus-zero.h.
23217         (MINUS_ZERO): New macro.
23218         (truncf_reference): Keep in sync with lib/trunc.c.
23219         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
23220         * tests/test-trunc-ieee.c (main): Likewise.
23221         * tests/test-truncl-ieee.c (main): Likewise.
23222
23223         ceil: Implement result sign according to IEEE 754.
23224         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
23225         (FUNC): Return -0.0 for -1 < x < 0.
23226         * tests/test-ceil2.c: Include minus-zero.h.
23227         (MINUS_ZERO): New macro.
23228         (ceil_reference): Keep in sync with lib/ceil.c.
23229         * tests/test-ceilf2.c: Include minus-zero.h.
23230         (MINUS_ZERO): New macro.
23231         (ceilf_reference): Keep in sync with lib/ceil.c.
23232         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
23233         * tests/test-ceil-ieee.c (main): Likewise.
23234         * tests/test-ceill-ieee.c (main): Likewise.
23235
23236         floor: Implement result sign according to IEEE 754.
23237         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
23238         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
23239         * tests/test-floorf2.c (floorf_reference): Likewise.
23240         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
23241         * tests/test-floor-ieee.c (main): Likewise.
23242         * tests/test-floorl-ieee.c (main): Likewise.
23243
23244 2010-12-22  Bruno Haible  <bruno@clisp.org>
23245
23246         getaddrinfo: Update doc.
23247         * doc/posix-functions/gai_strerror.texi: Return type is also different
23248         on AIX and HP-UX.
23249
23250 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23251
23252         getaddrinfo, inet_ntop: Update doc for Solaris.
23253         * doc/posix-functions/gai_strerror.texi: Return type is also an
23254         issue on Solaris 9 and earlier.
23255         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
23256         on Solaris 10 and earlier.
23257
23258 2010-12-21  Bruno Haible  <bruno@clisp.org>
23259
23260         New module 'roundl-ieee'.
23261         * modules/roundl-ieee: New file.
23262         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
23263         test whether roundl works according to ISO C 99 with IEC 60559.
23264         * m4/roundl-ieee.m4: New file.
23265         * modules/roundl-ieee-tests: New file.
23266         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
23267         * tests/test-roundl.c (main): Remove signbit tests.
23268         * modules/roundl-tests (Depends-on): Remove signbit.
23269         * doc/posix-functions/roundl.texi: Mention the new module.
23270
23271 2010-12-21  Bruno Haible  <bruno@clisp.org>
23272
23273         New module 'truncl-ieee'.
23274         * modules/truncl-ieee: New file.
23275         * modules/truncl-ieee-tests: New file.
23276         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
23277         * tests/test-truncl.c (main): Remove signbit tests.
23278         * modules/truncl-tests (Depends-on): Remove signbit.
23279         * doc/posix-functions/truncl.texi: Mention the new module.
23280
23281 2010-12-21  Bruno Haible  <bruno@clisp.org>
23282
23283         New module 'ceill-ieee'.
23284         * modules/ceill-ieee: New file.
23285         * modules/ceill-ieee-tests: New file.
23286         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
23287         * tests/test-ceill.c (main): Remove signbit tests.
23288         * modules/ceill-tests (Depends-on): Remove signbit.
23289         * doc/posix-functions/ceill.texi: Mention the new module.
23290
23291 2010-12-21  Bruno Haible  <bruno@clisp.org>
23292
23293         New module 'floorl-ieee'.
23294         * modules/floorl-ieee: New file.
23295         * modules/floorl-ieee-tests: New file.
23296         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
23297         * tests/test-floorl.c (main): Remove signbit tests.
23298         * modules/floorl-tests (Depends-on): Remove signbit.
23299         * doc/posix-functions/floorl.texi: Mention the new module.
23300
23301 2010-12-21  Bruno Haible  <bruno@clisp.org>
23302
23303         New module 'round-ieee'.
23304         * modules/round-ieee: New file.
23305         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
23306         whether round works according to ISO C 99 with IEC 60559.
23307         * m4/round-ieee.m4: New file.
23308         * modules/round-ieee-tests: New file.
23309         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
23310         * tests/test-round1.c (main): Remove signbit tests.
23311         * modules/round-tests (Depends-on): Remove 'signbit'.
23312         * doc/posix-functions/round.texi: Mention the new module.
23313
23314 2010-12-21  Bruno Haible  <bruno@clisp.org>
23315
23316         New module 'trunc-ieee'.
23317         * modules/trunc-ieee: New file.
23318         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
23319         whether trunc works according to ISO C 99 with IEC 60559.
23320         * m4/trunc-ieee.m4: New file.
23321         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
23322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
23323         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
23324         * modules/trunc-ieee-tests: New file.
23325         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
23326         * tests/test-trunc1.c (main): Remove signbit tests.
23327         * modules/trunc-tests (Depends-on): Remove 'signbit'.
23328         * doc/posix-functions/trunc.texi: Mention the new module.
23329
23330 2010-12-21  Bruno Haible  <bruno@clisp.org>
23331
23332         New module 'ceil-ieee'.
23333         * modules/ceil-ieee: New file.
23334         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
23335         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
23336         ISO C 99 with IEC 60559.
23337         * m4/ceil-ieee.m4: New file.
23338         * modules/ceil (Files): Add lib/ceil.c.
23339         (Depends-on): Add 'float'.
23340         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23341         * lib/math.in.h (ceil): New declaration.
23342         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
23343         REPLACE_CEIL.
23344         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
23345         * modules/ceil-ieee-tests: New file.
23346         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
23347         * tests/test-math-c++.cc: Check the signature of 'ceil'.
23348         * doc/posix-functions/ceil.texi: Mention the new module.
23349
23350 2010-12-21  Bruno Haible  <bruno@clisp.org>
23351
23352         New module 'floor-ieee'.
23353         * modules/floor-ieee: New file.
23354         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
23355         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
23356         ISO C 99 with IEC 60559.
23357         * m4/floor-ieee.m4: New file.
23358         * modules/floor (Files): Add lib/floor.c.
23359         (Depends-on): Add 'float'.
23360         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23361         * lib/math.in.h (floor): New declaration.
23362         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
23363         REPLACE_FLOOR.
23364         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
23365         * modules/floor-ieee-tests: New file.
23366         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
23367         * tests/test-math-c++.cc: Check the signature of 'floor'.
23368         * doc/posix-functions/floor.texi: Mention the new module.
23369
23370 2010-12-21  Bruno Haible  <bruno@clisp.org>
23371
23372         New module 'roundf-ieee'.
23373         * modules/roundf-ieee: New file.
23374         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
23375         test whether roundf works according to ISO C 99 with IEC 60559.
23376         * m4/roundf-ieee.m4: New file.
23377         * modules/roundf-ieee-tests: New file.
23378         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
23379         * tests/test-roundf1.c (main): Remove signbit tests.
23380         * modules/roundf-tests (Depends-on): Remove 'signbit'.
23381         * doc/posix-functions/roundf.texi: Mention the new module.
23382
23383 2010-12-21  Bruno Haible  <bruno@clisp.org>
23384
23385         New module 'truncf-ieee'.
23386         * modules/truncf-ieee: New file.
23387         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
23388         test whether truncf works according to ISO C 99 with IEC 60559.
23389         * m4/truncf-ieee.m4: New file.
23390         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
23391         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
23392         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
23393         * modules/truncf-ieee-tests: New file.
23394         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
23395         * tests/test-truncf1.c (main): Remove signbit tests.
23396         * modules/truncf-tests (Depends-on): Remove 'signbit'.
23397         * doc/posix-functions/truncf.texi: Mention the new module.
23398
23399 2010-12-21  Bruno Haible  <bruno@clisp.org>
23400
23401         New module 'ceilf-ieee'.
23402         * modules/ceilf-ieee: New file.
23403         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
23404         test whether ceilf works according to ISO C 99 with IEC 60559.
23405         * m4/ceilf-ieee.m4: New file.
23406         * modules/ceilf-ieee-tests: New file.
23407         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
23408         * tests/test-ceilf1.c (main): Remove signbit tests.
23409         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
23410         * doc/posix-functions/ceilf.texi: Mention the new module.
23411
23412 2010-12-21  Bruno Haible  <bruno@clisp.org>
23413
23414         New module 'floorf-ieee'.
23415         * modules/floorf-ieee: New file.
23416         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
23417         test whether floorf works according to ISO C 99 with IEC 60559.
23418         * m4/floorf-ieee.m4: New file.
23419         * modules/floorf-ieee-tests: New file.
23420         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
23421         * tests/test-floorf1.c (main): Remove signbit tests.
23422         * modules/floorf-tests (Depends-on): Remove 'signbit'.
23423         * doc/posix-functions/floorf.texi: Mention the new module.
23424
23425 2010-12-21  Bruno Haible  <bruno@clisp.org>
23426
23427         Support for minus zero in autoconf macros.
23428         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
23429         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
23430         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
23431         * tests/minus-zero.h: Update comments.
23432
23433 2010-12-21  Bruno Haible  <bruno@clisp.org>
23434
23435         Tests for module 'ceil'.
23436         * modules/ceil-tests: New file.
23437         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
23438         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
23439
23440 2010-12-21  Bruno Haible  <bruno@clisp.org>
23441
23442         Tests for module 'floor'.
23443         * modules/floor-tests: New file.
23444         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
23445         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
23446
23447 2010-12-21  Bruno Haible  <bruno@clisp.org>
23448
23449         math: Fix indentation.
23450         * lib/math.in.h (floorf): Fix indentation.
23451
23452 2010-12-21  Bruno Haible  <bruno@clisp.org>
23453
23454         Fix cross-compilation guesses on Solaris.
23455         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
23456         not match "solaris2.10".
23457         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23458         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
23459         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
23460
23461 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
23462
23463         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
23464         This fixes a problem observed with the latest coreutils snapshot
23465         that caused a test to fail on Solaris 8.  src/csplit.c's call
23466         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
23467         earlier, instead of returning the number of bytes that would have
23468         been generated; this causes csplit to incorrectly report memory
23469         exhaustion.
23470         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
23471         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
23472         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
23473         comments to match.
23474         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
23475         Fix typo in matching older versions of Solaris: "solaris2.10"
23476         is matched by the shell pattern "solaris2.[0-9]*".  This matters
23477         only for guessing while cross-compiling.
23478         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
23479
23480 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
23481
23482         ftoastr: fix comment again
23483         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
23484         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
23485         Also, simplify example a bit by using flags = 0.
23486
23487 2010-12-20  Bruno Haible  <bruno@clisp.org>
23488
23489         round*, trunc*: Update documentation regarding glibc.
23490         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
23491         * doc/posix-functions/round.texi: Likewise.
23492         * doc/posix-functions/roundl.texi: Likewise.
23493         * doc/posix-functions/truncf.texi: Likewise.
23494         * doc/posix-functions/trunc.texi: Likewise.
23495         * doc/posix-functions/truncl.texi: Likewise.
23496
23497 2010-12-20  Bruno Haible  <bruno@clisp.org>
23498
23499         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
23500         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
23501         * doc/posix-functions/round.texi: Likewise.
23502         * doc/posix-functions/roundl.texi: Likewise.
23503
23504 2010-12-20  Bruno Haible  <bruno@clisp.org>
23505
23506         ttyname_r: Add missing declaration on HP-UX 11.
23507         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
23508         HAVE_TTYNAME_R.
23509         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
23510         declared. Set HAVE_TTYNAME_R always.
23511         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23512         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
23513         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
23514         HAVE_TTYNAME_R.
23515         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
23516
23517 2010-12-20  Bruno Haible  <bruno@clisp.org>
23518
23519         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
23520         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
23521         * doc/posix-functions/getlogin_r.texi: Likewise.
23522         * tests/test-getlogin.c: Include <errno.h>.
23523         (main): Avoid test failure on HP-UX 11.11.
23524         * tests/test-getlogin_r.c (main): Likewise.
23525
23526 2010-12-20  Bruno Haible  <bruno@clisp.org>
23527
23528         getlogin_r: Add missing declaration on HP-UX 11.
23529         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
23530         declared also when it exists as a function.
23531         * doc/posix-functions/getlogin_r.texi: Document this workaround.
23532
23533 2010-12-20  Bruno Haible  <bruno@clisp.org>
23534
23535         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
23536         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
23537         through wcrtomb.
23538
23539 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
23540
23541         ftoastr: fix comment
23542         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
23543         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
23544
23545 2010-12-19  Bruno Haible  <bruno@clisp.org>
23546
23547         isnan: Ensure it is a macro.
23548         * lib/math.in.h (isnan): Define as a macro if not already a macro.
23549         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
23550         Solaris.
23551
23552 2010-12-19  Bruno Haible  <bruno@clisp.org>
23553
23554         ldexpl test: Fix link error on OSF/1 5.1.
23555         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
23556
23557 2010-12-19  Bruno Haible  <bruno@clisp.org>
23558
23559         wctype: Make it work in C++ mode on OSF/1 5.1.
23560         * lib/wctype.in.h (iswblank): Declare but not define here.
23561         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
23562         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
23563         * modules/wctype (Files): Add lib/iswblank.c.
23564
23565 2010-12-19  Bruno Haible  <bruno@clisp.org>
23566
23567         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
23568         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
23569         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
23570
23571 2010-12-19  Bruno Haible  <bruno@clisp.org>
23572
23573         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
23574         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
23575         _POSIX_PII_SOCKET.
23576         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
23577         * doc/posix-functions/recvfrom.texi: Likewise.
23578         * doc/posix-functions/send.texi: Likewise.
23579         * doc/posix-functions/sendto.texi: Likewise.
23580
23581 2010-12-19  Bruno Haible  <bruno@clisp.org>
23582
23583         tcgetsid: Add missing declaration on OSF/1 5.1.
23584         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
23585         HAVE_TCGETSID.
23586         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
23587         Don't set HAVE_TCGETSID.
23588         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
23589         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
23590         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
23591         HAVE_TCGETSID.
23592         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
23593
23594 2010-12-19  Bruno Haible  <bruno@clisp.org>
23595
23596         stdio: Fix problem with popen() declaration on OSF/1 5.1.
23597         * lib/stdio.in.h: During the include_next statement, let recursive
23598         includes of this file include only the system header file.
23599
23600 2010-12-19  Bruno Haible  <bruno@clisp.org>
23601
23602         iconv_open: Fix regression from 2010-12-04.
23603         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
23604         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
23605
23606 2010-12-19  Bruno Haible  <bruno@clisp.org>
23607
23608         stdbool test: Avoid a gcc warning.
23609         * tests/test-stdbool.c (main): Fail if e1 is false.
23610         Reported by Jim Meyering.
23611
23612 2010-12-19  Jim Meyering  <meyering@redhat.com>
23613
23614         setenv: restore to working order
23615         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
23616         mistakenly removed.
23617         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
23618         HAVE_SETENV.
23619         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
23620         HAVE_SETENV.
23621
23622 2010-12-19  Bruno Haible  <bruno@clisp.org>
23623
23624         Document some different function declarations on OSF/1 5.1.
23625         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
23626         * doc/posix-functions/inet_ntop.texi: Likewise.
23627         * doc/posix-functions/gethostname.texi: Likewise.
23628         * lib/unistd.in.h (gethostname): Update comment.
23629
23630 2010-12-19  Bruno Haible  <bruno@clisp.org>
23631
23632         doc: Mention vasprintf-posix module.
23633         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
23634         the 'vasprintf-posix' module.
23635         * doc/glibc-functions/vasprintf.texi: Likewise.
23636
23637 2010-12-19  Bruno Haible  <bruno@clisp.org>
23638
23639         unsetenv: Add missing declaration on OSF/1 5.1.
23640         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
23641         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
23642         Don't set HAVE_UNSETENV. In the test program, set _BSD.
23643         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
23644         not HAVE_UNSETENV.
23645         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
23646         HAVE_UNSETENV.
23647         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
23648
23649 2010-12-19  Bruno Haible  <bruno@clisp.org>
23650
23651         setenv: Add missing declaration on OSF/1 5.1.
23652         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
23653         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
23654         declared. Don't set HAVE_SETENV.
23655         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
23656         not HAVE_SETENV.
23657         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
23658         HAVE_SETENV.
23659         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
23660
23661 2010-12-19  Bruno Haible  <bruno@clisp.org>
23662
23663         nl_langinfo tests: Avoid gcc warning.
23664         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
23665
23666 2010-12-19  Bruno Haible  <bruno@clisp.org>
23667
23668         mknod: Avoid error in C++ mode on OSF/1 with GCC.
23669         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
23670         _GL_CXXALIAS_SYS.
23671
23672 2010-12-19  Bruno Haible  <bruno@clisp.org>
23673
23674         stdbool: Relax test.
23675         * tests/test-stdbool.c (e): Don't require that casts from a variable's
23676         address to 'bool' work in static initializer, for compilers other than
23677         GCC.
23678
23679 2010-12-19  Bruno Haible  <bruno@clisp.org>
23680
23681         ftello: Add missing declaration on OSF/1 5.1.
23682         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
23683         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
23684         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
23685         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
23686         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
23687
23688 2010-12-19  Bruno Haible  <bruno@clisp.org>
23689
23690         fseeko: Add missing declaration on OSF/1 5.1.
23691         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
23692         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
23693         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
23694         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
23695         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
23696
23697 2010-12-19  Bruno Haible  <bruno@clisp.org>
23698
23699         fchdir: Add missing declaration on OSF/1 5.1.
23700         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
23701         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
23702         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
23703         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
23704         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
23705
23706 2010-12-19  Bruno Haible  <bruno@clisp.org>
23707
23708         relocatable-prog-wrapper: Separate from relocatable-prog.
23709         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
23710         uninstall-relocwrapper rule here.
23711         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
23712         Reported by Ian Beckwith <ianb@erislabs.net>.
23713
23714 2010-12-19  Bruno Haible  <bruno@clisp.org>
23715
23716         unistr/u8-mbsnlen: Add missing dependency.
23717         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
23718         Reported by Ian Beckwith <ianb@erislabs.net>.
23719
23720 2010-12-19  Bruno Haible  <bruno@clisp.org>
23721
23722         iconv: Make it possible again to use this module without 'iconv-h'.
23723         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
23724         if it is not defined.
23725         Reported by Ian Beckwith <ianb@erislabs.net>.
23726
23727 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
23728
23729         acl: port to Solaris 8 when copying from tmpfs to ufs
23730         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
23731         error number.  Problem observed on Solaris 8 with latest
23732         coreutils, with "mv A B", where A is on a tmpfs file system and B
23733         is on a ufs file system.  This caused coreutils' mv/part-symlink
23734         test to fail.
23735
23736         tests: set fail=0 at start
23737         * tests/init.sh (setup_): Move fail=0 initialization here ...
23738         (mktempd_): ... from here, so that tests can rely on fail being
23739         set to 0 initially.  This fixes a problem in coreutils; see:
23740         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
23741
23742 2010-12-18  Bruno Haible  <bruno@clisp.org>
23743
23744         memmem-simple: Stylistic changes.
23745         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
23746         Fix preprocessor directive indentation.
23747
23748 2010-12-15  Pádraig Brady <P@draigBrady.com>
23749
23750         memmem, memmem-simple: reorganize and expand empty needle check
23751         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
23752         functional checks to memmem-simple so that one has a fully functional
23753         memmem by using just this module.
23754         Restrict the performance only check to the memmem module.
23755         Also expand the empty needle check to ensure the correct
23756         pointer is returned, not just a non NULL pointer.
23757         * doc/glibc-functions/memmem.texi: Rearrange the portability
23758         documentation to correlate with the rearranged checks.
23759         Clarify exactly how the memmem and memmem-simple modules
23760         relate to each other.
23761
23762 2010-12-15  Pádraig Brady <P@draigBrady.com>
23763             Bruno Haible  <bruno@clisp.org>
23764
23765         Improve cross-compilation guesses for uClibc.
23766         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
23767         that uClibc does not have the glibc bug.
23768         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
23769         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
23770
23771 2010-12-14  Eric Blake  <eblake@redhat.com>
23772
23773         configmake: provide fallbacks for oldest supported autotools
23774         * m4/configmake.m4: New file.
23775         * modules/configmake (Files): Ship it.
23776         (configure.ac): Use it to guarantee fallbacks.
23777
23778 2010-12-13  Pádraig Brady <P@draigBrady.com>
23779
23780         read-file: Improve handling of large files
23781         * lib/read-file.c (fread_file): Minimize realloc()s
23782         for regular files, and better manage sizes around SIZE_MAX.
23783
23784 2010-12-13  Eric Blake  <eblake@redhat.com>
23785
23786         cloexec, fcntl: relax license
23787         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
23788         consent from all contributors.
23789         * modules/fcntl (License): Likewise.
23790
23791 2010-12-10  Bruno Haible  <bruno@clisp.org>
23792
23793         Tests for module 'pipe-posix'.
23794         * modules/pipe-posix-tests: New file.
23795         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
23796
23797 2010-12-10  Bruno Haible  <bruno@clisp.org>
23798
23799         pipe-posix: Make it work in C++ mode.
23800         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
23801         (pipe): Use common idiom, not a macro definition.
23802         * lib/pipe.c: New file.
23803         * m4/pipe.m4: New file.
23804         * modules/pipe-posix (Description): Enhance.
23805         (Files): Add lib/pipe.c, m4/pipe.m4.
23806         (configure.ac): Invoke gl_FUNC_PIPE.
23807         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
23808         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
23809         * tests/test-unistd-c++.cc: Check the signature of pipe.
23810
23811 2010-12-10  Bruno Haible  <bruno@clisp.org>
23812
23813         Rename module 'pipe' to 'spawn-pipe'.
23814         * modules/spawn-pipe: New file, renamed from modules/pipe.
23815         (Files, configure.ac, Makefile.am): Update.
23816         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
23817         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
23818         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
23819         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
23820         "spawn-pipe.h" instead of "pipe.h".
23821         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
23822         to gl_SPAWN_PIPE.
23823         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
23824         (Files, Makefile.am): Update.
23825         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
23826         Update.
23827         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
23828         Include "spawn-pipe.h" instead of "pipe.h".
23829         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
23830         * lib/javacomp.c: Likewise.
23831         * lib/javaversion.c: Likewise.
23832         * lib/pipe-filter-gi.c: Likewise.
23833         * lib/pipe-filter-ii.c: Likewise.
23834         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
23835         * modules/javacomp (Depends-on): Likewise.
23836         * modules/javaversion (Depends-on): Likewise.
23837         * modules/pipe-filter-gi (Depends-on): Likewise.
23838         * modules/pipe-filter-ii (Depends-on): Likewise.
23839         * MODULES.html.sh (Executing programs): Update.
23840         * NEWS: Mention the change.
23841
23842 2010-12-10  Eric Blake  <eblake@redhat.com>
23843
23844         pipe-posix: new module
23845         * modules/pipe-posix: New file.
23846         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
23847         (gl_UNISTD_H): Check for declaration.
23848         * modules/unistd (Makefile.am): Substitute it.
23849         * lib/unistd.in.h (pipe): Provide it for mingw.
23850         * doc/posix-functions/pipe.texi (pipe): Update documentation.
23851         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
23852
23853 2010-12-07  Bruno Haible  <bruno@clisp.org>
23854
23855         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
23856         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
23857         u8_strcmp_gnu.
23858         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
23859
23860 2010-12-06  Bruno Haible  <bruno@clisp.org>
23861
23862         Update internal documentation.
23863         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
23864
23865 2010-12-04  Bruno Haible  <bruno@clisp.org>
23866
23867         Put more information about failed tests into the test return codes.
23868         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
23869         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
23870         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23871         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23872         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23873         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23874         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23875         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23876         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
23877         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23878         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
23879         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23880         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
23881         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23882         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
23883         returns a bit mask.
23884         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
23885         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
23886         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
23887         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
23888         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23889         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23890         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23891         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23892         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23893         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23894         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23895         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23896         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23897         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23898         * m4/link.m4 (gl_FUNC_LINK): Likewise.
23899         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23900         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
23901         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
23902         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23903         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
23904         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23905         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23906         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23907         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
23908         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23909         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23910         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23911         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23912         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23913         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
23914         gl_PRINTF_PRECISION): Likewise.
23915         * m4/regex.m4 (gl_REGEX): Likewise.
23916         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23917         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23918         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
23919         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23920         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23921         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23922         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
23923         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
23924         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23925         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23926         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
23927         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23928         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23929         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23930         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23931         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23932         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23933         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23934         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23935         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
23936         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
23937         enumerated value.
23938         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
23939
23940 2010-12-04  Bruno Haible  <bruno@clisp.org>
23941
23942         Update for Solaris 11 2010-11.
23943         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
23944         Express, released in November 2010.
23945
23946 2010-12-04  Bruno Haible  <bruno@clisp.org>
23947
23948         nproc: Relax license.
23949         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
23950         and Paul Eggert.
23951         Requested by Ludovic Courtès <ludo@gnu.org>.
23952
23953 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
23954
23955         utimecmp: fine-grained src to nearby coarse-grained dest
23956
23957         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
23958         and the source is on a file system with higher-resolution time
23959         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
23960         not work, and the time stamps are close together, the algorithm to
23961         determine the exact resolution from the read-back mtime was buggy:
23962         it had a "!=" where it should have had an "==".  This bug has been
23963         in the code ever since it was introduced to gnulib.
23964         Problem reported by Dan Jacobson in
23965         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
23966
23967 2010-11-30  Bruno Haible  <bruno@clisp.org>
23968
23969         strerror_r-posix: Fix autoconf test.
23970         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
23971
23972 2010-11-28  Bruno Haible  <bruno@clisp.org>
23973             Paul Eggert  <eggert@cs.ucla.edu>
23974
23975         Tests for module 'getdomainname'.
23976         * modules/getdomainname-tests: New file.
23977         * tests/test-getdomainname.c: New file, based on
23978         tests/test-gethostname.c.
23979
23980 2010-11-28  Bruno Haible  <bruno@clisp.org>
23981             Paul Eggert  <eggert@cs.ucla.edu>
23982
23983         getdomainname: Use the system function when possible.
23984         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
23985         (getdomainname): Replace if needed. Provide the declaration if it is
23986         missing. Don't use _GL_CXXALIAS_SYS_CAST.
23987         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
23988         (getdomainname): When the system has getdomainname, call the system
23989         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
23990         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
23991         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
23992         found in libnsl. Look for the declaration also in <netdb.h>. Replace
23993         the function if its second argument is of type 'int' or if it is found
23994         in libnsl.
23995         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
23996         <sys/systeminfo.h> and sysinfo().
23997         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
23998         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23999         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
24000         HAVE_GETDOMAINNAME.
24001         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
24002         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
24003         * doc/glibc-functions/getdomainname.texi: Document the problems with
24004         the getdomainname declaration.
24005
24006 2010-11-28  Bruno Haible  <bruno@clisp.org>
24007
24008         sys_socket: Ensure ss_family field on AIX.
24009         * lib/sys_socket.in.h (ss_family): New macro definition.
24010         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
24011         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
24012         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24013         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24014         * modules/sys_socket (Makefile.am): Substitute
24015         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24016         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
24017
24018 2010-11-27  Bruno Haible  <bruno@clisp.org>
24019
24020         readline: Improve configure output.
24021         * m4/readline.m4 (gl_FUNC_READLINE): Make the
24022         "checking for readline..." result understandable.
24023
24024 2010-11-27  Bruno Haible  <bruno@clisp.org>
24025
24026         *printf-posix: Detect a bug on Solaris 10/x86.
24027         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
24028         for floating-point output.
24029         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
24030         directive.
24031         * tests/test-snprintf-posix.h (test_function): Likewise.
24032         * tests/test-sprintf-posix.h (test_function): Likewise.
24033         * tests/test-vasprintf-posix.c (test_function): Likewise.
24034         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
24035         * doc/posix-functions/printf.texi: Likewise.
24036         * doc/posix-functions/snprintf.texi: Likewise.
24037         * doc/posix-functions/sprintf.texi: Likewise.
24038         * doc/posix-functions/vfprintf.texi: Likewise.
24039         * doc/posix-functions/vprintf.texi: Likewise.
24040         * doc/posix-functions/vsnprintf.texi: Likewise.
24041         * doc/posix-functions/vsprintf.texi: Likewise.
24042         * doc/glibc-functions/obstack_printf.texi: Likewise.
24043         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
24044
24045 2010-11-27  Bruno Haible  <bruno@clisp.org>
24046
24047         Fix link error when module libunistring-optional is in use.
24048         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
24049         * modules/striconveha-tests (Makefile.am): Likewise.
24050
24051 2010-11-27  Bruno Haible  <bruno@clisp.org>
24052
24053         regex: Mention link dependencies.
24054         * modules/regex (Link): New section.
24055         * modules/rpmatch (Link): Likewise.
24056         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
24057
24058 2010-11-27  Bruno Haible  <bruno@clisp.org>
24059
24060         ftoastr: Fix compilation error on Solaris.
24061         * lib/ftoastr.c: Include <config.h>.
24062
24063 2010-11-27  Bruno Haible  <bruno@clisp.org>
24064
24065         getloadavg: Update documentation.
24066         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
24067
24068 2010-11-27  Bruno Haible  <bruno@clisp.org>
24069
24070         sys_socket: Fix test whether the functions are declared.
24071         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
24072         not <sys/select.h>.
24073
24074 2010-11-27  Bruno Haible  <bruno@clisp.org>
24075
24076         getpass: Make sure to get system declaration on some platforms.
24077         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
24078         gl_USE_SYSTEM_EXTENSIONS.
24079         * modules/getpass (Depends-on): Add extensions.
24080
24081 2010-11-26  Bruno Haible  <bruno@clisp.org>
24082
24083         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
24084         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
24085         'iconv' module is present.
24086         (ICONV_CONST): New macro.
24087         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
24088         ICONV_CONST.
24089         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
24090         set ICONV_CONST.
24091         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
24092         here.
24093         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
24094         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
24095         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
24096         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
24097         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
24098         present.
24099
24100 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
24101
24102         ftoastr: comment fix
24103         * lib/ftoastr.c: "little" -> "little or no" in comment
24104
24105 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
24106
24107         stdint: port to GCC 4.3 + OSX + Octave
24108         On this platform, stdint.h is buggy and defines int64_t to long
24109         long int.  The replacement defined it to long int, causing
24110         problems with C++ style name mangling.  Instead, trust the system
24111         definition if INT64_MAX is defined, and likewise for the unsigned
24112         variant.   Problem reported by Jarno Rajahalme in
24113         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
24114         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
24115         and don't mess with int64_t and INT64_MAX in this case.
24116         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
24117
24118 2010-11-24  Bruno Haible  <bruno@clisp.org>
24119
24120         doc: Corrections regarding MacOS X 10.4 and 10.5.
24121         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
24122         MacOS X.
24123         Reported by Simon Josefsson.
24124
24125 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
24126
24127         Uninstall ".bin" files installed by relocwrapper.
24128         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
24129         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
24130         unless it is already there.
24131
24132 2010-11-21  Bruno Haible  <bruno@clisp.org>
24133
24134         Update for NetBSD 5.0.
24135         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24136         NetBSD; the test fails on NetBSD 5.0.
24137         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24138         about NetBSD.
24139
24140 2010-11-21  Bruno Haible  <bruno@clisp.org>
24141
24142         Update for HP-UX 11.23 and HP-UX 11.31.
24143         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
24144         HP-UX.
24145
24146 2010-11-21  Bruno Haible  <bruno@clisp.org>
24147
24148         Update for MacOS X 10.5.
24149         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24150         MacOS X; the test fails on MacOS X 10.5.8.
24151         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24152         about MacOS X.
24153
24154 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
24155
24156         bootstrap: add bootstrap_sync option.
24157         See discussion at
24158         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
24159         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
24160         * build-aux/bootstrap: Accept --bootstrap-sync to update
24161         bootstrap if it is not identical to the local gnulib's
24162         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
24163         enable this by default.  Accept --no-bootstrap-sync to disable
24164         it.
24165
24166 2010-11-20  Bruno Haible  <bruno@clisp.org>
24167
24168         Ensure that <features.h> is included before __GLIBC__ is tested.
24169         * lib/printf-parse.h: Include <features.h>.
24170         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
24171         Reported by Mike Frysinger <vapier@gentoo.org>.
24172
24173         Ensure that <features.h> is included before __GLIBC__ is tested.
24174         * lib/wchar.in.h: Include <features.h>.
24175         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
24176         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
24177         Reported by Mike Frysinger <vapier@gentoo.org>.
24178
24179         Ensure that <features.h> is included before __GLIBC__ is tested.
24180         * lib/arpa_inet.in.h: Include <features.h>.
24181         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
24182         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
24183         Reported by Mike Frysinger <vapier@gentoo.org>.
24184
24185         Ensure that <features.h> is included before __GLIBC__ is tested.
24186         * build-aux/link-warning.h: Include <features.h>.
24187         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
24188         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
24189         Reported by Mike Frysinger <vapier@gentoo.org>.
24190
24191         Ensure that <features.h> is included before __GLIBC__ is tested.
24192         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
24193         Reported by Mike Frysinger <vapier@gentoo.org>.
24194
24195 2010-11-20  Bruno Haible  <bruno@clisp.org>
24196
24197         memmem: Fix autoconf test.
24198         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
24199
24200 2010-11-20  Bruno Haible  <bruno@clisp.org>
24201
24202         Port to uClibc.
24203         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
24204         * lib/fcntl.in.h: Likewise.
24205         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
24206         * lib/mbrtowc.c (mbrtowc): Likewise.
24207         * lib/relocatable.c (find_shared_library_fullname): Likewise.
24208         * lib/strerror_r.c: Likewise.
24209         * lib/unistr/u8-strnlen.c: Likewise.
24210         * lib/vasnprintf.c (decimal_point_char): Likewise.
24211         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24212         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24213         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24214         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
24215         * tests/test-sigaction.c (handler, main): Likewise.
24216         * lib/freading.h: Treat uClibc like a non-glibc platform.
24217         * lib/freading.c: Likewise.
24218         * lib/gettext.h: Likewise.
24219         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
24220         Likewise.
24221         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
24222         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
24223         * lib/propername.c (proper_name_utf8): Likewise.
24224         * lib/spawn.in.h: Likewise.
24225         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
24226         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
24227         mem_cd_iconveh_internal): Likewise.
24228         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
24229         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
24230         strstr, strcasestr): Likewise.
24231         * lib/unicodeio.c (unicode_to_mb): Likewise.
24232         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
24233         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
24234         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
24235         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
24236         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
24237         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
24238         * lib/unistr/u8-stpncpy.c: Likewise.
24239         * lib/vasnprintf.c (VASNPRINTF): Likewise.
24240         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
24241         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24242         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24243         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
24244         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
24245         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
24246         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
24247         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
24248         Likewise.
24249         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
24250         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
24251         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
24252         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24253         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
24254         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24255         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24256         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24257         * tests/test-getopt.h (OPTIND_MIN): Likewise.
24258         * tests/test-striconveha.c (main): Likewise.
24259         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24260         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
24261         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
24262         * doc/posix-functions/getline.texi: Likewise.
24263         Reported by Mike Frysinger <vapier@gentoo.org>.
24264
24265 2010-11-20  Bruno Haible  <bruno@clisp.org>
24266
24267         nproc: Fix condition.
24268         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
24269         HAVE_PTHREAD_AFFINITY_NP.
24270
24271 2010-11-20  Bruno Haible  <bruno@clisp.org>
24272
24273         Fix a comment.
24274         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
24275
24276 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
24277
24278         ftoastr: don't assume snprintf
24279         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
24280         Implement a subset of snprintf here, by using sprintf safely.
24281         * modules/ftoastr (Depends-on): Remove snprintf.
24282
24283 2010-11-19  Jim Meyering  <meyering@redhat.com>
24284
24285         test-rename.h: fix compilation failure
24286         * tests/test-rename.h (test_rename): Add omitted "}".
24287
24288 2010-11-17  Jim Meyering  <meyering@redhat.com>
24289
24290         maint.mk: add a URL discussing the no-@acronym policy
24291         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
24292
24293 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
24294
24295         ftoastr: depend on snprintf, improve comments
24296         * lib/ftoastr.c: Also mention Loitsch's draft.
24297         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
24298         needed in the current implementation, but it might simplify
24299         speeding up the code later.
24300         * modules/ftoastr: Depend on snprintf; this improves portability.
24301         Suggested by Bruno Haible in the same email.
24302
24303         ftoastr: port to hosts lacking strtof and strtold
24304         Problem reported by Bruno Haible in
24305         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
24306         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
24307         environment and strtold (and presumably strtof) are not available.
24308         * modules/ftoastr (Files): Add m4/c-strtod.m4.
24309         (configure.ac): Require gl_C99_STRTOLD.
24310
24311 2010-11-18  Bruno Haible  <bruno@clisp.org>
24312
24313         c-strtold: Avoid link error on AIX 7.
24314         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
24315         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
24316         (gl_C_STRTOLD): Test whether strtold_l exists.
24317         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24318
24319 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
24320
24321         intprops: new macro INT_BITS_STRLEN_BOUND
24322         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
24323         ftoastr.h.  This exposes an internal of intprops.h that was formerly
24324         not exposed.  Also, it uses a slightly tighter bound than before;
24325         though this makes no practical difference, we might as well be as
24326         tight as we easily can.
24327
24328         ftoastr: new module, for lossless conversion of floats to short strings
24329         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
24330         * modules/ftoastr: New files.
24331
24332 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
24333
24334         bootstrap: port to Solaris sed
24335         * build-aux/bootstrap (get_version): Port to Solaris sed.
24336         See Ralf Wildenhues's note in
24337         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
24338
24339 2010-11-14  Jim Meyering  <meyering@redhat.com>
24340
24341         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
24342         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
24343         and move definition closer to sole use.
24344
24345 2010-11-13  Jim Meyering  <meyering@redhat.com>
24346
24347         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
24348         Now we require at least autoconf-2.59, which means the work-around
24349         is no longer needed.
24350         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
24351         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
24352         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
24353         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
24354         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
24355
24356 2010-11-13  Bruno Haible  <bruno@clisp.org>
24357
24358         rename, renameat: Avoid test failures at NFS mounted locations.
24359         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
24360         functions.
24361         (test_rename): Use assert_nonexistent.
24362         * tests/test-rename.c: Include <dirent.h>.
24363         * tests/test-renameat.c: Likewise.
24364         Reported by Gary V. Vaughan <gary@gnu.org>.
24365
24366         rename, renameat: Document Linux bug with NFS
24367         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
24368         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
24369         * doc/posix-functions/renameat.texi: Likewise.
24370         Suggested by Eric Blake.
24371
24372 2010-11-13  Bruno Haible  <bruno@clisp.org>
24373
24374         rename test: Add comments.
24375         * tests/test-rename.h (test_rename): Add structure and comments.
24376
24377 2010-11-13  Eric Blake  <eblake@redhat.com>
24378
24379         maintainer-makefile: cover a few more files
24380         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
24381         scripts generated within C files, for libvirt.
24382
24383 2010-11-13  Bruno Haible  <bruno@clisp.org>
24384
24385         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
24386         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
24387         character, return the number of bytes that belong together, not always
24388         1.
24389         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
24390         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
24391         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
24392         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
24393         number of bytes of an invalid character.
24394         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
24395         (main): Invoke it.
24396         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
24397         results.
24398         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
24399         malformed byte sequences.
24400         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
24401         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
24402         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
24403         Reported by Ben Pfaff and Paolo Bonzini.
24404
24405 2010-11-13  Bruno Haible  <bruno@clisp.org>
24406
24407         openat: Work around glibc bug with fchownat() and empty file names.
24408         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
24409         (gl_FUNC_FCHOWNAT): Invoke it.
24410         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
24411         * doc/posix-functions/fchownat.texi: Document the glibc bug.
24412         Reported by Gary V. Vaughan <gary@gnu.org>.
24413
24414 2010-11-13  Bruno Haible  <bruno@clisp.org>
24415
24416         openat: Ensure autoconf macro ordering.
24417         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
24418         gl_USE_SYSTEM_EXTENSIONS.
24419         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
24420
24421 2010-11-13  Bruno Haible  <bruno@clisp.org>
24422
24423         Update comments.
24424         * lib/unistr/u8-check.c: Update file name in comments.
24425         * lib/unistr/u8-mblen.c: Likewise.
24426         * lib/unistr/u8-prev.c: Likewise.
24427         * lib/unistr/u8-strmblen.c: Likewise.
24428         * lib/unistr/u8-strmbtouc.c: Likewise.
24429
24430 2010-11-13  Jim Meyering  <meyering@redhat.com>
24431
24432         tests: avoid test failure on Solaris 10 due to lack of PATH export
24433         * tests/test-update-copyright.sh: Don't forget to export PATH.
24434
24435         init.sh: ensure that IFS is defined, just in case...
24436         * tests/init.sh (setup_): Ensure that IFS is defined,
24437         so that saving and restoring it works as expected.  This
24438         appears to be useful at least for an old version of dash
24439         from a long time ago (RH 6).  See here for details:
24440         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
24441
24442         maint.mk: tighten "test a == b" check
24443         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
24444         test to files that contain something like #!/bin/sh.
24445         Without this, coreutils would get two false positives in
24446         the comments of C source files.
24447
24448 2010-11-12  Eric Blake  <eblake@redhat.com>
24449
24450         bootstrap: fix typo in previous attempt
24451         * build-aux/bootstrap (buildreq): Correct the grouping.
24452         Reported by Paul Eggert.
24453
24454         maintainer-makefile: prohibit test x == x
24455         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
24456         Based on a report by Matthias Bolte.
24457
24458         bootstrap: allow FreeBSD gzip
24459         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
24460         which has no '.' and goes to stderr.
24461         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
24462         Reported by Matthias Bolte.
24463
24464         maintainer-makefile: check for i18n setup
24465         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
24466         will likely work.
24467
24468 2010-11-12  Bruno Haible  <bruno@clisp.org>
24469
24470         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
24471         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
24472         * lib/nanosleep.c (nanosleep): Likewise.
24473
24474 2010-11-11  Bruno Haible  <bruno@clisp.org>
24475
24476         fcntl-h: Fix for use of C++ on glibc systems.
24477         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24478         also on glibc systems in C++ mode.
24479         Reported by Gary V. Vaughan <gary@gnu.org>.
24480
24481 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24482
24483         mknod: avoid false failure with dash
24484         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
24485
24486 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
24487
24488         unlink: Fix "is it should" typo in diagnostic.
24489         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
24490         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
24491
24492 2010-11-11  Bruno Haible  <bruno@clisp.org>
24493
24494         Tests for module 'strerror_r-posix'.
24495         * modules/strerror_r-posix-tests: New file.
24496         * tests/test-strerror_r.c: New file.
24497         * tests/test-string-c++.cc: Check the signature of strerror_r.
24498
24499         New module 'strerror_r-posix'.
24500         * lib/string.in.h (strerror_r): New declaration.
24501         * lib/strerror_r.c: New file.
24502         * m4/strerror_r.m4: New file.
24503         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
24504         of strerror_r.
24505         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
24506         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
24507         * modules/strerror_r-posix: New file.
24508         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
24509         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
24510         * doc/posix-functions/strerror_r.texi: Mention the new module and the
24511         portability problems.
24512
24513 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
24514
24515         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
24516         line is also considered for output. Quoted function name in shell
24517         command, so temporary files for functions like MyClass::operator()
24518         are removed correctly without errors.
24519
24520 2010-11-09  Bruno Haible  <bruno@clisp.org>
24521
24522         * doc/posix-functions/strerror.texi: List more failing platforms.
24523
24524         * doc/posix-functions/strerror.texi: Add a comment.
24525
24526 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
24527
24528         fdopendir: fix bug on MacOS X when low on file descriptors
24529
24530         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
24531         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
24532         All callers changed.
24533         (fdopendir): Invoke save_cwd at the top level, not after using
24534         multiple dup() calls to use up file descriptors.  Then retry
24535         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
24536         less than the maximum number of open file descriptors, because
24537         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
24538         on Mac OS X 10.6.4 for tar 1.24
24539         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
24540         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
24541         and for tar 1.25
24542         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
24543
24544 2010-11-07  Bruno Haible  <bruno@clisp.org>
24545
24546         vasnprintf: Support I flag on glibc systems.
24547         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
24548         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
24549         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
24550         snprintf function.
24551         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
24552         glibc systems.
24553         * tests/test-vasnprintf-posix3.c: New file.
24554         * modules/vasnprintf-posix-tests (Files): Add it.
24555         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
24556
24557 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24558
24559         [html] Fix copy/paste bug: Use unique name for compiler warnings.
24560         * MODULES.html.sh: For compiler warnings, use name
24561         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
24562
24563 2010-11-05  Eric Blake  <eblake@redhat.com>
24564
24565         ceil, floor: avoid spurious failure with icc
24566         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
24567         [denormals-as-zero] when optimizing without -mieee-fp option.
24568         * tests/test-floorf2.c (floorf_reference): Likewise.
24569         * tests/test-ceilf1.c (dummy): New function.
24570         (main): Use it to outsmart icc's optimization.
24571         * tests/test-floorf1.c (dummy, main): Likewise.
24572
24573         tests: require working signbit
24574         * modules/ceilf-tests (Depends-on): Add signbit.
24575         * modules/ceill-tests (Depends-on): Likewise.
24576         * modules/floorf-tests (Depends-on): Likewise.
24577         * modules/floorl-tests (Depends-on): Likewise.
24578         * modules/round-tests (Depends-on): Likewise.
24579         * modules/roundf-tests (Depends-on): Likewise.
24580         * modules/roundl-tests (Depends-on): Likewise.
24581         * modules/trunc-tests (Depends-on): Likewise.
24582         * modules/truncf-tests (Depends-on): Likewise.
24583         * modules/truncl-tests (Depends-on): Likewise.
24584
24585         strtod: work around icc bug
24586         * lib/strtod.c (minus_zero): Define to working value.
24587         (strtod): Use it to avoid icc bug.
24588
24589         copysign: enhance tests
24590         * modules/copysign-tests (Files): Add minus-zero.h.
24591         * tests/test-copysign.c (main): Also test zeros.
24592
24593 2010-11-04  Eric Blake  <eblake@redhat.com>
24594
24595         ceil, floor, round, trunc: enhance tests of -0
24596         * tests/test-ceilf1.c (main): Ensure correct sign of result.
24597         * tests/test-ceill.c (main): Likewise.
24598         * tests/test-floorf1.c (main): Likewise.
24599         * tests/test-floorl.c (main): Likewise.
24600         * tests/test-round1.c (main): Likewise.
24601         * tests/test-roundf1.c (main): Likewise.
24602         * tests/test-roundl.c (main): Likewise.
24603         * tests/test-trunc1.c (main): Likewise.
24604         * tests/test-truncf1.c (main): Likewise.
24605         * tests/test-truncl.c (main): Likewise.
24606
24607 2010-11-04  Eric Blake  <eblake@redhat.com>
24608
24609         frexp, tests: work around ICC bug with -zero
24610         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
24611         works with more compilers.
24612         * tests/minus-zero.h: New file.
24613         * modules/ceilf-tests (Files): Include it.
24614         * modules/ceill-tests (Files): Likewise.
24615         * modules/floorf-tests (Files): Likewise.
24616         * modules/floorl-tests (Files): Likewise.
24617         * modules/frexp-nolibm-tests (Files): Likewise.
24618         * modules/frexp-tests (Files): Likewise.
24619         * modules/frexpl-nolibm-tests (Files): Likewise.
24620         * modules/frexpl-tests (Files): Likewise.
24621         * modules/isnan-tests (Files): Likewise.
24622         * modules/isnand-nolibm-tests (Files): Likewise.
24623         * modules/isnand-tests (Files): Likewise.
24624         * modules/isnanf-nolibm-tests (Files): Likewise.
24625         * modules/isnanf-tests (Files): Likewise.
24626         * modules/isnanl-nolibm-tests (Files): Likewise.
24627         * modules/isnanl-tests (Files): Likewise.
24628         * modules/round-tests (Files): Likewise.
24629         * modules/roundf-tests (Files): Likewise.
24630         * modules/roundl-tests (Files): Likewise.
24631         * modules/ldexpl-tests (Files): Likewise.
24632         * modules/signbit-tests (Files): Likewise.
24633         * modules/snprintf-posix-tests (Files): Likewise.
24634         * modules/sprintf-posix-tests (Files): Likewise.
24635         * modules/strtod-tests (Files): Likewise.
24636         * modules/trunc-tests (Files): Likewise.
24637         * modules/truncf-tests (Files): Likewise.
24638         * modules/truncl-tests (Files): Likewise.
24639         * modules/vsnprintf-posix-tests (Files): Likewise.
24640         * modules/vsprintf-posix-tests (Files): Likewise.
24641         * modules/vasnprintf-posix-tests (Files): Likewise.
24642         * modules/vasprintf-posix-tests (Files): Likewise.
24643         * tests/test-ceilf1.c (main): Use it.
24644         * tests/test-ceill.c (main): Likewise.
24645         * tests/test-floorf1.c (main): Likewise.
24646         * tests/test-floorl.c (main): Likewise.
24647         * tests/test-frexp.c (main): Likewise.
24648         * tests/test-frexpl.c (main): Likewise.
24649         * tests/test-isnan.c (main): Likewise.
24650         * tests/test-isnand.h (main): Likewise.
24651         * tests/test-isnanf.h (main): Likewise.
24652         * tests/test-isnanl.h (main): Likewise.
24653         * tests/test-ldexpl.c (main): Likewise.
24654         * tests/test-round.c (main): Likewise.
24655         * tests/test-roundf.c (main): Likewise.
24656         * tests/test-roundl.c (main): Likewise.
24657         * tests/test-signbit.c (test_signbitf, test_signbitd)
24658         (test_signbitl): Likewise.
24659         * tests/test-snprintf-posix.h (test_function): Likewise.
24660         * tests/test-sprintf-posix.h (test_function): Likewise.
24661         * tests/test-strtod.c (main): Likewise.
24662         * tests/test-trunc1.c (main): Likewise.
24663         * tests/test-truncf1.c (main): Likewise.
24664         * tests/test-truncl.c (main): Likewise.
24665
24666         isnanl: work around icc bug
24667         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
24668
24669 2010-11-03  Eric Blake  <eblake@redhat.com>
24670
24671         tests: fix compiler warnings
24672         * tests/test-getopt.h (test_getopt): Fix condition.
24673         * tests/test-getopt_long.h (test_getopt_long): Likewise.
24674         * tests/test-pipe2.c (main): Likewise.
24675         * tests/test-quotearg-simple.c (main): Avoid icc warning.
24676
24677         utimens: fix broken m4 test
24678         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
24679
24680 2010-10-28  Bruno Haible  <bruno@clisp.org>
24681
24682         posix_spawn*, getdtablesize: Relax license.
24683         * modules/posix_spawn (License): Change to LGPLv2+.
24684         * modules/posix_spawnp (License): Likewise.
24685         * modules/posix_spawn-internal (License): Likewise.
24686         * modules/posix_spawnattr_init (License): Likewise.
24687         * modules/posix_spawnattr_getflags (License): Likewise.
24688         * modules/posix_spawnattr_setflags (License): Likewise.
24689         * modules/posix_spawnattr_getpgroup (License): Likewise.
24690         * modules/posix_spawnattr_setpgroup (License): Likewise.
24691         * modules/posix_spawnattr_getschedparam (License): Likewise.
24692         * modules/posix_spawnattr_setschedparam (License): Likewise.
24693         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
24694         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
24695         * modules/posix_spawnattr_getsigdefault (License): Likewise.
24696         * modules/posix_spawnattr_setsigdefault (License): Likewise.
24697         * modules/posix_spawnattr_getsigmask (License): Likewise.
24698         * modules/posix_spawnattr_setsigmask (License): Likewise.
24699         * modules/posix_spawnattr_destroy (License): Likewise.
24700         * modules/posix_spawn_file_actions_init (License): Likewise.
24701         * modules/posix_spawn_file_actions_addclose (License): Likewise.
24702         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
24703         * modules/posix_spawn_file_actions_addopen (License): Likewise.
24704         * modules/posix_spawn_file_actions_destroy (License): Likewise.
24705         * modules/getdtablesize (License): Likewise.
24706         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
24707
24708 2010-10-26  Bruno Haible  <bruno@clisp.org>
24709
24710         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
24711         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
24712         Cygwin and mingw.
24713         Suggested by Eric Blake.
24714
24715 2010-10-26  Bruno Haible  <bruno@clisp.org>
24716
24717         stdio: Work around compilation error due to renameat() on Solaris 10.
24718         * lib/stdio.in.h: Include <unistd.h> on Solaris.
24719         * lib/renameat.c: Don't include <unistd.h> here.
24720         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
24721         Reported by Paul Eggert and Eric Blake.
24722
24723 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
24724
24725         renameat: port to Solaris 10, which declares renameat in unistd.h
24726
24727         * lib/renameat.c: Include unistd.h before stdio.h, because
24728         Solaris 10 declares renameat in unistd.h.  Problem encountered
24729         when building GNU tar 1.24 on Solaris 10.
24730
24731 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24732
24733         fdopendir: fix C89 compilation
24734         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
24735         compilers.
24736
24737 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
24738
24739         inttostr: simplify by removing unnecessary redundancy
24740         * lib/anytostr.c: Don't include verify.h.
24741         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
24742         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
24743         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
24744         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
24745         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
24746         Likewise.
24747         * modules/inttostr (Depends-on): Remove 'verify'.
24748
24749 2010-10-23  Bruno Haible  <bruno@clisp.org>
24750
24751         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
24752         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
24753         Reported by Eric Blake.
24754
24755 2010-10-23  Bruno Haible  <bruno@clisp.org>
24756
24757         Tests: Fix LOCALE_JA on MirBSD 10.
24758         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
24759         to an UTF-8 locale.
24760         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
24761         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24762         Reported by Eric Blake.
24763
24764 2010-10-21  Bruno Haible  <bruno@clisp.org>
24765
24766         nl_langinfo test: Avoid test failure on NetBSD 5.
24767         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
24768         Reported by Eric Blake.
24769
24770 2010-10-21  Eric Blake  <eblake@redhat.com>
24771
24772         c-stack: work around libsigsegv 2.8 bug
24773         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
24774         overflow on at least PowerPC64.
24775
24776 2010-10-17  Bruno Haible  <bruno@clisp.org>
24777
24778         userspec: Drop redundant file.
24779         * modules/userspec (Files): Remove lib/inttostr.h.
24780
24781 2010-10-17  Bruno Haible  <bruno@clisp.org>
24782
24783         nl_langinfo tests: Silence some warnings.
24784         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
24785         Reported by Jim Meyering.
24786
24787 2010-10-17  Bruno Haible  <bruno@clisp.org>
24788
24789         Make use of GCC's attribute __alloc_size__.
24790         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
24791         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
24792         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
24793         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
24794         __alloc_size__.
24795         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
24796         Suggested by Jim Meyering.
24797
24798 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
24799
24800         bootstrap: anchor .gitignore entries.
24801         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
24802         with...
24803         (insert_vc_ignore): ... this new function, which prepends `/' to
24804         all .gitignore entries before passing them to
24805         insert_sorted_if_absent.
24806
24807 2010-10-16  Bruno Haible  <bruno@clisp.org>
24808
24809         nextafter: Fix configure check.
24810         * modules/nextafter (configure.ac): Correct expected prototype.
24811
24812 2010-10-16  Bruno Haible  <bruno@clisp.org>
24813
24814         termios: Update documentation.
24815         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
24816
24817 2010-10-16  Bruno Haible  <bruno@clisp.org>
24818
24819         tests: Make them compile with TinyCC.
24820         * tests/test-strstr.c (main): Remove parentheses around array
24821         initializer.
24822
24823 2010-10-15  Eric Blake  <eblake@redhat.com>
24824
24825         ignore-value: make header idempotent
24826         * lib/ignore-value.h: Add double-inclusion guards.
24827         Reported by Stefan Berger.
24828
24829 2010-10-15  Jim Meyering  <meyering@redhat.com>
24830
24831         GNUmakefile: handle "stable" target, not "major"
24832         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
24833         lists in maint.mk and announce-gen.  Without this, "make stable"
24834         would fail to ensure that $(VERSION) is up to date.
24835
24836 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
24837
24838         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
24839         & co.
24840
24841 2010-10-14  Bruno Haible  <bruno@clisp.org>
24842
24843         vasnprintf: Don't set errno to 0.
24844         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
24845         block that sets it to 0.
24846         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
24847
24848 2010-10-14  Bruno Haible  <bruno@clisp.org>
24849
24850         socketlib: Fix.
24851         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
24852         gl_PREREQ_SYS_H_WINSOCK2.
24853         Reported by Ian Beckwith <ianb@erislabs.net>.
24854
24855 2010-10-13  Jim Meyering  <meyering@redhat.com>
24856
24857         test-select-stdin.c: avoid warn_unused_result warnings
24858         * tests/test-select-stdin.c: Include "macros.h".
24859         ASSERT that read and fflush succeed.
24860
24861 2010-10-13  Jim Meyering  <meyering@redhat.com>
24862
24863         git-version-gen: do require git-VC'd files in cwd
24864         * build-aux/git-version-gen: Reject a git version string
24865         if there are no commits associated with the current directory.
24866         This avoids an unlikely false-positive (unrelated dir whose parent
24867         repository also contains a tag matching v*), as pointed out
24868         by Giuseppe Scrivano in
24869         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
24870
24871 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
24872
24873         argv-iter: omit nonconforming declaration
24874         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
24875         enum arg_iter_err declaration, which doesn't conform to C99.
24876         Solaris 10 cc warns about this.
24877
24878 2010-10-13  Eric Blake  <eblake@redhat.com>
24879
24880         termios: fix compilation on mingw
24881         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
24882         (gl_TERMIOS_H): Adjust it on mingw.
24883         * modules/termios (Makefile.am): Substitute new key.
24884         * lib/termios.in.h (includes): Make include_next conditional.
24885         * doc/posix-headers/termios.texi (termios.h): Update
24886         documentation.
24887         Reported by Daniel P. Berrange.
24888
24889 2010-10-13  Jim Meyering  <meyering@redhat.com>
24890
24891         git-version-gen: don't require that .git/ be in the current dir
24892         * build-aux/git-version-gen: Adjust this script so that it works
24893         when run from any working directory beneath the top-level .git/-
24894         containing directory.  Inspired by a patch from Giuseppe Scrivano,
24895         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
24896
24897         test-select: avoid warn_unused_result warnings
24898         * tests/test-select.c: Include "macros.h".
24899         ASSERT that each call to read, write, and pipe succeeds.
24900         While not technically required, also check each "close".
24901         * modules/select-tests (Files): Add tests/macros.h.
24902
24903         test-symlinkat: remove declaration of unused local
24904         * tests/test-symlinkat.c (main): Remove unused local, "buf".
24905
24906         test-inttostr: avoid shadowing warnings
24907         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
24908         and use malloc rather than the stack for the same reason as
24909         mentioned in the comment justifying the other allocation.
24910
24911 2010-10-11  Bruno Haible  <bruno@clisp.org>
24912
24913         stdlib: Allow multiple gnulib generated replacements to coexist.
24914         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
24915         Reported by Sam Steingold <sds@gnu.org>.
24916
24917 2010-10-11  Jim Meyering  <meyering@redhat.com>
24918
24919         fix a documentation typo
24920         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
24921
24922 2010-10-11  Eric Blake  <eblake@redhat.com>
24923
24924         futimens: work around Solaris 11 bug
24925         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
24926         * tests/test-futimens.h (test_futimens): Enhance, rather than
24927         weaken test.
24928         * doc/posix-functions/futimens.texi (futimens): Document the bug.
24929
24930 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
24931
24932         Indentation.
24933         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
24934         higher-level operators more to the left.
24935
24936 2010-10-11  Jim Meyering  <meyering@redhat.com>
24937
24938         test-futimens: avoid unwarranted test failure on Solaris 5.11
24939         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
24940         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
24941         because it tries to dereference the NULL name argument.
24942
24943 2010-10-11  Bruno Haible  <bruno@clisp.org>
24944
24945         Indentation.
24946         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
24947         indentation.
24948
24949 2010-10-11  Jim Meyering  <meyering@redhat.com>
24950
24951         spawn.in.h: make indentation consistent with parentheses
24952         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
24953         Make indentation consistent with parentheses.
24954
24955 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
24956
24957         Fix mismatched parens in previous commit
24958         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
24959         parens.
24960
24961 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24962
24963         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
24964
24965         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
24966         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
24967         * lib/malloca.c: Include "verify.h".
24968         (verify1): Remove, replacing with a verify call.
24969         * lib/relocwrapper.c (verify1): Likewise.
24970         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
24971         Likewise.
24972         * modules/malloca (Depends-on): Add 'verify'.
24973         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
24974         * modules/vasnprintf (Depends-on): Add 'verify'.
24975         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24976         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24977         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24978         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24979         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24980         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24981         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24982
24983         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
24984
24985         Formerly the style was sometimes 2*X - 1, because the C standard
24986         was wrongly thought to disallow ?: in integral constant expressions.
24987         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
24988         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
24989         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24990         * lib/stdint.in.h (_verify_intmax_size): Likewise.
24991         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
24992         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
24993         verify that time_t cannot be floating.
24994
24995 2010-10-08  Eric Blake  <eblake@redhat.com>
24996
24997         time: enforce recent POSIX ruling that time_t is integral
24998         * lib/time.in.h (__time_t_must_be_integral): Detect any
24999         problematic systems, allowing the rest of gnulib to assume POSIX.
25000
25001 2010-10-08  Jim Meyering  <meyering@redhat.com>
25002
25003         fdopendir: fix a bug on systems lacking openat and /proc support
25004         OpenBSD 4.7 is one such system.  The most noticeable effect was
25005         failure of any application making nontrivial use of fts: rm, du,
25006         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
25007           ./rm: traversal failed: `a': Bad file descriptor
25008         Debugging that, you see that even though FD 6 was closed just
25009         prior to the opendir call in fd_clone_opendir, its resulting
25010         dir->dd_fd was 8, rather than the expected value of 6:
25011
25012         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
25013         93                close (fd);
25014         (gdb) n
25015         94                dir = fd_clone_opendir (dupfd);
25016         (gdb) n
25017         95                saved_errno = errno;
25018         (gdb) p dir->dd_fd
25019         $11 = 8
25020
25021         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
25022         The problem is that on OpenBSD, fd_clone_opendir has to resort
25023         to using the old-style save/restore CWD mechanism, due to its
25024         lack of openat/proc support, and *that* would steal the FD (6)
25025         that opendir was supposed to use.
25026
25027         The fix is to squirrel away the desired FD so that save_cwd uses a
25028         different one, and then free the dest FD right before calling opendir.
25029         That guarantees opendir will use the required file descriptor.
25030
25031         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
25032
25033 2010-10-08  Bruno Haible  <bruno@clisp.org>
25034
25035         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
25036         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
25037
25038 2010-10-08  Bruno Haible  <bruno@clisp.org>
25039
25040         nanosleep: Make replacement POSIX compliant.
25041         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
25042         is out of range.
25043         Reported by Jim Meyering.
25044
25045 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
25046
25047         bootstrap: add hook for altering gnulib.mk, for Bison
25048         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
25049         the Bison bootstrapping process can rewrite file names and variables
25050         in this file before later parts of 'bootstrap' use the file.
25051         Bison wants to include lib/gnulib.mk from the top-level makefile,
25052         so it needs the file names in this file to be relative to the top
25053         level, not relative to lib; plus it needs variable names to be
25054         rewritten.
25055         (slurp): Use the new function.
25056
25057         bootstrap: reformat for readability
25058         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
25059
25060 2010-10-08  Eric Blake  <eblake@redhat.com>
25061
25062         docs: update cygwin progress
25063         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
25064         1.7.7.
25065         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
25066         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
25067         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
25068         * doc/posix-functions/carg.texi (carg): Likewise.
25069         * doc/posix-functions/cargf.texi (cargf): Likewise.
25070         * doc/posix-functions/casin.texi (casin): Likewise.
25071         * doc/posix-functions/casinf.texi (casinf): Likewise.
25072         * doc/posix-functions/casinh.texi (casinh): Likewise.
25073         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
25074         * doc/posix-functions/catan.texi (catan): Likewise.
25075         * doc/posix-functions/catanf.texi (catanf): Likewise.
25076         * doc/posix-functions/catanh.texi (catanh): Likewise.
25077         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
25078         * doc/posix-functions/ccos.texi (ccos): Likewise.
25079         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
25080         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
25081         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
25082         * doc/posix-functions/cexp.texi (cexp): Likewise.
25083         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
25084         * doc/posix-functions/cimag.texi (cimag): Likewise.
25085         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
25086         * doc/posix-functions/clog.texi (clog): Likewise.
25087         * doc/posix-functions/clogf.texi (clogf): Likewise.
25088         * doc/posix-functions/conj.texi (conj): Likewise.
25089         * doc/posix-functions/conjf.texi (conjf): Likewise.
25090         * doc/posix-functions/cpow.texi (cpow): Likewise.
25091         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
25092         * doc/posix-functions/cproj.texi (cproj): Likewise.
25093         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
25094         * doc/posix-functions/creal.texi (creal): Likewise.
25095         * doc/posix-functions/crealf.texi (crealf): Likewise.
25096         * doc/posix-functions/csin.texi (csin): Likewise.
25097         * doc/posix-functions/csinf.texi (csinf): Likewise.
25098         * doc/posix-functions/csinh.texi (csinh): Likewise.
25099         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
25100         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
25101         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
25102         * doc/posix-functions/ctan.texi (ctan): Likewise.
25103         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
25104         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
25105         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
25106         * doc/posix-headers/complex.texi (complex.h): Likewise.
25107
25108 2010-10-07  Jim Meyering  <meyering@redhat.com>
25109
25110         parse-datetime: avoid compilation failure on OpenBSD 4.7
25111         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
25112         This works around a compilation failure on OpenBSD 4.7:
25113         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
25114
25115 2010-10-07  Eric Blake  <eblake@redhat.com>
25116
25117         docs: update cygwin progress
25118         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
25119         1.7.6.
25120         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
25121         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
25122         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
25123         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
25124         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
25125         Likewise.
25126         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
25127         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
25128         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
25129         Likewise.
25130         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
25131         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
25132         Likewise.
25133         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
25134         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
25135         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
25136         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
25137         Likewise.
25138         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
25139         Likewise.
25140         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
25141
25142         docs: update parse-datetime history
25143         * doc/parse-datetime.texi (Authors of parse_datetime): Better
25144         documentation of this function's history and alternatives.
25145
25146         cygwin: use more robust version check
25147         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
25148         exclude an eventual cygwin 1.9.1.
25149         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25150         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25151         (gl_FUNC_STRCASESTR): Likewise.
25152         Reported by Bruno Haible.
25153
25154 2010-10-06  Bruno Haible  <bruno@clisp.org>
25155
25156         string, sys_select: Avoid #including large headers unless necessary.
25157         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
25158         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
25159         OSF/1, BeOS, Haiku.
25160         Reported by Jim Meyering.
25161
25162 2010-10-05  Eric Blake  <eblake@redhat.com>
25163
25164         memmem, strstr, strcasestr: fix bug with long periodic needle
25165         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
25166         periodic needle having false positive.
25167         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
25168         and cygwin 1.7.7.
25169         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
25170         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25171         (gl_FUNC_STRCASESTR): Likewise.
25172         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25173         * tests/test-memmem.c (main): Expose the bug.
25174         * tests/test-strcasestr.c (main): Likewise.
25175         * tests/test-strstr.c (main): Likewise.
25176         * tests/test-c-strcasestr.c (main): Likewise.
25177         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
25178         * doc/posix-functions/strstr.texi (strstr): Likewise.
25179         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25180         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
25181
25182 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25183
25184         parse-datetime: do some more renaming
25185         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
25186         parse_datetime, not get_date.  Mention the renaming.
25187         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
25188         in comments.
25189         * m4/bison.m4: Likewise.
25190
25191 2010-10-05  Eric Blake  <eblake@redhat.com>
25192
25193         parse-datetime: better name than get_date
25194         * NEWS: Reword the deprecation notice.
25195         * modules/get_date: Rename to modules/parse-datetime.
25196         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
25197         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
25198         * lib/get_date.y: Rename to lib/parse-datetime.y.
25199         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
25200         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
25201         * doc/getdate.texi: Provide fallback wrapper.
25202         * lib/getdate.h: Move guts, and wrap...
25203         * lib/parse-datetime.h: ...new file.
25204         * lib/parse-datetime.y (get_date): Rename...
25205         (parse_datetime): ...to this.
25206         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
25207         (gl_PARSE_DATETIME): ...to this.
25208         * doc/posix-functions/getdate.texi (get_date): Provide fallback
25209         documentation.
25210         * modules/getdate (Files): Provide fallback docs and header.
25211         (Notice, Depends-on): Update references.
25212         * tests/test-parse-datetime.c: Likewise.
25213         * DEPENDENCIES: Likewise.
25214         * MODULES.html.sh (Date and time <time.h>): Likewise.
25215         * doc/parse-datetime.texi (Date input formats)
25216         (Authors of parse_datetime): Likewise.
25217         * modules/parse-datetime (Files, configure.ac, Makefile.am)
25218         (Include): Likewise.
25219         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
25220         * gnulib-tool: Likewise.
25221         * m4/bison.m4 (gl_BISON): Likewise.
25222         Suggested by Bruno Haible.
25223
25224 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25225
25226         more ports to Solaris tr, which needs [] around ranges
25227         * gnulib-tool: Solaris tr needs [] around ranges.
25228         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25229         * tests/test-pipe-filter-gi1.c (main): Likewise.
25230         * tests/test-pipe-filter-ii1.c (main): Likewise.
25231
25232 2010-10-05  Eric Blake  <eblake@redhat.com>
25233
25234         bootstrap: fix Solaris regression
25235         * build-aux/bootstrap (check_versions): Solaris tr still needs []
25236         around ranges.
25237         Reported by Pádraig Brady.
25238
25239         bootstrap: work with pkg-config
25240         * build-aux/bootstrap (check_versions): Also transliterate - in
25241         prerequisite name.
25242         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
25243         prerequisites that were already found, to avoid confusion.
25244         Reported by Justin Clift.
25245
25246         faccessat: remove unused wrappers
25247         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
25248         presence of these wrappers dragged in -lgen on Solaris.
25249         Reported by Clemens Brogi; fix suggested by Paul Eggert.
25250
25251 2010-10-05  Jim Meyering  <meyering@redhat.com>
25252
25253         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
25254         * Makefile (sc_pragma_columns): New syntax-check rule.
25255
25256 2010-10-04  Bruno Haible  <bruno@clisp.org>
25257
25258         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
25259         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
25260         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
25261         Reported by Bruce Korb and Eric Blake.
25262
25263 2010-10-04  Bruno Haible  <bruno@clisp.org>
25264
25265         threadlib: Make option --with-libpth-prefix work.
25266         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
25267         use $LIBPTH, not just -lpth.
25268
25269 2010-10-04  Bruno Haible  <bruno@clisp.org>
25270
25271         Avoid line length limitation from HP NonStop system header files.
25272         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
25273         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
25274         * lib/ctype.in.h: Likewise.
25275         * lib/dirent.in.h: Likewise.
25276         * lib/errno.in.h: Likewise.
25277         * lib/fcntl.in.h: Likewise.
25278         * lib/float.in.h: Likewise.
25279         * lib/getopt.in.h: Likewise.
25280         * lib/iconv.in.h: Likewise.
25281         * lib/inttypes.in.h: Likewise.
25282         * lib/langinfo.in.h: Likewise.
25283         * lib/locale.in.h: Likewise.
25284         * lib/math.in.h: Likewise.
25285         * lib/netdb.in.h: Likewise.
25286         * lib/netinet_in.in.h: Likewise.
25287         * lib/poll.in.h: Likewise.
25288         * lib/pthread.in.h: Likewise.
25289         * lib/pty.in.h: Likewise.
25290         * lib/sched.in.h: Likewise.
25291         * lib/se-selinux.in.h: Likewise.
25292         * lib/search.in.h: Likewise.
25293         * lib/signal.in.h: Likewise.
25294         * lib/spawn.in.h: Likewise.
25295         * lib/stdarg.in.h: Likewise.
25296         * lib/stddef.in.h: Likewise.
25297         * lib/stdint.in.h: Likewise.
25298         * lib/stdio.in.h: Likewise.
25299         * lib/stdlib.in.h: Likewise.
25300         * lib/string.in.h: Likewise.
25301         * lib/strings.in.h: Likewise.
25302         * lib/sys_file.in.h: Likewise.
25303         * lib/sys_ioctl.in.h: Likewise.
25304         * lib/sys_select.in.h: Likewise.
25305         * lib/sys_socket.in.h: Likewise.
25306         * lib/sys_stat.in.h: Likewise.
25307         * lib/sys_time.in.h: Likewise.
25308         * lib/sys_times.in.h: Likewise.
25309         * lib/sys_utsname.in.h: Likewise.
25310         * lib/sys_wait.in.h: Likewise.
25311         * lib/sysexits.in.h: Likewise.
25312         * lib/termios.in.h: Likewise.
25313         * lib/time.in.h: Likewise.
25314         * lib/unistd.in.h: Likewise.
25315         * lib/wchar.in.h: Likewise.
25316         * lib/wctype.in.h: Likewise.
25317         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
25318         * modules/ctype (Makefile.am): Likewise.
25319         * modules/dirent (Makefile.am): Likewise.
25320         * modules/errno (Makefile.am): Likewise.
25321         * modules/fcntl-h (Makefile.am): Likewise.
25322         * modules/float (Makefile.am): Likewise.
25323         * modules/getopt-posix (Makefile.am): Likewise.
25324         * modules/iconv-h (Makefile.am): Likewise.
25325         * modules/inttypes (Makefile.am): Likewise.
25326         * modules/langinfo (Makefile.am): Likewise.
25327         * modules/locale (Makefile.am): Likewise.
25328         * modules/math (Makefile.am): Likewise.
25329         * modules/netdb (Makefile.am): Likewise.
25330         * modules/netinet_in (Makefile.am): Likewise.
25331         * modules/poll-h (Makefile.am): Likewise.
25332         * modules/pthread (Makefile.am): Likewise.
25333         * modules/pty (Makefile.am): Likewise.
25334         * modules/sched (Makefile.am): Likewise.
25335         * modules/search (Makefile.am): Likewise.
25336         * modules/selinux-h (Makefile.am): Likewise.
25337         * modules/signal (Makefile.am): Likewise.
25338         * modules/spawn (Makefile.am): Likewise.
25339         * modules/stdarg (Makefile.am): Likewise.
25340         * modules/stddef (Makefile.am): Likewise.
25341         * modules/stdint (Makefile.am): Likewise.
25342         * modules/stdio (Makefile.am): Likewise.
25343         * modules/stdlib (Makefile.am): Likewise.
25344         * modules/string (Makefile.am): Likewise.
25345         * modules/strings (Makefile.am): Likewise.
25346         * modules/sys_file (Makefile.am): Likewise.
25347         * modules/sys_ioctl (Makefile.am): Likewise.
25348         * modules/sys_select (Makefile.am): Likewise.
25349         * modules/sys_socket (Makefile.am): Likewise.
25350         * modules/sys_stat (Makefile.am): Likewise.
25351         * modules/sys_time (Makefile.am): Likewise.
25352         * modules/sys_times (Makefile.am): Likewise.
25353         * modules/sys_utsname (Makefile.am): Likewise.
25354         * modules/sys_wait (Makefile.am): Likewise.
25355         * modules/sysexits (Makefile.am): Likewise.
25356         * modules/termios (Makefile.am): Likewise.
25357         * modules/time (Makefile.am): Likewise.
25358         * modules/unistd (Makefile.am): Likewise.
25359         * modules/wchar (Makefile.am): Likewise.
25360         * modules/wctype (Makefile.am): Likewise.
25361
25362 2010-10-04  Bruno Haible  <bruno@clisp.org>
25363
25364         read-file tests: Avoid a test failure on NonStop Kernel.
25365         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
25366         a regular file.
25367         Reported by Joachim Schmitz <schmitz@hp.com>.
25368
25369 2010-10-03  Bruno Haible  <bruno@clisp.org>
25370
25371         gnulib-tool: Fixes for --create-testdir with --libtool.
25372         * gnulib-tool (func_get_automake_snippet): Don't augment
25373         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
25374         an executable.
25375         (func_create_testdir): Handle module 'alloca' like func_import.
25376         Reported by Bruce Korb <bruce.korb@gmail.com>.
25377
25378 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
25379
25380         Avoid some lines longer than 80 characters.
25381         * lib/stdint.in.h: Break long comment lines.
25382         * lib/math.in.h: Likewise.
25383         (_GL_NUM_UINT_WORDS): New macro, for readability.
25384         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
25385         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
25386         * lib/stdlib.in.h: Likewise.
25387         * lib/spawn.in.h: Likewise.
25388         * lib/sys_socket.in.h: Update an URL.
25389         * lib/sys_stat.in.h: Break long line.
25390
25391 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
25392
25393         Improve pmccabe2html.
25394         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
25395         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
25396         when the sources change. Remove the line in the HTML about "Used
25397         ranges" (which implied that there might be other unused ranges),
25398         rename "Resume" to "Summary" (easier to understand for more users).
25399         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
25400         styles, and some unnecessary blank lines.
25401
25402 2010-10-03  Bruno Haible  <bruno@clisp.org>
25403             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
25404
25405         acl: Add support for ACLs on NonStop Kernel.
25406         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
25407         Check whether the function aclsort() exists.
25408         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
25409         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
25410         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25411         (acl_nontrivial [HAVE_ACLSORT]: New function.
25412         (file_has_acl): Implement for NonStop Kernel.
25413         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25414         (qset_acl): Implement for NonStop Kernel.
25415         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
25416         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25417         (main): Implement for NonStop Kernel.
25418         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
25419         Kernel. Handle this flavor.
25420         * tests/test-set-mode-acl.sh: Likewise.
25421         * tests/test-copy-acl.sh: Likewise.
25422         * tests/test-copy-file.sh: Likewise.
25423
25424 2010-10-03  Bruno Haible  <bruno@clisp.org>
25425
25426         Info about ACLs on NonStop Kernel.
25427         * doc/acl-resources.txt: Add info about NonStop Kernel.
25428         References by Joachim Schmitz <schmitz@hp.com>.
25429
25430 2010-10-02  Bruno Haible  <bruno@clisp.org>
25431
25432         Define missing EDQUOT on NonStop Kernel.
25433         * lib/errno.in.h (EDQUOT): Assign a value if missing.
25434         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
25435         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
25436         missing.
25437         * doc/posix-headers/errno.texi: Mention the NSK bug.
25438         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
25439         Reported by Joachim Schmitz <schmitz@hp.com>.
25440
25441 2010-10-02  Bruno Haible  <bruno@clisp.org>
25442
25443         Update doc for POSIX:2008.
25444         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
25445         Update URL of POSIX specification.
25446
25447 2010-10-02  Bruno Haible  <bruno@clisp.org>
25448
25449         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
25450         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
25451         from gnulib, not from Automake.
25452
25453 2010-10-02  Bruno Haible  <bruno@clisp.org>
25454
25455         New module 'system-posix'.
25456         * modules/system-posix: New file.
25457         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
25458         module is present.
25459         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
25460         GNULIB_SYSTEM_POSIX.
25461         * modules/stdlib (Depends-on): Remove sys_wait.
25462         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
25463         * doc/posix-functions/system.texi: Mention the new module.
25464         * doc/posix-headers/stdlib.texi: Likewise.
25465         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
25466         define test_sys_wait_macros to a no-op.
25467         Reported by Sam Steingold <sds@gnu.org>.
25468
25469 2010-09-30  Bruno Haible  <bruno@clisp.org>
25470
25471         More renaming from 'getdate' to 'get_date'.
25472         * doc/get_date.texi: Renamed from doc/getdate.texi.
25473         * modules/get_date (Files): Update.
25474         * MODULES.html.sh (Date and time <time.h>): Update.
25475         * DEPENDENCIES: Update.
25476         * gnulib-tool: Update comment.
25477         * m4/bison.m4 (gl_BISON): Likewise.
25478         * m4/get_date.m4 (gl_GET_DATE): Likewise.
25479
25480 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
25481
25482         bootstrap: support ACLOCAL_FLAGS during aclocal
25483         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
25484         can add additional -I dir for third-party .m4 files.
25485
25486 2010-09-30  Eric Blake  <eblake@redhat.com>
25487
25488         bootstrap: use glibtoolize on MacOS
25489         * build-aux/bootstrap (check_versions): Convert libtool into
25490         libtoolize.
25491         (tool search): Move libtool check earlier, and look for
25492         glibtoolize for MacOS.
25493         (gnulib_tool_options): Auto-add --libtool when appropriate.
25494         Reported by Justin Clift.
25495
25496         poll: fix typo that broke test on MacOS
25497         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
25498         Reported by Justin Clift.
25499
25500         getdate: rename to get_date
25501         Note: getdate.h is not renamed, to minimize client impact.
25502         * modules/getdate: Mark obsolete.  Move old contents...
25503         * modules/get_date: ...to new module name.
25504         * modules/getdate-tests: Move...
25505         * modules/get_date-tests: ...here.
25506         * m4/getdate.m4: Move...
25507         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
25508         * lib/getdate.y: Move...
25509         * lib/get_date.y: ...here.
25510         * tests/test-getdate.c: Move...
25511         * tests/test-get_date.c: ...here.
25512         * doc/posix-functions/getdate.texi (getdate): Update name.
25513         * NEWS: Mention the change.
25514
25515 2010-09-29  Bruno Haible  <bruno@clisp.org>
25516
25517         Separate the module 'waitpid' from the module 'sys_wait'.
25518         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
25519         present.
25520         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
25521         gl_MODULE_INDICATOR_FOR_TESTS.
25522         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
25523         * modules/sys_wait (Depends-on): Remove waitpid.
25524         (Makefile.am): Substitute GNULIB_WAITPID.
25525         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
25526         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
25527         signature only if the 'waitpid' module is present.
25528         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
25529         * NEWS: Mention the change.
25530         * modules/grantpt (Depends-on): Add waitpid.
25531         * modules/wait-process (Depends-on): Likewise.
25532
25533 2010-09-29  Bruno Haible  <bruno@clisp.org>
25534
25535         More tests for module 'sys_wait'.
25536         * modules/sys_wait-c++-tests: New file.
25537         * tests/test-sys_wait-c++.cc: New file.
25538         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
25539         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
25540
25541 2010-09-29  Bruno Haible  <bruno@clisp.org>
25542
25543         New module 'waitpid'.
25544         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
25545         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
25546         Don't include <process.h>.
25547         (waitpid): Declare only, using modern idiom.
25548         * m4/waitpid.m4: New file.
25549         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
25550         * modules/waitpid: New file.
25551         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
25552         (Makefile.am): Update.
25553         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
25554
25555 2010-09-28  Bruno Haible  <bruno@clisp.org>
25556
25557         poll: Assume ANSI C.
25558         * lib/poll.c (poll): Use an ANSI C declaration.
25559
25560 2010-09-28  Bruno Haible  <bruno@clisp.org>
25561
25562         poll-h: Create poll.h on all platforms.
25563         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
25564         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
25565         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
25566         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
25567         (gl_REPLACE_POLL_H): Don't set POLL_H.
25568         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
25569         * modules/poll-h (Depends-on): Add include_next.
25570         (Makefile.am): Create poll.h unconditionally. Substitute also
25571         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
25572
25573 2010-09-28  Bruno Haible  <bruno@clisp.org>
25574
25575         Tests for module 'poll-h'.
25576         * modules/poll-h-c++-tests: New file.
25577         * tests/test-poll-h-c++.cc: New file.
25578
25579         Tests for module 'poll-h'.
25580         * modules/poll-h-tests: New file.
25581         * tests/test-poll-h.c: New file.
25582
25583 2010-09-28  Bruno Haible  <bruno@clisp.org>
25584
25585         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
25586         * modules/poll-h (Depends-on): Add 'extensions'.
25587
25588 2010-09-28  Bruno Haible  <bruno@clisp.org>
25589
25590         New module 'poll-h'.
25591         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
25592         (poll): Use modern idiom.
25593         * modules/poll-h: New file.
25594         * modules/poll (Files): Remove lib/poll.in.h.
25595         (Depends-on): Add poll-h.
25596         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
25597         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
25598         * m4/poll_h.m4: New file.
25599         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
25600         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
25601         and invoke gl_REPLACE_POLL_H.
25602         * lib/poll.c: Use common idiom.
25603         * tests/test-poll.c: Likewise.
25604         * doc/posix-headers/poll.texi: Mention the poll-h module.
25605         Suggested by Eric Blake.
25606
25607 2010-09-26  Bruno Haible  <bruno@clisp.org>
25608
25609         sys_wait: Implement WSTOPSIG.
25610         * lib/sys_wait.in.h (WSTOPSIG): New macro.
25611         Reported by Simon Josefsson.
25612
25613 2010-09-26  Simon Josefsson  <simon@josefsson.org>
25614
25615         stdlib, sys_wait: Avoid compilation error on mingw.
25616         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
25617
25618 2010-09-26  Bruno Haible  <bruno@clisp.org>
25619
25620         stdlib tests: Avoid code duplication.
25621         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
25622         * modules/sys_wait-tests (Files): Likewise.
25623         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
25624         * tests/test-stdlib.c: Include test-sys_wait.h.
25625         (main): Invoke test_sys_wait_macros.
25626         * tests/test-sys_wait.c: Include test-sys_wait.h.
25627         (main): Invoke test_sys_wait_macros.
25628
25629 2010-09-25  Simon Josefsson  <simon@josefsson.org>
25630
25631         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
25632         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
25633         sure Windows sockets are working before calling getaddrinfo.
25634         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
25635         * doc/gnulib.texi (Windows sockets): Fix typo.
25636
25637 2010-09-25  Bruno Haible  <bruno@clisp.org>
25638
25639         Tests for module 'regex-quote'.
25640         * modules/regex-quote-tests: New file.
25641         * tests/test-regex-quote.c: New file.
25642
25643         New module 'regex-quote'.
25644         * lib/regex-quote.h: New file.
25645         * lib/regex-quote.c: New file.
25646         * modules/regex-quote: New file.
25647         Suggested by Reuben Thomas <rrt@sc3d.org>.
25648
25649 2010-09-24  Bruno Haible  <bruno@clisp.org>
25650
25651         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
25652         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
25653
25654 2010-09-23  Bruno Haible  <bruno@clisp.org>
25655
25656         setenv: Relax license.
25657         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
25658         Blake.
25659         Requested by Eric Blake.
25660
25661 2010-09-22  Bruno Haible  <bruno@clisp.org>
25662
25663         termios: Relax license.
25664         * modules/termios (License): Change to LGPLv2+.
25665         Requested by Eric Blake.
25666
25667 2010-09-22  Bruno Haible  <bruno@clisp.org>
25668
25669         threadlib: Allow the package to change the default to 'no'.
25670         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
25671         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
25672         Reported by Paul Eggert.
25673
25674 2010-09-22  Pádraig Brady  <P@draigbrady.com>
25675             Bruno Haible  <bruno@clisp.org>
25676
25677         Fix endless loop in mbmemcasecoll.
25678         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
25679         byte.
25680         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
25681
25682 2010-09-22  Bruno Haible  <bruno@clisp.org>
25683
25684         Tests for module 'memcoll'.
25685         * modules/memcoll-tests: New file.
25686         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
25687
25688         memcoll, xmemcoll: Clarify size vs. length.
25689         * modules/memcoll.c (memcoll0): Clarify specification.
25690         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
25691         passed to collate_error.
25692
25693 2010-09-22  Bruno Haible  <bruno@clisp.org>
25694
25695         Tests for module 'memcasecmp'.
25696         * modules/memcasecmp-tests: New file.
25697         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
25698
25699 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
25700
25701         * lib/pthread.in.h: Add split double-inclusion guard, and include
25702         system <pthread.h> if there is one.  Use @@-style as in other
25703         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
25704         pthread.h doesn't.
25705         (pthread_mutexattr_destroy, pthread_mutexattr_init):
25706         (pthread_mutexattr_settype, pthread_mutex_trylock):
25707         New static inline functions, if there's no system <pthread.h>.
25708         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
25709         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
25710         Approximate with mutexes if the system lacks spinlocks, as in
25711         MacOS.
25712         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
25713         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
25714         @@-style.  Check for spinlocks separately.
25715         (gl_PTHREAD_DEFAULTS): New macro.
25716         * modules/pthread: Redo to use a more typical style for in.h files.
25717
25718 2010-09-21  Eric Blake  <eblake@redhat.com>
25719
25720         net_if: enhance tests
25721         * tests/test-net_if.c (main): Move signature checks earlier.
25722         Print failures to stderr.
25723         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
25724         Document the bug that we do not yet fix.
25725
25726 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25727
25728         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
25729         about gnulib, not GSS.
25730
25731 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25732
25733         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
25734         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
25735         for Emacs.
25736         * build-aux/pmccabe2html: Make Makefile.am example code more
25737         cut-and-paste friendly.
25738
25739 2010-09-21  Simon Josefsson  <simon@josefsson.org>
25740
25741         * tests/test-net_if.c: New file.
25742         * modules/net_if-tests: New file.
25743
25744 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
25745
25746         pthread: add pthread_spin_destroy
25747         * lib/pthread.in.h (pthread_spin_destroy): New function.
25748
25749 2010-09-19  Bruno Haible  <bruno@clisp.org>
25750
25751         gnulib-tool: Fix --help output.
25752         * gnulib-tool (func_usage): Fix help message.
25753         Reported by Reuben Thomas <rrt@sc3d.org>.
25754
25755 2010-09-18  Jim Meyering  <meyering@redhat.com>
25756
25757         maint.mk: avoid unexpanded \n in two diagnostics
25758         * top/maint.mk (sc_prohibit_always_true_header_tests):
25759         Don't use a literal \n in a halt=... assignment.  It would not be
25760         expanded, and the two \n bytes would appear in the diagnostic output
25761         rather than the desired newline.  Use halt=$$(printf ... instead.
25762         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
25763
25764 2010-09-18  Bruno Haible  <bruno@clisp.org>
25765
25766         netinet_in: Doc tweak.
25767         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
25768         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25769
25770 2010-09-18  Jim Meyering  <meyering@redhat.com>
25771
25772         init.sh: correct an outdated comment
25773         * tests/init.sh (create_exe_shims_):  s/function/alias/
25774
25775         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
25776         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
25777         a file named "*.exe" is removed between the glob expansion and the
25778         processing of that oddly named file.
25779
25780 2010-09-17  Eric Blake  <eblake@redhat.com>
25781
25782         mirbsd: add some more support
25783         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
25784         in BSD family.
25785         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
25786         devices as OpenBSD.
25787         * m4/host-os.m4 (mirbsd): Add MirBSD.
25788
25789         tests: fix unportable assumption on sys/wait.h
25790         * tests/test-sys_wait.c (main): Relax test.
25791         * tests/test-stdlib.c (main): Likewise.
25792
25793         init.sh: accomodate directory with no .exes
25794         * tests/init.sh: Accomodate directory containing only scripts.
25795
25796         tests: avoid compiler warning
25797         * tests/test-stdlib.c (main): Use the variable.
25798
25799         fdutimens, fdutimensat: update signature, again
25800         * lib/utimens.h (gl_futimens): Delete, and move signature...
25801         (fdutimens): ...here.
25802         (fdutimensat): Rearrange signature.
25803         (lutimensat): Rename variable for clarity.
25804         * lib/fdutimensat.c (fdutimensat): Update signature.
25805         * lib/utimens.c (fdutimens): Likewise.
25806         (gl_futimens): Delete.
25807         (utimens, lutimens): Update callers.
25808         * lib/futimens.c (futimens): Likewise.
25809         * tests/test-fdutimensat.c: Likewise.
25810         * tests/test-utimens.c: Likewise.
25811         * tests/test-futimens.h: Update comment.
25812         * NEWS: Mention this.
25813         Suggested by Paul Eggert.
25814
25815 2010-09-17  Bruno Haible  <bruno@clisp.org>
25816
25817         Take over the maintenance of some older macros from Autoconf.
25818         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
25819         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
25820         GNU Autoconf.
25821         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
25822         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
25823
25824 2010-09-17  Eric Blake  <eblake@redhat.com>
25825
25826         fdutimensat: drop atflag validation
25827         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
25828         with valid fd, to close a race scenario where futimens is
25829         unsupported and FILE was replaced by a symlink.
25830         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
25831         accordingly.
25832         Suggested by Paul Eggert.
25833
25834 2010-09-16  Bruno Haible  <bruno@clisp.org>
25835
25836         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
25837         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
25838
25839 2010-09-16  Bruno Haible  <bruno@clisp.org>
25840
25841         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
25842         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
25843         login_tty exists.
25844         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25845
25846 2010-09-16  Bruno Haible  <bruno@clisp.org>
25847
25848         login_tty: Make the replacement code work on BSD systems.
25849         * lib/login_tty.c: Include <sys/ioctl.h>.
25850         (login_tty): Use ioctl TIOCSCTTY when available.
25851         * modules/login_tty (Depends-on): Add sys_ioctl.
25852         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25853
25854 2010-09-16  Bruno Haible  <bruno@clisp.org>
25855
25856         login_tty: Stricter unit test.
25857         * modules/login_tty-tests (Depends-on): Add tcgetsid.
25858         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
25859         and tcgetsid() after login_tty.
25860         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25861
25862 2010-09-16  Bruno Haible  <bruno@clisp.org>
25863
25864         New module 'tcgetsid'.
25865         * lib/tcgetsid.c: New file.
25866         * m4/tcgetsid.m4: New file.
25867         * modules/tcgetsid: New file.
25868         * modules/termios (Depends-on): Add c++defs, warn-on-use.
25869         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
25870         GNULIB_TCGETSID, HAVE_TCGETSID.
25871         * lib/termios.in.h: Include <sys/types.h>.
25872         (tcgetsid): New declaration.
25873         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
25874         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
25875         * doc/posix-functions/tcgetsid.texi: Mention the new module.
25876         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
25877
25878 2010-09-16  Bruno Haible  <bruno@clisp.org>
25879
25880         Tests for module 'termios'.
25881         * modules/termios-c++-tests: New file.
25882         * modules/termios-tests: New file.
25883         * tests/test-termios-c++.cc: New file.
25884         * tests/test-termios.c: New file.
25885
25886         New module 'termios'.
25887         * modules/termios: New file.
25888         * lib/termios.in.h: New file.
25889         * m4/termios_h.m4: New file.
25890         * doc/posix-headers/termios.texi: Mention the new module.
25891
25892 2010-09-16  Eric Blake  <eblake@redhat.com>
25893
25894         fdutimensat: add an atflag parameter
25895         * lib/fdutimensat.c (fdutimensat): Add new parameter.
25896         * lib/utimens.h (fdutimensat): Update prototype.
25897         * tests/test-fdutimensat.c: Adjust test to match.
25898         * NEWS: Document the change.
25899         Suggested by Paul Eggert.
25900
25901 2010-09-16  Bruno Haible  <bruno@clisp.org>
25902
25903         Fix typos in comments.
25904         * lib/striconveh.h: Fix typo in comment.
25905         * lib/login_tty.c (login_tty): Likewise.
25906
25907 2010-09-15  Bruno Haible  <bruno@clisp.org>
25908
25909         stdlib: clarify MirBSD WEXITSTATUS bug
25910         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
25911         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25912
25913 2010-09-15  Eric Blake  <eblake@redhat.com>
25914
25915         stdlib: work around MirBSD WEXITSTATUS bug
25916         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
25917         * modules/stdlib (Depends-on): Add sys_wait.
25918         * tests/test-sys_wait.c (main): Enhance test.
25919         * tests/test-stdlib.c (main): Likewise.
25920         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
25921
25922         docs: mention MacOS issue with WEXITSTATUS(constant)
25923         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
25924         issue.
25925         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25926
25927         strnlen: add tests
25928         * modules/strnlen-tests: New file.
25929         * tests/test-strnlen.c: Likewise.
25930
25931 2010-09-14  Bruno Haible  <bruno@clisp.org>
25932
25933         unistr/base: Avoid link errors when module 'libunistring' is also used.
25934         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
25935         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
25936         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
25937         Declare also when HAVE_LIBUNISTRING is set.
25938         Reported by Pádraig Brady <P@draigbrady.com>.
25939
25940 2010-09-14  Eric Blake  <eblake@redhat.com>
25941
25942         test-rawmemchr: make more robust
25943         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
25944         (Depends-on, configure.ac): Add needed prerequisites to use it.
25945         * modules/memchr-tests (Files, Depends-on, configure.ac):
25946         Likewise, to avoid implicit reliance on memchr module prereqs.
25947         * tests/test-memchr.c (main): Ensure proper masking.
25948         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
25949         reads.
25950
25951         memchr: detect glibc Alpha bug
25952         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
25953         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
25954         Alpha.
25955         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
25956         * tests/test-memchr.c (main): Enhance test.
25957         Reported by Nelson H. F. Beebe.
25958
25959 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25960
25961         fts, getcwd, glob: audit for dirfd returning -1
25962         * lib/fts.c (opendir): Remove #define; no longer used.
25963         (opendirat): New arg PDIR_FD.  All callers changed.
25964         (fts_build, _opendir2): Use new opendirat to avoid the need for
25965         dirfd, or for checking whether dirfd returns a negative value.
25966         Don't use opendir; always use openat followed by fdopendir.
25967         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
25968         it.
25969         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
25970         returns -1 here.
25971         * modules/fts (Depends-on): Remove dirfd.
25972         * modules/getcwd (Depends-on): Likewise.
25973
25974 2010-09-13  Eric Blake  <eblake@redhat.com>
25975
25976         float: fix broken MirBSD header
25977         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
25978         * doc/posix-headers/float.texi (float.h): Document it.
25979
25980 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25981
25982         fts: use O_NOFOLLOW to avoid race condition when opening a directory
25983         * lib/fts.c (opendirat): New arg extra_flags.
25984         (__opendir2): Use it to avoid following symlinks when opening
25985         a directory, if symlinks are not supposed to be followed.  See
25986         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
25987
25988         fdopendir: preserve argument fd before returning
25989         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
25990         (fdopendir_with_dup, fd_clone_opendir): New static functions.
25991         (fdopendir): Use them, arranging for FD to be open to the same
25992         directory that it was when it started.  (It might be temporarily
25993         closed while fdopendir is running, so this not thread- or
25994         signal-safe.)  Be careful to do the right thing even when file
25995         descriptors are scarce and dup fails with errno == EMFILE.  See
25996         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
25997
25998 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
25999
26000         regex: Pass the system regex if its only problem is 32-bit regoff_t.
26001         * NEWS: Document change.
26002         * m4/regex.m4: Disable test for regoff_t size.
26003
26004 2010-09-13  Jim Meyering  <meyering@redhat.com>
26005
26006         fts: don't operate on an invalid file descriptor after failed dup
26007         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
26008         negative file descriptor.
26009
26010 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
26011
26012         savedir: add streamsavedir, deprecate fdsavedir
26013         * NEWS: Mention deprecation of fdsavedir.
26014         * lib/savedir.c (streamsavedir): New extern function, whose name
26015         ends in "savedir" to be consistent with the others.  This differs
26016         from savedirstream in that it doesn't close its argument.  The
26017         next version of GNU tar will use this instead of fdsavedir, to
26018         avoid some race conditions and conserve file descriptors.
26019         (savedirstream): Reimplement as a wrapper around streamsavedir.
26020         (fdsavedir): Add a comment deprecating this function.  As far as
26021         I know, only GNU tar used it, and GNU tar doesn't need it any more.
26022         * lib/savedir.h (streamsavedir): New decl.
26023         (fdsavedir): Add a comment deprecating this.
26024
26025 2010-09-10  Bruno Haible  <bruno@clisp.org>
26026
26027         langinfo: Fix last commit.
26028         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
26029         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
26030         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26031
26032 2010-09-10  Bruno Haible  <bruno@clisp.org>
26033
26034         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
26035         * lib/progreloc.c (O_EXEC): Define fallback.
26036
26037 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
26038
26039         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
26040         * NEWS: Document recent changes to fcntl-h.
26041         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
26042         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
26043         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
26044         Similarly for O_SEARCH; this last was already true, but not documented.
26045         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
26046         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
26047         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
26048         Likewise.
26049         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
26050         is zero, not whether it is defined.
26051         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
26052         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
26053         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
26054
26055 2010-09-10  Bruno Haible  <bruno@clisp.org>
26056
26057         langinfo, nl_langinfo: Fix for IRIX 5.3.
26058         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
26059         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
26060         HAVE_LANGINFO_YESEXPR.
26061         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
26062         HAVE_LANGINFO_YESEXPR.
26063         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
26064         HAVE_LANGINFO_T_FMT_AMPM is 0.
26065         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
26066         HAVE_LANGINFO_YESEXPR is 0.
26067         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
26068         NOEXPR.
26069         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
26070         * doc/posix-functions/nl_langinfo.texi: Likewise.
26071         Reported by Eric Blake.
26072
26073 2010-09-10  Bruno Haible  <bruno@clisp.org>
26074
26075         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
26076         * doc/glibc-functions/login_tty.texi: Mention the include file problem
26077         on FreeBSD 8.0 and OpenBSD 4.6.
26078         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
26079         * m4/pty_h.m4 (gl_PTY_H): Likewise.
26080         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
26081         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
26082         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
26083         ac_includes_default.
26084         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26085
26086 2010-09-09  Eric Blake  <eblake@redhat.com>
26087
26088         strsignal: work around NetBSD bug
26089         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
26090         * lib/string.in.h (includes): Likewise.
26091         * doc/posix-functions/strsignal.texi (strsignal): Document the
26092         bug.
26093         Reported by Nelson H. F. Beebe.
26094
26095         gnulib-tool: work with NetBSD /bin/sh
26096         * gnulib-tool (func_cache_var, func_cache_lookup_module)
26097         (func_get_description, func_get_comment, func_get_status)
26098         (func_get_notice, func_get_applicability, func_get_filelist)
26099         (func_get_dependencies, func_get_autoconf_early_snippet)
26100         (func_get_autoconf_snippet, func_get_automake_snippet)
26101         (func_get_include_directive, func_get_link_directive)
26102         (func_get_license, func_get_maintainer, func_import): Avoid
26103         shell syntax errors from parsing syntax extensions.
26104
26105 2010-09-09  Bruno Haible  <bruno@clisp.org>
26106
26107         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26108         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
26109         a reliable way to determine whether the 'alias' command works.
26110
26111 2010-09-08  Jim Meyering  <meyering@redhat.com>
26112
26113         init.sh: penalize a set-x-impaired shell; don't disqualify it
26114         * tests/init.sh: Too many shells corrupt application stderr when
26115         you set -x, so we can't afford to disqualify them, since at least
26116         on Irix-6.5, that would disqualify all bourne shells.
26117         Instead, use a two-pass approach.
26118         On the first pass, try to find a shell that meets the stricter
26119         condition that set -x does not corrupt stderr.
26120         If no shell meets the stricter condition, retest each candidate
26121         shell, but without that extra condition.  Finally, when
26122         VERBOSE=yes is requested and set -x might cause trouble, simply
26123         issue a warning and refrain from enabling debug output.
26124
26125 2010-09-08  Eric Blake  <eblake@redhat.com>
26126
26127         unsetenv: fix OpenBSD bug
26128         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
26129         * doc/posix-functions/unsetenv.texi (unsetenv): Update
26130         documentation.
26131         Reported by Jim Meyering.
26132
26133         strtod: work around IRIX 6.5 bug
26134         * lib/strtod.c (strtod): Reparse number on shorter string if
26135         exponent parse was invalid.
26136         * tests/test-strtod.c (main): Add check for "0x1p 2".
26137         Reported by Tom G. Christensen.
26138
26139         getopt: optimize previous patch
26140         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
26141         empty variable.  Speed up awk script.
26142         Reported by Paolo Bonzini.
26143
26144 2010-09-08  Jim Meyering  <meyering@redhat.com>
26145
26146         test.sh: disqualify shells for which set -x corrupts stderr
26147         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
26148         and OpenBSD 4.7.  They make it so with "set -x", environment settings
26149         appear in stderr output.  For example, this command:
26150             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
26151         prints "P=1" on those two systems:
26152
26153 2010-09-08  Bruno Haible  <bruno@clisp.org>
26154
26155         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26156         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
26157         commands, because some shells ignore redirections when there is an
26158         error in the command lookup.
26159         Reported by Eric Blake.
26160
26161 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
26162
26163         * lib/regex.h: Fix a mention of `regex_compile' (should be
26164         `re_compile_pattern').
26165         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
26166         (re_set_registers): Correct name of parameter in comment.
26167
26168         * doc/regex.texi: Add documentation for missing syntax flags.
26169         Remove commented-out documentation of defunct syntax option
26170         RE_NO_EMPTY_ALTS.
26171         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
26172         Add documentation of re_set_registers.
26173         Document trick to re-use a pattern buffer by setting fastmap manually.
26174         Update documentation of struct re_pattern_buffer per public members.
26175         Uncomment documentation of equivalence class operators and
26176         collating symbol operators, since they are now implemented,
26177         Explain leftmost-longest matching in relation to alternatives.
26178         Tidy documentation of substring matching.
26179         Remove POSIX documentation, which is done better in
26180         glibc, and refer the reader there. Keep BSD API documentation, as
26181         that is not readily available elsewhere.
26182
26183 2010-09-07  Eric Blake  <eblake@redhat.com>
26184
26185         getopt: handle POSIXLY_CORRECT set but not exported
26186         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
26187         export state of POSIXLY_CORRECT, due to bash set -o posix.
26188         Reported by Dustin J. Mitchell.
26189
26190 2010-09-05  Bruno Haible  <bruno@clisp.org>
26191
26192         gnulib-tool: Highlight the changed options.
26193         * gnulib-tool (func_usage): Display the --import, --add-import,
26194         --remove-import explanations in bold font.
26195
26196 2010-09-06  Karl Berry  <karl@gnu.org>
26197
26198         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
26199
26200 2010-09-05  Bruno Haible  <bruno@clisp.org>
26201
26202         uniwidth/width: Update comment.
26203         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
26204         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
26205
26206 2010-09-05  Bruno Haible  <bruno@clisp.org>
26207
26208         isinf, isnan: Relax license.
26209         * modules/isinf (License): Change from GPL to LGPL, with consent from
26210         Ben Pfaff.
26211         * modules/isnan (License): Likewise.
26212         Requested by Ludovic Courtès.
26213
26214 2010-09-04  Bruno Haible  <bruno@clisp.org>
26215
26216         gnulib-tool: Help migration from --import to --add-import or --update.
26217         * gnulib-tool: Emit a verbose error message when --import is used
26218         without any module name.
26219
26220 2010-09-04  Bruno Haible  <bruno@clisp.org>
26221
26222         Update doc about gnulib-tool.
26223         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
26224         'gnulib-tool --update' in more detail.
26225         Reported by Eric Blake.
26226
26227 2010-09-04  Bruno Haible  <bruno@clisp.org>
26228
26229         gnulib-tool: Change --import. New options --add/remove-import.
26230         * gnulib-tool: New options --add-import, --remove-import.
26231         (func_usage): Document them.
26232         (have_associative): Define always.
26233         (func_import): In import mode, don't merge the specified settings with
26234         the cached settings. Implement remove-import mode.
26235         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
26236         Explain when to use them versus --import.
26237         (Simple update): Use --add-import instead of --import.
26238         * NEWS: Mention the change.
26239
26240 2010-09-04  Bruno Haible  <bruno@clisp.org>
26241
26242         * doc/gnulib-tool.texi (Initial import): Update paragraph about
26243         separate gnulib.mk.
26244
26245 2010-09-04  Bruno Haible  <bruno@clisp.org>
26246
26247         gnulib-tool: Don't talk about CVS any more.
26248         * gnulib-tool (func_usage, func_import): Write "version control"
26249         instead of CVS.
26250
26251 2010-09-04  Jim Meyering  <meyering@redhat.com>
26252
26253         maint.mk: avoid obscure sc_copyright_check failure in coreutils
26254         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
26255         false positives (whose names may be ill-chosen) when searching
26256         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
26257         would cause a false-positive.
26258
26259         avoid coreutils "make distcheck" failure
26260         Coreutils tests with an absolute build directory name that contains
26261         a space.  Not quoting this directory name caused a failure.
26262         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
26263         * tests/test-vc-list-files-cvs.sh: Likewise.
26264
26265 2010-09-04  Bruno Haible  <bruno@clisp.org>
26266
26267         gnulib-tool: Avoid error when run in a package without Makefile.am.
26268         * gnulib-tool: When collecting the m4dirs in a package that does not
26269         have a Makefile.am, eliminate those directories that contain no
26270         gnulib-cache.m4. Fix expression that counts these directories.
26271
26272 2010-09-04  Bruno Haible  <bruno@clisp.org>
26273
26274         update-copyright test: Improve output when perl is missing or too old.
26275         * tests/test-update-copyright.sh: Move test of Perl version down after
26276         the test whether Perl exists. Provide an explanation relating Perl's
26277         error message to Automake's SKIP: message.
26278
26279 2010-09-04  Bruno Haible  <bruno@clisp.org>
26280
26281         Don't augment PATH in TESTS_ENVIRONMENT.
26282         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
26283         set abs_aux_dir instead of augmenting PATH.
26284         * modules/vc-list-files-tests (Makefile.am): Likewise.
26285         * tests/test-update-copyright.sh: Augment PATH here.
26286         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
26287         path_prepend_.
26288         * tests/test-vc-list-files-git.sh: Likewise.
26289
26290 2010-09-04  Jim Meyering  <meyering@redhat.com>
26291
26292         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
26293         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
26294
26295 2010-09-04  Bruno Haible  <bruno@clisp.org>
26296
26297         strdup: Fix compilation error in C++ mode.
26298         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
26299         the macro.
26300
26301 2010-09-04  Bruno Haible  <bruno@clisp.org>
26302
26303         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
26304         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
26305         macro into a function.
26306         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26307
26308 2010-09-04  Bruno Haible  <bruno@clisp.org>
26309
26310         Set PATH_SEPARATOR the same way autoconf does.
26311         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
26312         the value of PATH_SEPARATOR the same way autoconf-generated configure
26313         scripts do.
26314         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
26315         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
26316
26317 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26318
26319         Set PATH_SEPARATOR the same way autoconf does.
26320         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
26321         the same way autoconf-generated configure scripts do.
26322         * posix-modules: Likewise.
26323
26324 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
26325
26326         hash: fix safe_hasher const typo
26327         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
26328         const; otherwise, there is a type error later.
26329
26330 2010-09-02  Jim Meyering  <meyering@redhat.com>
26331
26332         test-update-copyright.sh: require perl 5.8.0
26333         * tests/test-update-copyright.sh: Require 5.8.0,
26334         which Tom G. Christensen has confirmed is adequate,
26335         while 5.6.1 is not.
26336
26337 2010-09-02  Eric Blake  <eblake@redhat.com>
26338
26339         tests: init.sh improvements for re-exec'ing with zsh
26340         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
26341         -vx through shell re-exec.
26342         Reported by Tom G. Christensen.
26343
26344         wctype: fix typo in previous commit
26345         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
26346         Reported by Ludovic Courtès.
26347
26348 2010-09-02  Jim Meyering  <meyering@redhat.com>
26349
26350         test-update-copyright.sh: skip test if Perl is too old
26351         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
26352         Reported by Tom G. Christensen.
26353
26354 2010-09-02  Bruno Haible  <bruno@clisp.org>
26355
26356         wctype: Avoid compilation error on IRIX 6.5.30.
26357         * lib/wctype.in.h (iswblank): Declare with a replacement if
26358         REPLACE_ISWBLANK is set.
26359         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
26360         declared. Set REPLACE_ISWBLANK.
26361         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
26362         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
26363         * doc/posix-headers/wctype.texi: Likewise.
26364         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26365
26366 2010-09-01  Bruno Haible  <bruno@clisp.org>
26367
26368         New module 'socketlib'.
26369         * modules/socketlib: New file.
26370         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
26371         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
26372         * modules/sockets (Depends-on): Add socketlib.
26373         Suggested by Sam Steingold <sds@gnu.org>.
26374
26375 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
26376
26377         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
26378
26379         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
26380         when one needs search access to a directory but not read access.
26381         On systems where it is available, it works in some cases where
26382         O_RDONLY does not, namely on directories that are searchable but
26383         not readable, and which need only to be searchable.  If O_SEARCH
26384         is not available, fall back to the traditional method of using
26385         O_RDONLY.
26386
26387         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
26388         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
26389         when opening a directory that needs only to be searchable.
26390         * lib/chdir-safer.c (chdir_no_follow): Likewise.
26391         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
26392         * lib/openat-proc.c (openat_proc_name): Likewise.
26393         * lib/openat.c (openat_needs_fchdir): Likewise.
26394         * lib/save-cwd.c (save_cwd): Likewise.
26395         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
26396
26397 2010-08-28  Bruno Haible  <bruno@clisp.org>
26398
26399         New module 'host-cpu-c-abi'.
26400         * modules/host-cpu-c-abi: New file.
26401         * m4/host-cpu-c-abi.m4: New file, based on part of
26402         clisp/src/m4/general.m4.
26403         Requested by Sam Steingold <sds@gnu.org>.
26404
26405 2010-08-31  Eric Blake  <eblake@redhat.com>
26406         and Jim Meyering  <meyering@redhat.com>
26407
26408         hash: factor, and guard against misbehaving hasher function
26409         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
26410         of table->hasher's return value.  Also protect against a hash value
26411         so large that adding it to table->bucket results in a NULL pointer.
26412         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
26413         Use it in place of open-coded check-and-abort.
26414
26415 2010-08-30  Bruno Haible  <bruno@clisp.org>
26416
26417         hash: silence spurious clang warning
26418         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
26419         Reported by Eric Blake.
26420
26421 2010-08-30  Eric Blake  <eblake@redhat.com>
26422
26423         strstr, memmem, strcasestr: avoid leaked shell message
26424         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
26425         FreeBSD.
26426         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26427         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26428
26429         tests: silence clang warning
26430         * tests/test-malloca.c (do_allocation): Avoid dead store.
26431
26432 2010-08-29  Bruno Haible  <bruno@clisp.org>
26433
26434         gettext: Fix recent mistake.
26435         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
26436
26437 2010-08-29  Bruno Haible  <bruno@clisp.org>
26438
26439         selinux-h: Offer a --without-selinux option.
26440         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
26441         --without-selinux was specified, skip all tests and define
26442         HAVE_SELINUX_SELINUX_H to 0.
26443         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
26444         set LIB_SELINUX to empty.
26445         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
26446         gl_LIBSELINUX. If --without-selinux was specified, replace
26447         selinux/context.h.
26448         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
26449
26450 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26451             Bruno Haible  <bruno@clisp.org>
26452
26453         Make the module 'realloc-gnu' work again on AIX and OSF/1.
26454         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
26455         of HAVE_REALLOC.
26456         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
26457         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
26458         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
26459         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26460
26461 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26462             Bruno Haible  <bruno@clisp.org>
26463
26464         Make the module 'calloc-gnu' work again on AIX and OSF/1.
26465         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
26466         HAVE_CALLOC.
26467         * lib/xmalloc.c: Update accordingly.
26468         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
26469         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
26470         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
26471
26472 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26473             Bruno Haible  <bruno@clisp.org>
26474
26475         Make the module 'malloc-gnu' work again on AIX and OSF/1.
26476         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
26477         HAVE_MALLOC.
26478         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
26479         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
26480         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26481
26482 2010-08-29  Bruno Haible  <bruno@clisp.org>
26483
26484         Update modules list.
26485         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
26486         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
26487         (String handling <string.h>): Add astrxfrm.
26488         (File system functions): Add readlinkat.
26489
26490 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26491
26492         Tests for module 'realloc-gnu'.
26493         * modules/realloc-gnu-tests: New file.
26494         * tests/test-realloc-gnu.c: New file.
26495
26496         Tests for module 'calloc-gnu'.
26497         * modules/calloc-gnu-tests: New file.
26498         * tests/test-calloc-gnu.c: New file.
26499
26500         Tests for module 'malloc-gnu'.
26501         * modules/malloc-gnu-tests: New file.
26502         * tests/test-malloc-gnu.c: New file.
26503
26504 2010-08-28  Bruno Haible  <bruno@clisp.org>
26505
26506         Rename module 'realloc' -> 'realloc-gnu'.
26507         * modules/realloc-gnu: New file, copied from modules/realloc.
26508         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
26509         obsolete.
26510         * modules/mgetgroups (Depends-on): Update.
26511         * doc/posix-functions/realloc.texi: Update.
26512         * NEWS: Mention the change.
26513
26514         Rename module 'calloc' -> 'calloc-gnu'.
26515         * modules/calloc-gnu: New file, copied from modules/calloc.
26516         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
26517         obsolete.
26518         * doc/posix-functions/calloc.texi: Update.
26519         * NEWS: Mention the change.
26520
26521         Rename module 'malloc' -> 'malloc-gnu'.
26522         * modules/malloc-gnu: New file, copied from modules/malloc.
26523         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
26524         obsolete.
26525         * modules/argp (Depends-on): Update.
26526         * modules/regex (Depends-on): Update.
26527         * doc/posix-functions/malloc.texi: Update.
26528         * NEWS: Mention the change.
26529
26530 2010-08-28  Eric Blake  <eblake@redhat.com>
26531
26532         pread, pwrite: add missing dependency
26533         * modules/pread (Depends-on): Add extensions.
26534         * modules/pwrite (Depends-on): Likewise.
26535
26536 2010-08-28  Bruno Haible  <bruno@clisp.org>
26537
26538         unistr/u*-strchr: Fix tests dependencies.
26539         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
26540         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
26541         Reported by Ian Beckwith <ianb@erislabs.net>.
26542
26543 2010-08-28  Bruno Haible  <bruno@clisp.org>
26544
26545         read-file: Don't occupy too much unused memory.
26546         * lib/read-file.c (fread_file): Shrink the buffer at the end.
26547
26548 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
26549             Eric Blake  <eblake@redhat.com>
26550             Bruno Haible  <bruno@clisp.org>
26551
26552         read-file: Avoid memory reallocations with regular files.
26553         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
26554         (fread_file): With regular files, use the remaining length as the
26555         initial buffer size.  Check against overflow.
26556         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
26557         sys_stat.
26558
26559 2010-08-28  Bruno Haible  <bruno@clisp.org>
26560
26561         ftello: Relax license.
26562         * modules/ftello (License): Relax to LGPLv2+.
26563         Reported by Eric Blake.
26564
26565 2010-08-28  Bruno Haible  <bruno@clisp.org>
26566
26567         Avoid relocwrapper link errors due to gnulib replacement functions.
26568         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
26569         function.
26570         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26571
26572 2010-08-28  Bruno Haible  <bruno@clisp.org>
26573
26574         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
26575         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
26576         defined.
26577         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
26578         Suggested by Eric Blake.
26579
26580 2010-08-28  Bruno Haible  <bruno@clisp.org>
26581
26582         sys_socket, netdb: Ensure socklen_t gets defined.
26583         * modules/sys_socket (Depends-on): Add socklen.
26584         * modules/netdb (Depends-on): Likewise.
26585         * modules/getaddrinfo (Depends-on): Remove socklen.
26586         * modules/getsockopt (Depends-on): Likewise.
26587         * modules/setsockopt (Depends-on): Likewise.
26588         * tests/test-sys_socket.c: Check that socklen_t is defined.
26589         * tests/test-netdb.c: Likewise.
26590         * m4/socklen.m4: Update comments.
26591         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26592
26593 2010-08-27  Eric Blake  <eblake@redhat.com>
26594
26595         login_tty: add missing dependency
26596         * modules/login_tty (Depends-on): Add pty.
26597
26598 2010-08-26  Eric Blake  <eblake@redhat.com>
26599
26600         lib-symbol-versions: fix m4 quoting
26601         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
26602         format for AC_LINK_IFELSE.
26603
26604         glob: fix compile test
26605         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
26606
26607         btowc: fix missing file
26608         * modules/btowc (Files): Also ship locale-fr.m4.
26609
26610         lseek: fix link test
26611         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
26612         AC_LINK_IFELSE.
26613
26614         include_next: silence autoconf 2.68 warning
26615         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
26616         AC_COMPILE_IFELSE as special.
26617         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
26618         autoconf < 2.68.
26619
26620         acl: fix compilation test
26621         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
26622         AC_COMPILE_IFELSE.
26623
26624 2010-08-26  Bruno Haible  <bruno@clisp.org>
26625
26626         Modernize AC_TRY_RUN invocations.
26627         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
26628         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
26629         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
26630         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
26631         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
26632         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
26633         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
26634         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26635         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26636         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26637         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
26638         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
26639         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
26640         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
26641         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
26642         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26643         gl_MBRLEN_NUL_RETVAL): Likewise.
26644         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26645         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
26646         Likewise.
26647         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26648         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26649         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
26650         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
26651         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
26652         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
26653         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
26654         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
26655         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
26656         Likewise.
26657         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
26658         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
26659         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26660         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26661         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26662         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
26663         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26664         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
26665         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26666         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
26667
26668 2010-08-26  Bruno Haible  <bruno@clisp.org>
26669
26670         Modernize AC_TRY_LINK invocations.
26671         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
26672         AC_TRY_LINK.
26673         * m4/argp.m4 (gl_ARGP): Likewise.
26674         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
26675         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
26676         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
26677         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
26678         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
26679         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
26680         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
26681         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
26682         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
26683         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
26684         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
26685         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
26686         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
26687         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26688         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
26689         * m4/hostent.m4 (gl_HOSTENT): Likewise.
26690         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26691         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
26692         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
26693         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
26694         Likewise.
26695         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
26696         Likewise.
26697         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
26698         Likewise.
26699         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
26700         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
26701         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
26702         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
26703         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
26704         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26705         * m4/servent.m4 (gl_SERVENT): Likewise.
26706         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
26707         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
26708         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
26709         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
26710         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26711         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
26712         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
26713         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26714         * modules/tsearch-tests (configure.ac): Likewise.
26715
26716 2010-08-26  Bruno Haible  <bruno@clisp.org>
26717
26718         Modernize AC_TRY_COMPILE invocations.
26719         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
26720         AC_TRY_COMPILE.
26721         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
26722         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
26723         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
26724         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
26725         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
26726         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
26727         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
26728         * m4/lock.m4 (gl_LOCK): Likewise.
26729         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
26730         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
26731         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
26732         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
26733         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
26734         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
26735         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
26736         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
26737         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
26738         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
26739         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
26740         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
26741         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
26742         extraneous semicolon.
26743
26744 2010-08-26  Jim Meyering  <meyering@redhat.com>
26745
26746         stat-time: relax license LGPL
26747         * modules/stat-time (License): Change from GPL to LGPL,
26748         with consent from all contributors, for use in libguile.
26749         Requested by Ludovic Courtès.
26750
26751 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
26752
26753         poll: return immediately on POLLHUP.
26754         * lib/poll.c (poll): Always set timeout before wait_timeout is
26755         computed.
26756
26757 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26758
26759         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
26760         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
26761         rmdir ("dir/.//"), unlinkat.
26762
26763 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
26764
26765         stdbool: avoid spurious failure with modern xlc
26766         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26767
26768 2010-08-24  Bruno Haible  <bruno@clisp.org>
26769
26770         getloadavg: simplify code
26771         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
26772         gl_have_func. Update comments.
26773
26774 2010-08-24  Eric Blake  <eblake@redhat.com>
26775
26776         getloadavg: don't define SVR4 on cygwin
26777         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
26778         only define SVR4 when -lkvm is required.
26779         Reported by Yaakov Selkowitz.
26780
26781 2010-08-24  Bruno Haible  <bruno@clisp.org>
26782
26783         priv-set: fix comment
26784         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
26785
26786 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
26787
26788         priv-set: fix comments
26789         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
26790         to match code, as suggested by David Bartley in:
26791         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
26792
26793 2010-08-23  Eric Blake  <eblake@redhat.com>
26794
26795         stdbool: avoid rejecting clang
26796         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26797         * tests/test-stdbool.c: Enable more tests if using the system
26798         <stdbool.h> instead of the gnulib replacement.
26799         (main): Move xlc bug test to a runtime test for all compilers.
26800         Reported by Anders Kaseorg.
26801
26802         argz: fix shell quoting issue
26803         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
26804         Reported by Charles Wilson.
26805
26806 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
26807             Erik Faye-Lund <kusmabite@gmail.com>
26808
26809         poll, select: handle ERROR_BROKEN_PIPE.
26810         * lib/poll.c (win32_compute_revents): Return POLLHUP when
26811         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26812         * lib/select.c (win32_compute_revents): Do not mark a pipe
26813         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26814
26815 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
26816
26817         fts: allow compilation with C++
26818         * lib/fts_.h: Specify extern "C" linkage with C++.
26819
26820 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26821
26822         Fix gnulib-tool sed script de-commentation for AIX sed.
26823         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
26824         sed.
26825
26826 2010-08-17  Eric Blake  <eblake@redhat.com>
26827
26828         test-stddef: test for (some) offsetof bugs
26829         * tests/test-stddef.c: Enhance test to ensure correct type of
26830         offsetof.
26831         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
26832         that we are not fixing at this time.
26833
26834 2010-08-15  Bruno Haible  <bruno@clisp.org>
26835
26836         stpncpy: Allow stpncpy to be defined as a macro.
26837         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
26838         if it's already correctly declared.
26839         * lib/string.in.h (stpncpy): Undefine before redefining.
26840         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
26841
26842 2010-08-14  Bruno Haible  <bruno@clisp.org>
26843
26844         Rename module 'memxfrm' to 'amemxfrm'.
26845         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
26846         (amemxfrm): Renamed from memxfrm.
26847         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
26848         (amemxfrm): Renamed from memxfrm.
26849         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
26850         * NEWS: Mention the change.
26851         * MODULES.html.sh (String handling <string.h>): Update.
26852         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
26853         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
26854         * lib/unicase/u16-casexfrm.c: Likewise.
26855         * lib/unicase/u32-casexfrm.c: Likewise.
26856         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
26857         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
26858         * lib/uninorm/u16-normxfrm.c: Likewise.
26859         * lib/uninorm/u32-normxfrm.c: Likewise.
26860         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
26861         memxfrm.
26862         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
26863         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
26864         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
26865         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
26866         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
26867         Suggested by Paul Eggert.
26868
26869 2010-08-14  Bruno Haible  <bruno@clisp.org>
26870
26871         Tests for module 'astrxfrm'.
26872         * modules/astrxfrm-tests: New file.
26873         * tests/test-astrxfrm.c: New file.
26874
26875         New module 'astrxfrm'.
26876         * lib/astrxfrm.h: New file.
26877         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
26878         * modules/astrxfrm: New file.
26879
26880 2010-08-14  Reuben Thomas <rrt@sc3d.org>
26881
26882         regex: Tweak doc.
26883         * doc/regex.texi (Overview): Don't mention regex.c.
26884         (GNU Regular Expression Compiling): Likewise.
26885         (Match-end-of-line Operator): Mention 'not_eol'.
26886
26887 2010-08-14  Brian Gough  <bjg@gnu.org>
26888             Bruno Haible  <bruno@clisp.org>
26889
26890         git-merge-changelog: add doc relating to use with bzr and hg.
26891         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
26892
26893 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
26894
26895         pthread: fix pthread.h creation for srcdir != builddir
26896         * modules/pthread (Makefile.am): Fix the rule to work also in a
26897         non-srcdir build.
26898
26899 2010-08-13  Karl Berry  <karl@gnu.org>
26900
26901         * doc/regex.texi (Predefined Syntaxes): @smallexample.
26902         * doc/posix-*/*: force line break before @url of POSIX
26903         specifications.
26904         Suggested by Werner Lemberg.
26905
26906 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
26907
26908         strtod: fix const diagnostic
26909         * lib/strtod.c (strtod): Don't assign const char * to char *,
26910         as this elicits a warning from GCC when warnings are enabled.
26911
26912 2010-08-10  Pádraig Brady <P@draigbrady.com>
26913         and Eric Blake  <eblake@redhat.com>
26914
26915         copy-acl: ignore ENOTSUP on HP-UX
26916         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
26917         so that it is available for HP-UX.
26918         * lib/copy-acl.c (qcopy_acl): Use it.
26919         Reported by Patrick M. Callahan.
26920
26921 2010-08-10  Eric Blake  <eblake@redhat.com>
26922
26923         open, chown: relax license
26924         * modules/open (License): Change to LGPLv2+, with consent by all
26925         authors, for use in augeas.
26926         * modules/chown (License): Likewise.
26927         * modules/lchown (Likewise): Likewise.
26928         Requested by Adam Stokes.
26929
26930 2010-08-09  Karl Berry  <karl@gnu.org>
26931
26932         * build-aux/ar-lib: new file, import from Automake.
26933         * config/srclist.txt: autocheck for updates.
26934
26935 2010-08-09  Eric Blake  <eblake@redhat.com>
26936
26937         readlinkat: adjust client modules
26938         * modules/areadlinkat (Depends-on): Use readlinkat, not
26939         symlinkat.
26940         * modules/areadlinkat-with-size (Depends-on): Likewise.
26941
26942         mknod: be more vocal about danger of running tests as root
26943         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
26944         root, since that is just asking for problems.
26945         Suggested by Bruno Haible, based on a report by Rainer Tammer.
26946
26947         readlinkat: split into its own module
26948         * modules/symlinkat: Split readlinkat...
26949         * modules/readlinkat: ...into separate module.
26950         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
26951         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
26952         * lib/symlinkat.c (readlinkat): Move...
26953         * lib/readlinkat.c: ...into new file.
26954         * modules/symlinkat-tests: Split readlinkat test...
26955         * modules/readlinkat-tests: ...into separate module.
26956         * tests/test-symlinkat.c: Split...
26957         * tests/test-readlinkat.c: ...into new file.
26958         * NEWS: Document the split.
26959         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26960         * lib/unistd.in.h (readlinkat): Likewise.
26961         Suggested by Bruno Haible.
26962
26963 2010-08-08  Bruno Haible  <bruno@clisp.org>
26964
26965         memxfrm: Speed up.
26966         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
26967         that usually only one call to strxfrm is necessary for each string
26968         part.
26969         Reported by Paul Eggert <eggert@cs.ucla.edu>.
26970
26971 2010-08-07  Karl Berry  <karl@gnu.org>
26972
26973         * doc/posix-headers/limits.texi,
26974         * doc/posix-functions/malloc.texi,
26975         * doc/posix-functions/strsignal.texi: missing @item.
26976         * doc/ld-version-script.texi: spurious leading i.
26977         * doc/regex.texi (Interval Operators): no commas inside @var.
26978
26979 2010-08-01  Bruno Haible  <bruno@clisp.org>
26980
26981         Integrate the regex documentation.
26982         * doc/gnulib.texi: Define 'cn' index.
26983         (Regular expressions): New a chapter that includes regex.texi and
26984         regexprops-generic.texi.
26985         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
26986         syntax.
26987
26988         Whitespace cleanup.
26989         * doc/regex.texi: Remove trailing spaces.
26990
26991         Add regex documentation.
26992         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
26993         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
26994         Written by Kathy A. Hargreaves and Karl Berry.
26995
26996 2010-08-01  Bruno Haible  <bruno@clisp.org>
26997
26998         link: Update documentation.
26999         * doc/posix-functions/link.texi: Update regarding Solaris.
27000
27001 2010-07-31  Bruno Haible  <bruno@clisp.org>
27002
27003         Update modules list.
27004         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
27005         (String handling <string.h>): Add memcmp2, memxfrm.
27006         (Container data structures): Add xlist, xsublist, xoset.
27007         (Core language properties): Add alignof, unused-parameter.
27008         (Process control, Numeric conversion functions <stdlib.h>): Renamed
27009         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
27010         (Unibyte characters <ctype.h>): New section.
27011         (String handling <string.h>): New section.
27012         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
27013         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
27014         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
27015         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
27016         tan, tanh, tanl, y0, y1, yn.
27017         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
27018         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
27019         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
27020         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
27021         unlockpt, vdprintf, vdprintf-posix.
27022         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
27023         (File system functions): Add concat-filename, sys_file, sys_ioctl,
27024         xconcat-filename.
27025         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
27026         getdtablesize, pipe2, pipe2-safer.
27027         (Security): New section.
27028         (Networking functions): Add accept4.
27029         (Signal handling): Add sigpipe.
27030         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
27031         mbmemcasecoll.
27032         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
27033         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
27034         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
27035         pipe-filter-ii.
27036         (Misc): Add argp-version-etc, login_tty, parse-duration.
27037
27038 2010-07-31  Bruno Haible  <bruno@clisp.org>
27039
27040         Improve doc in MODULES.html.
27041         * modules/linkat (Description): Add the word "function".
27042         * modules/mkfifo (Description): Likewise.
27043         * modules/mknod (Description): Likewise.
27044         * modules/remove (Description): Likewise.
27045         * modules/renameat (Description): Likewise.
27046         * modules/stat (Description): Likewise.
27047         * modules/symlink (Description): Likewise.
27048         * modules/unlink (Description): Likewise.
27049
27050 2010-07-31  Bruno Haible  <bruno@clisp.org>
27051
27052         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
27053         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
27054         option --enable/disable-c++ instead of --enable/disable-cxx.
27055         * NEWS: Mention the change.
27056
27057 2010-07-31  Bruno Haible  <bruno@clisp.org>
27058
27059         readlink, areadlink: Relax test a bit.
27060         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
27061         alternative to ENOTDIR.
27062         * tests/test-areadlink.h (test_areadlink): Likewise.
27063         Reported by Rainer Tammer.
27064
27065 2010-07-31  Bruno Haible  <bruno@clisp.org>
27066
27067         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
27068         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
27069         character, perform the search using U_STRCHR.
27070         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
27071         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
27072         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
27073         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
27074         Suggested by Paolo Bonzini.
27075
27076 2010-07-31  Bruno Haible  <bruno@clisp.org>
27077
27078         unistr/u*-strstr: Fix dependencies.
27079         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
27080         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
27081         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
27082
27083 2010-07-31  Bruno Haible  <bruno@clisp.org>
27084
27085         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
27086         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
27087         the beginning of the loop.
27088         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
27089         cases in 'switch' statement.
27090
27091         unistr/u8-strchr: Fix several bugs.
27092         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
27093         the string. When not found, return NULL, not a pointer near the end.
27094
27095         More tests for unistr/u8-strchr.
27096         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
27097         that the function does not read past the first occurrence of the byte
27098         being searched.
27099         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
27100         * tests/unistr/test-u16-strchr.c (main): New function.
27101         * tests/unistr/test-u32-strchr.c (main): New function.
27102
27103 2010-07-31  Bruno Haible  <bruno@clisp.org>
27104
27105         posix-modules: Ignore backup files of documentation files.
27106         * posix-modules: grep only through files named *.texi.
27107
27108 2010-07-31  Bruno Haible  <bruno@clisp.org>
27109
27110         symlinkat: Fix documentation.
27111         * doc/posix-functions/readlinkat.texi: Fix module name.
27112
27113 2010-07-31  Bruno Haible  <bruno@clisp.org>
27114
27115         fchownat: Replace also when chown has the trailing slash bug.
27116         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
27117         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
27118         introduced on 2010-04-10.
27119         Reported by Rainer Tammer.
27120
27121 2010-07-31  Bruno Haible  <bruno@clisp.org>
27122
27123         linkat: Work around AIX 7.1 bug.
27124         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
27125         whether linkat handles trailing slash correctly. If not, replace linkat
27126         and define LINKAT_TRAILING_SLASH_BUG.
27127         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
27128         check whether (fd1,file1) points to a directory if file1 or file2 ends
27129         in a slash. Code taken from lib/link.c.
27130         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
27131         Reported by Rainer Tammer.
27132
27133 2010-07-31  Bruno Haible  <bruno@clisp.org>
27134
27135         Correctly determine whether pow is available in libc on AIX 7 with xlc.
27136         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
27137         This disables an xlc optimization that was causing wrong test results.
27138         Reported by Rainer Tammer.
27139
27140 2010-07-31  Bruno Haible  <bruno@clisp.org>
27141
27142         iconv: Work around AIX 6.1..7.1 bug.
27143         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
27144         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
27145         cross-compiling, guess no on all versions of AIX.
27146         Reported by Rainer Tammer.
27147
27148 2010-07-31  Bruno Haible  <bruno@clisp.org>
27149
27150         readlink: Relax test a bit.
27151         * tests/test-readlink.h (test_readlink): Allow different errno value
27152         when readlink is called with a file name that ends in / and refers to
27153         a file.
27154         Suggested by Eric Blake.
27155         Reported by Rainer Tammer.
27156
27157 2010-07-31  Bruno Haible  <bruno@clisp.org>
27158
27159         copysign: Does not require -lm on glibc systems.
27160         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
27161         gl_COMMON_DOUBLE_MATHFUNC.
27162         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
27163
27164 2010-07-31  Bruno Haible  <bruno@clisp.org>
27165
27166         duplocale: Work around AIX 7.1 bug.
27167         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
27168         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
27169         * lib/duplocale.c (rpl_duplocale): Update comment.
27170         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
27171         Reported by Rainer Tammer.
27172
27173 2010-07-30  Bruno Haible  <bruno@clisp.org>
27174
27175         dirfd: Avoid link error on AIX 7.1.
27176         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
27177         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
27178         exist, set REPLACE_DIRFD.
27179         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
27180         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
27181         * doc/posix-functions/dirfd.texi: Update.
27182         Reported by Rainer Tammer.
27183
27184 2010-07-30  Eric Blake  <eblake@redhat.com>
27185
27186         strtod: next round of AIX fixes
27187         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
27188         exponent.
27189         * tests/test-strtod.c (main): Enhance tests.
27190         * doc/posix-functions/strtod.texi (strtod): Document next bug.
27191         Reported by Rainer Tammer.
27192
27193         futimens: fix configure check
27194         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
27195         Reported by Bruno Haible.
27196
27197 2010-07-30  Bruno Haible  <bruno@clisp.org>
27198
27199         getline: Update regarding AIX.
27200         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
27201         Reported by Rainer Tammer.
27202
27203 2010-07-30  Bruno Haible  <bruno@clisp.org>
27204
27205         wcwidth: Drop replacement on AIX 7.
27206         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
27207         AIX 7.
27208         Reported by Rainer Tammer.
27209
27210 2010-07-30  Bruno Haible  <bruno@clisp.org>
27211
27212         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
27213         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
27214         a 'char *'.
27215         Reported by Rainer Tammer.
27216
27217 2010-07-30  Bruno Haible  <bruno@clisp.org>
27218
27219         unlink: Update regarding AIX.
27220         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
27221         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
27222         Reported by Rainer Tammer.
27223
27224 2010-07-30  Bruno Haible  <bruno@clisp.org>
27225
27226         symlink: Update regarding AIX.
27227         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
27228         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
27229         Reported by Rainer Tammer.
27230
27231 2010-07-30  Bruno Haible  <bruno@clisp.org>
27232
27233         strndup: Update regarding AIX.
27234         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
27235         AIX 7.
27236         Reported by Rainer Tammer.
27237
27238 2010-07-30  Bruno Haible  <bruno@clisp.org>
27239
27240         stat: Update regarding AIX.
27241         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
27242         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
27243         Reported by Rainer Tammer.
27244
27245 2010-07-30  Bruno Haible  <bruno@clisp.org>
27246
27247         truncl: Fix autoconf test.
27248         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
27249         whether truncl works.
27250         Reported by Rainer Tammer.
27251
27252 2010-07-30  Bruno Haible  <bruno@clisp.org>
27253
27254         round: Update regarding AIX.
27255         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
27256         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
27257         Reported by Rainer Tammer.
27258
27259 2010-07-30  Bruno Haible  <bruno@clisp.org>
27260
27261         rename: Update regarding AIX.
27262         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
27263         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
27264         Reported by Rainer Tammer.
27265
27266 2010-07-30  Bruno Haible  <bruno@clisp.org>
27267
27268         printf.m4: Update regarding AIX.
27269         * m4/printf.m4: Update comments regarding AIX.
27270         Reported by Rainer Tammer.
27271
27272 2010-07-30  Bruno Haible  <bruno@clisp.org>
27273
27274         iconv: Update regarding AIX.
27275         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
27276         AIX 7.
27277         Reported by Rainer Tammer.
27278
27279 2010-07-30  Bruno Haible  <bruno@clisp.org>
27280
27281         getopt: Update regarding AIX.
27282         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
27283         no on AIX.
27284         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
27285         Reported by Rainer Tammer.
27286
27287 2010-07-30  Bruno Haible  <bruno@clisp.org>
27288
27289         ldexpl; Update regarding AIX.
27290         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
27291         on AIX 7.
27292         Reported by Rainer Tammer.
27293
27294 2010-07-30  Bruno Haible  <bruno@clisp.org>
27295
27296         frexpl: Update regarding AIX.
27297         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
27298         on AIX 7.
27299         Reported by Rainer Tammer.
27300
27301 2010-07-30  Bruno Haible  <bruno@clisp.org>
27302
27303         open, fopen: Update regarding AIX.
27304         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
27305         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27306         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
27307         * doc/posix-functions/fopen.texi: Likewise.
27308         Reported by Rainer Tammer.
27309
27310 2010-07-30  Bruno Haible  <bruno@clisp.org>
27311
27312         chown: Update doc regarding AIX.
27313         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
27314         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
27315         Reported by Rainer Tammer.
27316
27317 2010-07-30  Eric Blake  <eblake@redhat.com>
27318
27319         strtod: fix bug in replacement function on AIX
27320         * lib/strtod.c (strtod): Special case broken "0x" parse in
27321         underlying strtod.
27322         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
27323         * doc/posix-functions/strtod.texi (strtod): Likewise.
27324         Reported by Rainer Tammer.
27325
27326 2010-07-30  Bruno Haible  <bruno@clisp.org>
27327
27328         mbrlen: Fix cross-compilation guess for AIX.
27329         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
27330         guess. Leftover from 2008-12-22.
27331
27332 2010-07-30  Bruno Haible  <bruno@clisp.org>
27333
27334         mbrtowc: Fix cross-compilation guess for AIX.
27335         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
27336         guess. Leftover from 2008-12-21.
27337
27338 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
27339
27340         init.sh: work around trap limitation of some shells
27341         * tests/init.sh (setup_): Move exit trap outside of shell function.
27342
27343 2010-07-29  Eric Blake  <eblake@redhat.com>
27344
27345         strtod: aid debugging
27346         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
27347         understanding why strtod is rejected.
27348
27349 2010-07-28  Bruno Haible  <bruno@clisp.org>
27350
27351         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
27352         * lib/unistr/u8-chr.c: Include <string.h>.
27353         * tests/unistr/test-u8-chr.c: Likewise.
27354         * tests/unistr/test-u16-chr.c: Likewise.
27355         * tests/unistr/test-u32-chr.c: Likewise.
27356         * tests/unistr/test-u8-strchr.c: Likewise.
27357         * tests/unistr/test-u16-strchr.c: Likewise.
27358         * tests/unistr/test-u32-strchr.c: Likewise.
27359         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
27360         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
27361         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
27362         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
27363
27364 2010-07-28  Bruno Haible  <bruno@clisp.org>
27365
27366         Use spaces for indentation, not tabs.
27367         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
27368
27369 2010-07-27  Bruno Haible  <bruno@clisp.org>
27370
27371         mbspcasecmp: Fix function specification.
27372         * lib/string.in.h (mbspcasecmp): Fix specification comment.
27373         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
27374         Reported by Eric Blake <eblake@redhat.com>.
27375
27376 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
27377
27378         timespec: use cast and not conditional, as truncation isn't possible
27379         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
27380         instead of a conditional.  Comment about the situation in more detail.
27381         This undoes most of the 2009-10-29 patch.
27382
27383 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
27384
27385         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
27386         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
27387         * lib/unistr/u8-strchr.c: Likewise.
27388         * modules/unistr/u8-chr: Depend on memchr.
27389
27390         unistr/u*-strchr: add tests
27391         * modules/unistr/u8-strchr-tests: New file.
27392         * modules/unistr/u16-strchr-tests: New file.
27393         * modules/unistr/u32-strchr-tests: New file.
27394         * tests/unistr/test-strchr.h: New file.
27395         * tests/unistr/test-u8-strchr.c: New file.
27396         * tests/unistr/test-u16-strchr.c: New file.
27397         * tests/unistr/test-u32-strchr.c: New file.
27398
27399         unistr/u*-chr: test multibyte sequences more
27400         * tests/unistr/test-chr.h: Do complete testing of the characters in the
27401         test vector.
27402         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
27403         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
27404         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
27405
27406         unistr/u*-chr: test multibyte sequences
27407         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
27408
27409         unistr/u*-chr: prepare for multibyte tests
27410         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
27411         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
27412         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
27413         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
27414         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
27415         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
27416
27417 2010-07-18  Bruno Haible  <bruno@clisp.org>
27418
27419         unistr/u8-strchr: Optimize non-ASCII argument case.
27420         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
27421         because the first byte often matches anyway.
27422         Reported by Pádraig Brady <P@draigbrady.com>.
27423
27424 2010-07-15  Karl Berry  <karl@gnu.org>
27425
27426         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
27427
27428 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
27429
27430         getcwd: on Solaris, work better if ancestors are inaccessible
27431         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
27432         buffer and size, try again with a large buffer.  This works better
27433         on Solaris, since its getcwd succeeds even if the path to the root
27434         is inaccessible, and this is helpful in common cases such as .zfs
27435         hidden directories.  Problem reported by J Chapman Flack in
27436         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
27437         Use system getcwd if it's declared, not merely if it's partly
27438         working; use the partly-working test only to avoid needless effort
27439         if the system getcwd fails.
27440         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
27441         comment that was already obsolete and is now even more obsolete.
27442         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
27443         now might call strdup.
27444
27445 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
27446
27447         pthread: Add enough so that coreutils/src/sort.c compiles.
27448         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
27449         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
27450         gnulib. Include <sched.h> and <time.h>, as per POSIX.
27451         Include <sys/types.h>, in case it defines pthread_t.
27452         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
27453         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
27454         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
27455         (pthread_rwlockattr_t, pthread_spinlock_t):
27456         New typedefs, if HAVE_PTHREAD_T is not defined.
27457         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
27458         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
27459         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
27460         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
27461         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
27462         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
27463         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
27464         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
27465         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
27466         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
27467         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
27468         New macros.
27469         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
27470         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
27471         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
27472         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
27473         (pthread_spin_unlock): New dummy functions.
27474         (pthread_create): Return EAGAIN; don't set errno.
27475         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
27476         require AC_C_INLINE.
27477         * modules/pthread (Depends-on): Add sched, time.
27478         (pthread.h): Use AM_V_GEN.
27479
27480 2010-07-13  Bruno Haible  <bruno@clisp.org>
27481
27482         striconveh: Don't malloc memory if the result buffer is sufficient.
27483         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
27484         buffer if its size is sufficient.
27485         Reported by Ludovic Courtès <ludo@gnu.org>.
27486
27487 2010-07-13  Bruno Haible  <bruno@clisp.org>
27488
27489         strtod: Add safety check.
27490         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
27491
27492 2010-07-12  Bruno Haible  <bruno@clisp.org>
27493
27494         Unify tests that set gl_cv_func_ldexpl_no_libm.
27495         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
27496         gl_FUNC_LDEXPL.
27497         (gl_FUNC_LDEXPL): Invoke it.
27498         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
27499
27500 2010-07-12  Bruno Haible  <bruno@clisp.org>
27501
27502         Unify tests that set gl_cv_func_ldexp_no_libm.
27503         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
27504         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
27505         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
27506         (configure.ac): Simply invoke gl_FUNC_LDEXP.
27507         * modules/strtod (Files): Add m4/ldexp.m4.
27508
27509 2010-07-12  Bruno Haible  <bruno@clisp.org>
27510
27511         Unify tests that set gl_cv_func_frexpl_no_libm.
27512         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
27513         gl_FUNC_FREXPL_NO_LIBM.
27514         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
27515         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
27516
27517 2010-07-12  Bruno Haible  <bruno@clisp.org>
27518
27519         Unify tests that set gl_cv_func_frexp_no_libm.
27520         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
27521         gl_FUNC_FREXP_NO_LIBM.
27522         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
27523         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
27524
27525 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
27526
27527         memcoll: clarify sizes versus lengths, document better, and tweak perf
27528         * lib/memcoll.c (strcoll_loop, memcoll0):
27529         Improve quality of descriptive comments.  Name variables
27530         consistently as to whether they are lengths (which do not include
27531         terminating null) versus sizes (which do).
27532         * lib/xmemcoll.c (xmemcoll0): Likewise.
27533         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
27534         returned when s1size == 0; this is easier to compile and saves
27535         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
27536
27537 2010-07-12  Bruno Haible  <bruno@clisp.org>
27538
27539         Tests for module '_Exit'.
27540         * modules/_Exit-tests: New file.
27541         * tests/test-_Exit.sh: New file.
27542         * tests/test-_Exit.c: New file.
27543
27544         New module '_Exit'.
27545         * lib/stdlib.in.h (__attribute__): New macro.
27546         (_Exit): New declaration.
27547         * lib/_Exit.c: New file.
27548         * m4/_Exit.m4: New file.
27549         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
27550         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
27551         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
27552         * modules/_Exit: New file.
27553         * tests/test-stdlib-c++.cc (_Exit): Check signature.
27554         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
27555
27556 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
27557
27558         strtod: make it more-accurate typically, and don't require libm
27559         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
27560         Include limits.h.  Don't include string.h.
27561         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
27562         (locale_isspace): New function, so that no casts are needed to
27563         check whether *s is a space.
27564         (ldexp): Provide an unused dummy if not available.
27565         (scale_radix_exp, parse_number, underlying_strtod): New functions.
27566         (strtod): Use them.  This implementation prefers to use the
27567         underlying strtod if available, falling back on our own code
27568         only to fix known bugs.  This is more likely to produce an
27569         accurate result.  Also, it avoids the use of libm functions.
27570         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
27571         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
27572         was absent, but it caused a test failure with coreutils.
27573         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
27574         with libm.
27575         * modules/strtod (Makefile.am, Link): libm is no longer needed.
27576         * modules/strtod-tests (Makefile.am): Likewise.
27577
27578 2010-07-11  Pádraig Brady  <P@draigBrady.com>
27579             Bruno Haible  <bruno@clisp.org>
27580
27581         unistr/u8-strchr: Optimize ASCII argument case.
27582         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
27583
27584 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
27585
27586         (x)memcoll: minor tweaks
27587         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
27588         is after the type that it qualifies.
27589         (memcoll0): Likewise.
27590         * lib/memcoll.h (memcoll0): Likewise.
27591         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
27592         * lib/xmemcoll.h (xmemcoll0): Likewise.
27593         * lib/memcoll.c (memcoll0): Correct the comment.  This function
27594         differs from memcoll in that the NUL byte is part of the argument.
27595         Omit the abort-checks, as performance is a real issue here.  Plus,
27596         the checks were wrong anyway (an off-by-one error).  Omit local
27597         variable 'diff', as it's a bit clearer that way.
27598         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
27599         no longer needed.
27600
27601 2010-07-08  Chen Guo <chenguo4@yahoo.com>
27602
27603         (x)memcoll: speedup when input is known to be NUL delimited
27604         * lib/memcoll.c: Include stdlib.
27605         (memcoll0): New function.
27606         (strcoll_loop): New function, refactored for use in both memcoll
27607         and memcoll0.
27608         * lib/memcoll.h (memcoll0): Add prototype.
27609         * lib/xmemcoll.c (xmemcoll0): New function.
27610         (collate_error): New function, refactored for use in both xmemcoll
27611         and xmemcoll0.
27612         * lib/xmemcoll.h (xmemcoll0): Add prototype.
27613         * m4/memcoll.m4: add inline invocation.
27614
27615 2010-07-06  Pádraig Brady  <P@draigBrady.com>
27616
27617         * build-aux/bootstrap: Remove any local translations
27618         from the translation project synchronization directory,
27619         so that local only translations are not distributed.
27620
27621 2010-07-04  Bruno Haible  <bruno@clisp.org>
27622
27623         fsusage: Clarify which code applies to which platforms.
27624         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
27625         platform.
27626         * lib/fsusage.c (get_fs_usage): Likewise.
27627
27628 2010-07-04  Bruno Haible  <bruno@clisp.org>
27629
27630         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
27631         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
27632         Reported by Martin Lambers <marlam@marlam.de>.
27633
27634 2010-07-04  Jim Meyering  <meyering@redhat.com>
27635
27636         hash: once again explicitly disallow insertion of NULL
27637         * lib/hash.c (hash_insert0): Reinstate just-removed test:
27638         inserting a NULL pointer cannot work with these functions.
27639         Add a comment with details.
27640         This reverts part of the 2010-07-01 commit, 5bef1a35
27641         "hash: extend module to deal with non-pointer keys".
27642
27643 2010-07-01  Bruno Haible  <bruno@clisp.org>
27644
27645         stdbool: Update doc.
27646         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
27647         Info from Christian Weisgerber <naddy@mips.inka.de>.
27648
27649 2010-07-01  Jim Meyering  <meyering@redhat.com>
27650
27651         hash: extend module to deal with non-pointer keys
27652         * lib/hash.c (hash_insert0): New interface, much like hash_insert
27653         but that allows insertion of non-pointer entries.
27654         Do not disallow an ENTRY value of NULL.
27655         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
27656         * lib/hash.h (hash_insert0): Declare.
27657
27658 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
27659
27660         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
27661         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
27662         not present (i.e. with autoconf 2.59 and when using gettextize, not
27663         gnulib), require AC_GNU_SOURCE instead.
27664
27665 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
27666
27667         idpriv-drop: Fix tests.
27668         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
27669         not to the test-idpriv-droptemp program.
27670
27671 2010-06-29  Bruno Haible  <bruno@clisp.org>
27672
27673         string: Fix syntax error with g++ 2.96.
27674         * lib/string.in.h (__pure__): Remove definition.
27675         (_GL_ATTRIBUTE_PURE): New macro.
27676         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
27677         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
27678         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27679
27680 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
27681
27682         unitypes: Fix bug introduced on 2010-05-18.
27683         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
27684
27685 2010-06-22  Eric Blake  <eblake@redhat.com>
27686
27687         memmem: slight optimization
27688         * lib/str-two-way.h (critical_factorization): Update comments.
27689         Reduce work during factorization phase.
27690         Reported by Carlos Bueno <carlos@bueno.org>.
27691
27692 2010-06-21  Bruno Haible  <bruno@clisp.org>
27693
27694         Fix HAVE_CALLOC_POSIX misnomer.
27695         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
27696         !HAVE_CALLOC_POSIX.
27697         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
27698         HAVE_CALLOC_POSIX.
27699         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
27700         instead of HAVE_CALLOC_POSIX.
27701         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
27702         HAVE_CALLOC_POSIX.
27703
27704         Use modern idiom for calloc() replacement.
27705         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
27706         AC_FUNC_CALLOC.
27707         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
27708         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
27709         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27710         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
27711         (gl_REPLACE_CALLOC): New macro.
27712
27713 2010-06-21  Bruno Haible  <bruno@clisp.org>
27714
27715         Fix HAVE_REALLOC_POSIX misnomer.
27716         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
27717         !HAVE_REALLOC_POSIX.
27718         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
27719         HAVE_REALLOC_POSIX.
27720         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
27721         instead of HAVE_REALLOC_POSIX.
27722         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
27723         HAVE_REALLOC_POSIX.
27724
27725         Use modern idiom for realloc() replacement.
27726         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
27727         AC_FUNC_REALLOC.
27728         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
27729         Autoconf's AC_FUNC_REALLOC.
27730         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27731         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
27732         (gl_REPLACE_REALLOC): New macro.
27733         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27734
27735 2010-06-21  Bruno Haible  <bruno@clisp.org>
27736
27737         Fix HAVE_MALLOC_POSIX misnomer.
27738         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
27739         !HAVE_MALLOC_POSIX.
27740         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
27741         HAVE_MALLOC_POSIX.
27742         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
27743         instead of HAVE_MALLOC_POSIX.
27744         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
27745         HAVE_MALLOC_POSIX.
27746
27747         Use modern idiom for malloc() replacement.
27748         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
27749         AC_FUNC_MALLOC.
27750         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
27751         Autoconf's AC_FUNC_MALLOC.
27752         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27753         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
27754         (gl_REPLACE_MALLOC): New macro.
27755         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27756
27757 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
27758
27759         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
27760         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
27761         This macro takes 3 arguments, not 4.
27762
27763 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
27764
27765         ipv6: fix detection under mingw
27766         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
27767         in6_addr.
27768
27769 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
27770
27771         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
27772         that strtod() works when cross-compiling to a glibc version known
27773         to work.
27774
27775 2010-06-15  Bruno Haible  <bruno@clisp.org>
27776
27777         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
27778
27779 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
27780
27781         select: Correct timeout.
27782         * lib/select.c (rpl_select): Compute wait_timeout correctly.
27783
27784 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27785
27786         git-version-gen: init shell var to avoid env var influence
27787         * build-aux/git-version-gen (v): Init shell var to empty.
27788
27789 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
27790
27791         priv-set: Don't assume that priv.h exists merely because getppriv does.
27792         See Jan Andersen's bug report about AIX 5L in
27793         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
27794         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
27795         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
27796         * lib/priv-set.h: Likewise.
27797         * tests/test-priv-set.c: Likewise.
27798
27799 2010-06-13  Bruno Haible  <bruno@clisp.org>
27800
27801         relocatable: Make it easier to test whether to install wrappers.
27802         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
27803         RELOCATABLE_VIA_WRAPPER.
27804
27805 2010-06-13  Bruno Haible  <bruno@clisp.org>
27806
27807         gnulib-tool: Display specified modules and dependencies differently.
27808         * gnulib-tool (func_show_module_list): New function.
27809         (func_import, func_create_testdir): Invoke it.
27810         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27811
27812 2010-06-13  Bruno Haible  <bruno@clisp.org>
27813
27814         gnulib-tool: Align code of func_import and func_create_testdir.
27815         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
27816         specified_modules.
27817
27818 2010-06-12  Jim Meyering  <meyering@redhat.com>
27819
27820         test-inttostr: avoid spurious failure on Solaris 9
27821         * tests/test-inttostr.c (main): Skip the test when snprintf fails
27822         to accept "%ju".  Reported by Bruno Haible.
27823
27824 2010-06-11  Jim Meyering  <meyering@redhat.com>
27825
27826         test-sys_socket: mark variables as used more readably
27827         * tests/test-sys_socket.c (main): Mark otherwise unused variables
27828         as "used" explicitly via (void) statement casts.  This is more
27829         readable than using them in an artificial return expression.
27830         Suggestion from Bruno Haible.
27831
27832 2010-06-11  Bruno Haible  <bruno@clisp.org>
27833
27834         Avoid some more warnings from "gcc -Wwrite-strings".
27835         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
27836         to 'const char *'.
27837         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
27838         * tests/test-c-strcasestr.c (main): Likewise.
27839         * tests/test-mbscasestr1.c (main): Likewise.
27840         * tests/test-mbscasestr2.c (main): Likewise.
27841         * tests/test-memmem.c (main): Likewise.
27842         * tests/test-strstr.c (main): Likewise.
27843         * tests/test-strcasestr.c (main): Likewise.
27844
27845 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27846
27847         init.sh: change framework_failure_ to fail with status 99, not 1
27848         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
27849         automake's parallel-tests rule that this is an unexpected failure,
27850         even if the test is listed in XFAIL_TESTS.
27851
27852 2010-06-11  Jim Meyering  <meyering@redhat.com>
27853
27854         test-inttostr: avoid warnings about 4-6KB literal strings
27855         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
27856         Include "macros.h", for its definition of ASSERT.
27857         (CK): s/assert/ASSERT/
27858         * modules/inttostr-tests (Files): Add macros.h.
27859
27860         init.sh: don't use $ME_ or skip_ before they are defined
27861         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
27862         their first uses.  Also hoist their companions: warn_, fail_,
27863         framework_failure_, $stderr_fileno.  Prompted by a patch from
27864         Stefano Lattarini.
27865
27866         test-sys_socket: avoid set-but-not-used warnings from gcc
27867         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
27868         avoid warning about set-but-not-used variables.
27869
27870         test-xvasprintf: avoid 'const' discard warnings
27871         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
27872         "const" when assigning from literal strings.
27873         (test_xasprintf): Add "void" in function argument list to placate
27874         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
27875
27876         tests: avoid compilation warnings in argmatch and exclude tests...
27877         in packages that define ARGMATCH_DIE_DECL, like coreutils.
27878         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
27879         Since it always exits, declare with the "noreturn" attribute.
27880         * tests/test-argmatch.c: Likewise.
27881
27882         tests: avoid 'const' discard warnings in mbsstr tests
27883         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
27884         * tests/test-mbsstr2.c (main): Likewise.
27885
27886         test-verify: avoid warning from gcc's -Wmissing-declarations
27887         * tests/test-verify.c (function): Declare to be static.
27888
27889         test-inttostr.c: include <string.h> for use of strcmp
27890         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
27891
27892         test-linkat: avoid failed assertion on "other" architectures
27893         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
27894         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
27895         sparc: https://bugs.launchpad.net/bugs/591968
27896
27897 2010-06-11  Jim Meyering  <meyering@redhat.com>
27898
27899         printf.m4: avoid autoconf's "Expanded Before Required" warning
27900         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
27901         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
27902         autoconf warning.
27903
27904 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
27905
27906         Replacement header templates are now named with ".in", not "_".
27907         * doc/gnulib-intro.texi: Correct.
27908
27909 2010-06-10  Jim Meyering  <meyering@redhat.com>
27910
27911         inttostr-tests: depend on snprintf, not snprintf-posix
27912         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
27913         snprintf-posix, to avoid this aclocal failure:
27914           missing file gnulib-tests/vasnprintf.c
27915           configure.ac:45: error: expected source file, required through \
27916           AC_LIBSOURCES, not found
27917
27918 2010-06-10  Jim Meyering  <meyering@redhat.com>
27919
27920         inttostr: add a new function, inttostr, and tests
27921         The namesake function was not available.  The existence of the
27922         template file, inttostr.c makes its addition nontrivial.
27923         * lib/anytostr.c: Rename from inttostr.c.
27924         (anytostr): Rename from inttostr.
27925         * lib/inttostr.c: New file.
27926         * modules/inttostr (Files): Add anytostr.c.
27927         (Makefile.am): Set lib_SOURCES instead of ...
27928         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
27929         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
27930         * lib/offtostr.c: Likewise.
27931         * lib/uinttostr.c: Likewise.
27932         * lib/umaxtostr.c: Likewise.
27933         * modules/inttostr-tests: New file.
27934         * tests/test-inttostr.c: New file.  Test these functions.
27935
27936 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
27937             Bruno Haible  <bruno@clisp.org>
27938
27939         Add "Extending Gnulib" chapter to manual.
27940         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
27941         chapter.
27942         (Extending Gnulib): New chapter.
27943         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
27944         chapter.
27945
27946 2010-06-09  Bruno Haible  <bruno@clisp.org>
27947
27948         Avoid relocwrapper link errors due to gnulib replacement functions.
27949         * lib/areadlink.c: Use the system's malloc, realloc functions.
27950         (areadlink): Set errno to ENOMEM explicitly.
27951         * modules/areadlink (Depends-on): Remove malloc-posix.
27952         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27953
27954 2010-06-09  Bruno Haible  <bruno@clisp.org>
27955
27956         Avoid relocwrapper link errors due to gnulib replacement functions.
27957         * lib/canonicalize-lgpl.c: Use the system's malloc function.
27958         * lib/malloca.c: Likewise.
27959         * lib/relocatable.c: Likewise.
27960         * lib/progreloc.c: Use the system's malloc, sprintf functions.
27961         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
27962         * lib/setenv.c: Use the system's malloc, realloc functions.
27963         * lib/strerror.c: Use the system's sprintf function.
27964         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27965
27966 2010-06-04  Bruno Haible  <bruno@clisp.org>
27967
27968         Prefer documented low-level autoconf macro names.
27969         * m4/lib-link.m4: Use m4_translit instead of translit.
27970         * m4/environ.m4: Likewise.
27971         * m4/mathfunc.m4: Likewise.
27972         * m4/onceonly.m4: Likewise.
27973         * m4/stdint.m4: Likewise.
27974         Suggested by Eric Blake.
27975
27976 2010-06-04  Martin Lambers  <marlam@marlam.de>
27977             Bruno Haible  <bruno@clisp.org>
27978
27979         havelib: Allow library names with '+' characters.
27980         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27981         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
27982
27983 2010-06-09  Bruno Haible  <bruno@clisp.org>
27984
27985         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
27986         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
27987         realloc failed.
27988
27989 2010-06-08  Peter Simons  <simons@cryp.to>
27990
27991         maint.mk: make the news-check rule more configurable
27992         * top/maint.mk (news-check-lines-spec): New variable.
27993         (news-check): Use "sed -n 1,10p" in place of "head".
27994
27995 2010-06-07  Jim Meyering  <meyering@redhat.com>
27996
27997         do-release-commit-and-tag: fix typo in --help
27998         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
27999
28000         regex: avoid new dead-code warning with gcc-4.6.0
28001         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
28002         if-block containing a while-loop.  It's been unused for at least
28003         5 years.
28004
28005 2010-06-05  Bruno Haible  <bruno@clisp.org>
28006
28007         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
28008         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
28009
28010 2010-06-04  Bruno Haible  <bruno@clisp.org>
28011
28012         Update to GNU gettext 0.18.1.
28013         * modules/gettext (configure.ac): Require gettext infrastructure from
28014         version 0.18.1.
28015
28016 2010-06-03  Bruno Haible  <bruno@clisp.org>
28017
28018         Don't use AC_LIBOBJ with file names in subdirectories.
28019         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
28020         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
28021         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
28022         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
28023         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
28024         gl_LIBUNISTRING_LIBSOURCE.
28025         (Makefile.am): Augment lib_SOURCES here, conditionally.
28026         * NEWS: Drop requirement for Automake option 'subdir-objects'.
28027
28028 2010-06-03  Bruno Haible  <bruno@clisp.org>
28029
28030         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
28031         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
28032         expansion does not end with a newline.
28033         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
28034         unnecessary newline.
28035
28036 2010-06-03  Bruno Haible  <bruno@clisp.org>
28037
28038         Reduce dependencies.
28039         * tests/test-quotearg.h: New file, extracted from
28040         tests/test-quotearg.c.
28041         * tests/test-quotearg-simple.c: New file, extracted from
28042         tests/test-quotearg.c.
28043         * tests/test-quotearg.c: Don't include <ctype.h>.
28044         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
28045         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
28046         use_quote_double_quotes, use_quotearg_colon): Moved to
28047         tests/test-quotearg.h.
28048         (results_g, flag_results, custom_quotes, custom_results): Moved
28049         to tests/test-quotearg-simple.c.
28050         (main): Moved the part that does not depend on gettext to
28051         tests/test-quotearg-simple.c. Return 77 if the test cannot be
28052         performed.
28053         * modules/quotearg-simple: New file.
28054         * modules/quotearg-simple-tests: New file.
28055         * modules/quotearg (Depends-on): Add quotearg-simple.
28056         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
28057         (Files): Add tests/test-quotearg.h.
28058         Reported by Paolo Bonzini.
28059
28060 2010-06-03  Bruno Haible  <bruno@clisp.org>
28061
28062         Reduce dependencies.
28063         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
28064
28065 2010-06-03  Bruno Haible  <bruno@clisp.org>
28066
28067         time: Undefine more broken macros.
28068         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
28069         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
28070         Reported by Eric Blake.
28071
28072 2010-06-03  Bruno Haible  <bruno@clisp.org>
28073
28074         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
28075         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
28076         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
28077         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
28078         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
28079         Reported by Ludovic Courtès <ludo@gnu.org>.
28080
28081 2010-06-02  Eric Blake  <eblake@redhat.com>
28082
28083         time: work with mingw + pthreads-win32 library
28084         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
28085         if timespec is defined only in pthread.h.
28086         * modules/time (Makefile.am): Substitute it.
28087         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
28088         <pthread.h>, when needed.
28089         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
28090         from the library.
28091
28092 2010-05-31  Bruno Haible  <bruno@clisp.org>
28093
28094         Avoid expanding two macros in the wrong order.
28095         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
28096         gl_LIBUNISTRING if it is defined.
28097         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
28098         autoconf >= 2.64.
28099         Reported by Ludovic Courtès <ludo@gnu.org>.
28100
28101 2010-05-27  Jim Meyering  <meyering@redhat.com>
28102
28103         maint.mk: also prohibit "#undef" of always-defined symbols
28104         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
28105         Allow more than one space before the symbol name.
28106         (sc_prohibit_always-defined_macros): Use grep's -E, now that
28107         the regexp uses alternation.
28108
28109 2010-05-26  Eric Blake  <eblake@redhat.com>
28110
28111         maint.mk: avoid echo -e
28112         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
28113         Convert all uses of echo -* to printf.
28114         Reported by Matthias Bolte.
28115
28116 2010-05-25  Bruno Haible  <bruno@clisp.org>
28117
28118         Update to GNU gettext 0.18, part 2.
28119         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
28120         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
28121
28122 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28123
28124         Add missing include in test-pwrite.c.
28125         * tests/test-pwrite.c: Include string.h, for strcmp.
28126
28127 2010-05-24  Bruno Haible  <bruno@clisp.org>
28128
28129         * NEWS: Mention requirement for Automake option 'subdir-objects'.
28130
28131 2010-05-24  Bruno Haible  <bruno@clisp.org>
28132
28133         Don't use conversion with transliteration in u{8,16,32}_strcoll.
28134         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
28135         iconveh_error argument.
28136         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
28137         U_STRCONV_TO_LOCALE.
28138         * lib/unistr/u16-strcoll.c: Likewise.
28139         * lib/unistr/u32-strcoll.c: Likewise.
28140         * modules/unistr/u8-strcoll (Depends-on): Add
28141         uniconv/u8-strconv-to-enc, localcharset. Remove
28142         uniconv/u8-strconv-to-locale.
28143         (configure.ac): Bump version number.
28144         * modules/unistr/u16-strcoll (Depends-on): Add
28145         uniconv/u16-strconv-to-enc, localcharset. Remove
28146         uniconv/u16-strconv-to-locale.
28147         (configure.ac): Bump version number.
28148         * modules/unistr/u32-strcoll (Depends-on): Add
28149         uniconv/u32-strconv-to-enc, localcharset. Remove
28150         uniconv/u32-strconv-to-locale.
28151         (configure.ac): Bump version number.
28152
28153 2010-05-24  Bruno Haible  <bruno@clisp.org>
28154
28155         Avoid a test failure on NetBSD 5.0.
28156         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
28157         an iconv() bug.
28158
28159 2010-05-24  Bruno Haible  <bruno@clisp.org>
28160
28161         Adjust #include directive style.
28162         * modules/regex (Includes): Recommend to write <regex.h>.
28163
28164 2010-05-24  Bruno Haible  <bruno@clisp.org>
28165
28166         regex: Don't require alloca.
28167         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
28168         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
28169         only inside if (0).
28170
28171 2010-05-23  Jim Meyering  <meyering@redhat.com>
28172
28173         test-renameat.c: include <sys/stat.h>
28174         * tests/test-renameat.c: Include <sys/stat.h>; required for
28175         definition of S_IS* macros.
28176
28177 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
28178
28179         Update maintainer documentation for 'relocatable-prog' module.
28180         * doc/relocatable-maint.texi: Update.
28181         Comments by Bruno Haible.
28182
28183 2010-05-23  Bruno Haible  <bruno@clisp.org>
28184
28185         git-merge-changelog: Enable --split-merged-entry by default.
28186         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
28187         (usage): Don't mention this option any more.
28188         Reported by Ralf Wildenhues.
28189
28190 2010-05-23  Jim Meyering  <meyering@redhat.com>
28191
28192         test-pwrite: do not leave behind a test file named "out"
28193         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
28194         The trivial-looking use of init.sh is really necessary.
28195         It ensures that the temporary file, "out", is created in
28196         a temporary directory, and removed upon termination.
28197         * tests/test-pwrite.sh: Re-add file.
28198         * modules/pwrite-tests: Reference it.
28199
28200 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28201
28202         Fix output redirection buglet in init.sh.
28203         * tests/init.sh: Fix redirection of stderr.
28204
28205 2010-05-20  Simon Josefsson  <simon@josefsson.org>
28206
28207         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
28208
28209 2010-05-17  Simon Josefsson  <simon@josefsson.org>
28210
28211         * modules/valgrind-tests: New file.
28212         * m4/valgrind-tests.m4: New file.
28213         * doc/valgrind-tests.texi: New file.
28214         * doc/gnulib.texi (Running self-tests under valgrind): New
28215         section.
28216
28217 2010-05-19  Bruno Haible  <bruno@clisp.org>
28218
28219         Clean up dead code in recent commit.
28220         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
28221         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
28222         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
28223         Suggested by Paolo Bonzini.
28224
28225 2010-05-19  Bruno Haible  <bruno@clisp.org>
28226
28227         Avoid valgrind error reports from libunistring.
28228         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
28229         * modules/libunistring (Files): Add it.
28230         * modules/libunistring-optional (Files): Likewise.
28231
28232 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
28233             Bruno Haible  <bruno@clisp.org>
28234
28235         New module 'libunistring-optional'.
28236         * modules/libunistring-optional: New file.
28237         * m4/libunistring-base.m4: New file.
28238         * m4/libunistring-optional.m4: New file.
28239         * lib/unicase.in.h: Renamed from lib/unicase.h.
28240         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
28241         * lib/unictype.in.h: Renamed from lib/unictype.h.
28242         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
28243         * lib/uniname.in.h: Renamed from lib/uniname.h.
28244         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
28245         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
28246         * lib/unistr.in.h: Renamed from lib/unistr.h.
28247         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
28248         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
28249         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
28250         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
28251         gl_LIBUNISTRING. If the library was found, determine the installed
28252         version and set LIBUNISTRING_VERSION.
28253         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
28254         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
28255         handle a configuration option --with-included-libunistring.
28256         * modules/libunistring (Files): Add m4/absolute-header.m4.
28257         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
28258         Add m4/libunistring-base.m4.
28259         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28260         (Makefile.am): Build unicase.h from unicase.in.h.
28261         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
28262         Add m4/libunistring-base.m4.
28263         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28264         (Makefile.am): Build uniconv.h from uniconv.in.h.
28265         * modules/unictype/base (Files): Use unictype.in.h instead of
28266         unictype.h. Add m4/libunistring-base.m4.
28267         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28268         (Makefile.am): Build unictype.h from unictype.in.h.
28269         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
28270         Add m4/libunistring-base.m4.
28271         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28272         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
28273         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
28274         Add m4/libunistring-base.m4.
28275         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28276         (Makefile.am): Build uniname.h from uniname.in.h.
28277         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
28278         Add m4/libunistring-base.m4.
28279         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28280         (Makefile.am): Build uninorm.h from uninorm.in.h.
28281         * modules/unistdio/base (Files): Use unistdio.in.h instead of
28282         unistdio.h. Add m4/libunistring-base.m4.
28283         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28284         (Makefile.am): Build unistdio.h from unistdio.in.h.
28285         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
28286         Add m4/libunistring-base.m4.
28287         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28288         (Makefile.am): Build unistr.h from unistr.in.h.
28289         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
28290         Add m4/libunistring-base.m4.
28291         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28292         (Makefile.am): Build unitypes.h from unitypes.in.h.
28293         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
28294         Add m4/libunistring-base.m4.
28295         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28296         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
28297         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
28298         uniwidth.h. Add m4/libunistring-base.m4.
28299         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28300         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
28301         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
28302         instead of augmenting lib_SOURCES.
28303         * modules/unicase/empty-suffix-context: Likewise.
28304         * modules/unicase/locale-language: Likewise.
28305         * modules/unicase/tolower: Likewise.
28306         * modules/unicase/totitle: Likewise.
28307         * modules/unicase/toupper: Likewise.
28308         * modules/unicase/u8-casecmp: Likewise.
28309         * modules/unicase/u8-casecoll: Likewise.
28310         * modules/unicase/u8-casefold: Likewise.
28311         * modules/unicase/u8-casexfrm: Likewise.
28312         * modules/unicase/u8-ct-casefold: Likewise.
28313         * modules/unicase/u8-ct-tolower: Likewise.
28314         * modules/unicase/u8-ct-totitle: Likewise.
28315         * modules/unicase/u8-ct-toupper: Likewise.
28316         * modules/unicase/u8-is-cased: Likewise.
28317         * modules/unicase/u8-is-casefolded: Likewise.
28318         * modules/unicase/u8-is-lowercase: Likewise.
28319         * modules/unicase/u8-is-titlecase: Likewise.
28320         * modules/unicase/u8-is-uppercase: Likewise.
28321         * modules/unicase/u8-prefix-context: Likewise.
28322         * modules/unicase/u8-suffix-context: Likewise.
28323         * modules/unicase/u8-tolower: Likewise.
28324         * modules/unicase/u8-totitle: Likewise.
28325         * modules/unicase/u8-toupper: Likewise.
28326         * modules/unicase/u16-casecmp: Likewise.
28327         * modules/unicase/u16-casecoll: Likewise.
28328         * modules/unicase/u16-casefold: Likewise.
28329         * modules/unicase/u16-casexfrm: Likewise.
28330         * modules/unicase/u16-ct-casefold: Likewise.
28331         * modules/unicase/u16-ct-tolower: Likewise.
28332         * modules/unicase/u16-ct-totitle: Likewise.
28333         * modules/unicase/u16-ct-toupper: Likewise.
28334         * modules/unicase/u16-is-cased: Likewise.
28335         * modules/unicase/u16-is-casefolded: Likewise.
28336         * modules/unicase/u16-is-lowercase: Likewise.
28337         * modules/unicase/u16-is-titlecase: Likewise.
28338         * modules/unicase/u16-is-uppercase: Likewise.
28339         * modules/unicase/u16-prefix-context: Likewise.
28340         * modules/unicase/u16-suffix-context: Likewise.
28341         * modules/unicase/u16-tolower: Likewise.
28342         * modules/unicase/u16-totitle: Likewise.
28343         * modules/unicase/u16-toupper: Likewise.
28344         * modules/unicase/u32-casecmp: Likewise.
28345         * modules/unicase/u32-casecoll: Likewise.
28346         * modules/unicase/u32-casefold: Likewise.
28347         * modules/unicase/u32-casexfrm: Likewise.
28348         * modules/unicase/u32-ct-casefold: Likewise.
28349         * modules/unicase/u32-ct-tolower: Likewise.
28350         * modules/unicase/u32-ct-totitle: Likewise.
28351         * modules/unicase/u32-ct-toupper: Likewise.
28352         * modules/unicase/u32-is-cased: Likewise.
28353         * modules/unicase/u32-is-casefolded: Likewise.
28354         * modules/unicase/u32-is-lowercase: Likewise.
28355         * modules/unicase/u32-is-titlecase: Likewise.
28356         * modules/unicase/u32-is-uppercase: Likewise.
28357         * modules/unicase/u32-prefix-context: Likewise.
28358         * modules/unicase/u32-suffix-context: Likewise.
28359         * modules/unicase/u32-tolower: Likewise.
28360         * modules/unicase/u32-totitle: Likewise.
28361         * modules/unicase/u32-toupper: Likewise.
28362         * modules/unicase/ulc-casecmp: Likewise.
28363         * modules/unicase/ulc-casecoll: Likewise.
28364         * modules/unicase/ulc-casexfrm: Likewise.
28365         * modules/uniconv/u8-conv-from-enc: Likewise.
28366         * modules/uniconv/u8-conv-to-enc: Likewise.
28367         * modules/uniconv/u8-strconv-from-enc: Likewise.
28368         * modules/uniconv/u8-strconv-from-locale: Likewise.
28369         * modules/uniconv/u8-strconv-to-enc: Likewise.
28370         * modules/uniconv/u8-strconv-to-locale: Likewise.
28371         * modules/uniconv/u16-conv-from-enc: Likewise.
28372         * modules/uniconv/u16-conv-to-enc: Likewise.
28373         * modules/uniconv/u16-strconv-from-enc: Likewise.
28374         * modules/uniconv/u16-strconv-from-locale: Likewise.
28375         * modules/uniconv/u16-strconv-to-enc: Likewise.
28376         * modules/uniconv/u16-strconv-to-locale: Likewise.
28377         * modules/uniconv/u32-conv-from-enc: Likewise.
28378         * modules/uniconv/u32-conv-to-enc: Likewise.
28379         * modules/uniconv/u32-strconv-from-enc: Likewise.
28380         * modules/uniconv/u32-strconv-from-locale: Likewise.
28381         * modules/uniconv/u32-strconv-to-enc: Likewise.
28382         * modules/uniconv/u32-strconv-to-locale: Likewise.
28383         * modules/unictype/bidicategory-byname: Likewise.
28384         * modules/unictype/bidicategory-name: Likewise.
28385         * modules/unictype/bidicategory-of: Likewise.
28386         * modules/unictype/bidicategory-test: Likewise.
28387         * modules/unictype/block-list: Likewise.
28388         * modules/unictype/block-test: Likewise.
28389         * modules/unictype/category-C: Likewise.
28390         * modules/unictype/category-Cc: Likewise.
28391         * modules/unictype/category-Cf: Likewise.
28392         * modules/unictype/category-Cn: Likewise.
28393         * modules/unictype/category-Co: Likewise.
28394         * modules/unictype/category-Cs: Likewise.
28395         * modules/unictype/category-L: Likewise.
28396         * modules/unictype/category-Ll: Likewise.
28397         * modules/unictype/category-Lm: Likewise.
28398         * modules/unictype/category-Lo: Likewise.
28399         * modules/unictype/category-Lt: Likewise.
28400         * modules/unictype/category-Lu: Likewise.
28401         * modules/unictype/category-M: Likewise.
28402         * modules/unictype/category-Mc: Likewise.
28403         * modules/unictype/category-Me: Likewise.
28404         * modules/unictype/category-Mn: Likewise.
28405         * modules/unictype/category-N: Likewise.
28406         * modules/unictype/category-Nd: Likewise.
28407         * modules/unictype/category-Nl: Likewise.
28408         * modules/unictype/category-No: Likewise.
28409         * modules/unictype/category-P: Likewise.
28410         * modules/unictype/category-Pc: Likewise.
28411         * modules/unictype/category-Pd: Likewise.
28412         * modules/unictype/category-Pe: Likewise.
28413         * modules/unictype/category-Pf: Likewise.
28414         * modules/unictype/category-Pi: Likewise.
28415         * modules/unictype/category-Po: Likewise.
28416         * modules/unictype/category-Ps: Likewise.
28417         * modules/unictype/category-S: Likewise.
28418         * modules/unictype/category-Sc: Likewise.
28419         * modules/unictype/category-Sk: Likewise.
28420         * modules/unictype/category-Sm: Likewise.
28421         * modules/unictype/category-So: Likewise.
28422         * modules/unictype/category-Z: Likewise.
28423         * modules/unictype/category-Zl: Likewise.
28424         * modules/unictype/category-Zp: Likewise.
28425         * modules/unictype/category-Zs: Likewise.
28426         * modules/unictype/category-and: Likewise.
28427         * modules/unictype/category-and-not: Likewise.
28428         * modules/unictype/category-byname: Likewise.
28429         * modules/unictype/category-name: Likewise.
28430         * modules/unictype/category-none: Likewise.
28431         * modules/unictype/category-of: Likewise.
28432         * modules/unictype/category-or: Likewise.
28433         * modules/unictype/category-test: Likewise.
28434         * modules/unictype/combining-class: Likewise.
28435         * modules/unictype/ctype-alnum: Likewise.
28436         * modules/unictype/ctype-alpha: Likewise.
28437         * modules/unictype/ctype-blank: Likewise.
28438         * modules/unictype/ctype-cntrl: Likewise.
28439         * modules/unictype/ctype-digit: Likewise.
28440         * modules/unictype/ctype-graph: Likewise.
28441         * modules/unictype/ctype-lower: Likewise.
28442         * modules/unictype/ctype-print: Likewise.
28443         * modules/unictype/ctype-punct: Likewise.
28444         * modules/unictype/ctype-space: Likewise.
28445         * modules/unictype/ctype-upper: Likewise.
28446         * modules/unictype/ctype-xdigit: Likewise.
28447         * modules/unictype/decimal-digit: Likewise.
28448         * modules/unictype/digit: Likewise.
28449         * modules/unictype/mirror: Likewise.
28450         * modules/unictype/numeric: Likewise.
28451         * modules/unictype/property-alphabetic: Likewise.
28452         * modules/unictype/property-ascii-hex-digit: Likewise.
28453         * modules/unictype/property-bidi-arabic-digit: Likewise.
28454         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
28455         * modules/unictype/property-bidi-block-separator: Likewise.
28456         * modules/unictype/property-bidi-boundary-neutral: Likewise.
28457         * modules/unictype/property-bidi-common-separator: Likewise.
28458         * modules/unictype/property-bidi-control: Likewise.
28459         * modules/unictype/property-bidi-embedding-or-override: Likewise.
28460         * modules/unictype/property-bidi-eur-num-separator: Likewise.
28461         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
28462         * modules/unictype/property-bidi-european-digit: Likewise.
28463         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
28464         * modules/unictype/property-bidi-left-to-right: Likewise.
28465         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
28466         * modules/unictype/property-bidi-other-neutral: Likewise.
28467         * modules/unictype/property-bidi-pdf: Likewise.
28468         * modules/unictype/property-bidi-segment-separator: Likewise.
28469         * modules/unictype/property-bidi-whitespace: Likewise.
28470         * modules/unictype/property-byname: Likewise.
28471         * modules/unictype/property-combining: Likewise.
28472         * modules/unictype/property-composite: Likewise.
28473         * modules/unictype/property-currency-symbol: Likewise.
28474         * modules/unictype/property-dash: Likewise.
28475         * modules/unictype/property-decimal-digit: Likewise.
28476         * modules/unictype/property-default-ignorable-code-point: Likewise.
28477         * modules/unictype/property-deprecated: Likewise.
28478         * modules/unictype/property-diacritic: Likewise.
28479         * modules/unictype/property-extender: Likewise.
28480         * modules/unictype/property-format-control: Likewise.
28481         * modules/unictype/property-grapheme-base: Likewise.
28482         * modules/unictype/property-grapheme-extend: Likewise.
28483         * modules/unictype/property-grapheme-link: Likewise.
28484         * modules/unictype/property-hex-digit: Likewise.
28485         * modules/unictype/property-hyphen: Likewise.
28486         * modules/unictype/property-id-continue: Likewise.
28487         * modules/unictype/property-id-start: Likewise.
28488         * modules/unictype/property-ideographic: Likewise.
28489         * modules/unictype/property-ids-binary-operator: Likewise.
28490         * modules/unictype/property-ids-trinary-operator: Likewise.
28491         * modules/unictype/property-ignorable-control: Likewise.
28492         * modules/unictype/property-iso-control: Likewise.
28493         * modules/unictype/property-join-control: Likewise.
28494         * modules/unictype/property-left-of-pair: Likewise.
28495         * modules/unictype/property-line-separator: Likewise.
28496         * modules/unictype/property-logical-order-exception: Likewise.
28497         * modules/unictype/property-lowercase: Likewise.
28498         * modules/unictype/property-math: Likewise.
28499         * modules/unictype/property-non-break: Likewise.
28500         * modules/unictype/property-not-a-character: Likewise.
28501         * modules/unictype/property-numeric: Likewise.
28502         * modules/unictype/property-other-alphabetic: Likewise.
28503         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
28504         * modules/unictype/property-other-grapheme-extend: Likewise.
28505         * modules/unictype/property-other-id-continue: Likewise.
28506         * modules/unictype/property-other-id-start: Likewise.
28507         * modules/unictype/property-other-lowercase: Likewise.
28508         * modules/unictype/property-other-math: Likewise.
28509         * modules/unictype/property-other-uppercase: Likewise.
28510         * modules/unictype/property-paired-punctuation: Likewise.
28511         * modules/unictype/property-paragraph-separator: Likewise.
28512         * modules/unictype/property-pattern-syntax: Likewise.
28513         * modules/unictype/property-pattern-white-space: Likewise.
28514         * modules/unictype/property-private-use: Likewise.
28515         * modules/unictype/property-punctuation: Likewise.
28516         * modules/unictype/property-quotation-mark: Likewise.
28517         * modules/unictype/property-radical: Likewise.
28518         * modules/unictype/property-sentence-terminal: Likewise.
28519         * modules/unictype/property-soft-dotted: Likewise.
28520         * modules/unictype/property-space: Likewise.
28521         * modules/unictype/property-terminal-punctuation: Likewise.
28522         * modules/unictype/property-test: Likewise.
28523         * modules/unictype/property-titlecase: Likewise.
28524         * modules/unictype/property-unassigned-code-value: Likewise.
28525         * modules/unictype/property-unified-ideograph: Likewise.
28526         * modules/unictype/property-uppercase: Likewise.
28527         * modules/unictype/property-variation-selector: Likewise.
28528         * modules/unictype/property-white-space: Likewise.
28529         * modules/unictype/property-xid-continue: Likewise.
28530         * modules/unictype/property-xid-start: Likewise.
28531         * modules/unictype/property-zero-width: Likewise.
28532         * modules/unictype/scripts: Likewise.
28533         * modules/unictype/syntax-c-ident: Likewise.
28534         * modules/unictype/syntax-c-whitespace: Likewise.
28535         * modules/unictype/syntax-java-ident: Likewise.
28536         * modules/unictype/syntax-java-whitespace: Likewise.
28537         * modules/unilbrk/u8-possible-linebreaks: Likewise.
28538         * modules/unilbrk/u8-width-linebreaks: Likewise.
28539         * modules/unilbrk/u16-possible-linebreaks: Likewise.
28540         * modules/unilbrk/u16-width-linebreaks: Likewise.
28541         * modules/unilbrk/u32-possible-linebreaks: Likewise.
28542         * modules/unilbrk/u32-width-linebreaks: Likewise.
28543         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
28544         * modules/unilbrk/ulc-width-linebreaks: Likewise.
28545         * modules/uniname/uniname: Likewise.
28546         * modules/uninorm/canonical-decomposition: Likewise.
28547         * modules/uninorm/composition: Likewise.
28548         * modules/uninorm/decomposing-form: Likewise.
28549         * modules/uninorm/decomposition: Likewise.
28550         * modules/uninorm/filter: Likewise.
28551         * modules/uninorm/nfc: Likewise.
28552         * modules/uninorm/nfd: Likewise.
28553         * modules/uninorm/nfkc: Likewise.
28554         * modules/uninorm/nfkd: Likewise.
28555         * modules/uninorm/u8-normalize: Likewise.
28556         * modules/uninorm/u8-normcmp: Likewise.
28557         * modules/uninorm/u8-normcoll: Likewise.
28558         * modules/uninorm/u8-normxfrm: Likewise.
28559         * modules/uninorm/u16-normalize: Likewise.
28560         * modules/uninorm/u16-normcmp: Likewise.
28561         * modules/uninorm/u16-normcoll: Likewise.
28562         * modules/uninorm/u16-normxfrm: Likewise.
28563         * modules/uninorm/u32-normalize: Likewise.
28564         * modules/uninorm/u32-normcmp: Likewise.
28565         * modules/uninorm/u32-normcoll: Likewise.
28566         * modules/uninorm/u32-normxfrm: Likewise.
28567         * modules/unistdio/u8-asnprintf: Likewise.
28568         * modules/unistdio/u8-asprintf: Likewise.
28569         * modules/unistdio/u8-snprintf: Likewise.
28570         * modules/unistdio/u8-sprintf: Likewise.
28571         * modules/unistdio/u8-u8-asnprintf: Likewise.
28572         * modules/unistdio/u8-u8-asprintf: Likewise.
28573         * modules/unistdio/u8-u8-snprintf: Likewise.
28574         * modules/unistdio/u8-u8-sprintf: Likewise.
28575         * modules/unistdio/u8-u8-vasnprintf: Likewise.
28576         * modules/unistdio/u8-u8-vasprintf: Likewise.
28577         * modules/unistdio/u8-u8-vsnprintf: Likewise.
28578         * modules/unistdio/u8-u8-vsprintf: Likewise.
28579         * modules/unistdio/u8-vasnprintf: Likewise.
28580         * modules/unistdio/u8-vasprintf: Likewise.
28581         * modules/unistdio/u8-vsnprintf: Likewise.
28582         * modules/unistdio/u8-vsprintf: Likewise.
28583         * modules/unistdio/u16-asnprintf: Likewise.
28584         * modules/unistdio/u16-asprintf: Likewise.
28585         * modules/unistdio/u16-snprintf: Likewise.
28586         * modules/unistdio/u16-sprintf: Likewise.
28587         * modules/unistdio/u16-u16-asnprintf: Likewise.
28588         * modules/unistdio/u16-u16-asprintf: Likewise.
28589         * modules/unistdio/u16-u16-snprintf: Likewise.
28590         * modules/unistdio/u16-u16-sprintf: Likewise.
28591         * modules/unistdio/u16-u16-vasnprintf: Likewise.
28592         * modules/unistdio/u16-u16-vasprintf: Likewise.
28593         * modules/unistdio/u16-u16-vsnprintf: Likewise.
28594         * modules/unistdio/u16-u16-vsprintf: Likewise.
28595         * modules/unistdio/u16-vasnprintf: Likewise.
28596         * modules/unistdio/u16-vasprintf: Likewise.
28597         * modules/unistdio/u16-vsnprintf: Likewise.
28598         * modules/unistdio/u16-vsprintf: Likewise.
28599         * modules/unistdio/u32-asnprintf: Likewise.
28600         * modules/unistdio/u32-asprintf: Likewise.
28601         * modules/unistdio/u32-snprintf: Likewise.
28602         * modules/unistdio/u32-sprintf: Likewise.
28603         * modules/unistdio/u32-u32-asnprintf: Likewise.
28604         * modules/unistdio/u32-u32-asprintf: Likewise.
28605         * modules/unistdio/u32-u32-snprintf: Likewise.
28606         * modules/unistdio/u32-u32-sprintf: Likewise.
28607         * modules/unistdio/u32-u32-vasnprintf: Likewise.
28608         * modules/unistdio/u32-u32-vasprintf: Likewise.
28609         * modules/unistdio/u32-u32-vsnprintf: Likewise.
28610         * modules/unistdio/u32-u32-vsprintf: Likewise.
28611         * modules/unistdio/u32-vasnprintf: Likewise.
28612         * modules/unistdio/u32-vasprintf: Likewise.
28613         * modules/unistdio/u32-vsnprintf: Likewise.
28614         * modules/unistdio/u32-vsprintf: Likewise.
28615         * modules/unistdio/ulc-asnprintf: Likewise.
28616         * modules/unistdio/ulc-asprintf: Likewise.
28617         * modules/unistdio/ulc-fprintf: Likewise.
28618         * modules/unistdio/ulc-snprintf: Likewise.
28619         * modules/unistdio/ulc-sprintf: Likewise.
28620         * modules/unistdio/ulc-vasnprintf: Likewise.
28621         * modules/unistdio/ulc-vasprintf: Likewise.
28622         * modules/unistdio/ulc-vfprintf: Likewise.
28623         * modules/unistdio/ulc-vsnprintf: Likewise.
28624         * modules/unistdio/ulc-vsprintf: Likewise.
28625         * modules/unistr/u8-check: Likewise.
28626         * modules/unistr/u8-chr: Likewise.
28627         * modules/unistr/u8-cmp: Likewise.
28628         * modules/unistr/u8-cmp2: Likewise.
28629         * modules/unistr/u8-cpy: Likewise.
28630         * modules/unistr/u8-cpy-alloc: Likewise.
28631         * modules/unistr/u8-endswith: Likewise.
28632         * modules/unistr/u8-mblen: Likewise.
28633         * modules/unistr/u8-mbsnlen: Likewise.
28634         * modules/unistr/u8-mbtouc: Likewise.
28635         * modules/unistr/u8-mbtouc-unsafe: Likewise.
28636         * modules/unistr/u8-mbtoucr: Likewise.
28637         * modules/unistr/u8-move: Likewise.
28638         * modules/unistr/u8-next: Likewise.
28639         * modules/unistr/u8-prev: Likewise.
28640         * modules/unistr/u8-set: Likewise.
28641         * modules/unistr/u8-startswith: Likewise.
28642         * modules/unistr/u8-stpcpy: Likewise.
28643         * modules/unistr/u8-stpncpy: Likewise.
28644         * modules/unistr/u8-strcat: Likewise.
28645         * modules/unistr/u8-strchr: Likewise.
28646         * modules/unistr/u8-strcmp: Likewise.
28647         * modules/unistr/u8-strcoll: Likewise.
28648         * modules/unistr/u8-strcpy: Likewise.
28649         * modules/unistr/u8-strcspn: Likewise.
28650         * modules/unistr/u8-strdup: Likewise.
28651         * modules/unistr/u8-strlen: Likewise.
28652         * modules/unistr/u8-strmblen: Likewise.
28653         * modules/unistr/u8-strmbtouc: Likewise.
28654         * modules/unistr/u8-strncat: Likewise.
28655         * modules/unistr/u8-strncmp: Likewise.
28656         * modules/unistr/u8-strncpy: Likewise.
28657         * modules/unistr/u8-strnlen: Likewise.
28658         * modules/unistr/u8-strpbrk: Likewise.
28659         * modules/unistr/u8-strrchr: Likewise.
28660         * modules/unistr/u8-strspn: Likewise.
28661         * modules/unistr/u8-strstr: Likewise.
28662         * modules/unistr/u8-strtok: Likewise.
28663         * modules/unistr/u8-to-u16: Likewise.
28664         * modules/unistr/u8-to-u32: Likewise.
28665         * modules/unistr/u8-uctomb: Likewise.
28666         * modules/unistr/u16-check: Likewise.
28667         * modules/unistr/u16-chr: Likewise.
28668         * modules/unistr/u16-cmp: Likewise.
28669         * modules/unistr/u16-cmp2: Likewise.
28670         * modules/unistr/u16-cpy: Likewise.
28671         * modules/unistr/u16-cpy-alloc: Likewise.
28672         * modules/unistr/u16-endswith: Likewise.
28673         * modules/unistr/u16-mblen: Likewise.
28674         * modules/unistr/u16-mbsnlen: Likewise.
28675         * modules/unistr/u16-mbtouc: Likewise.
28676         * modules/unistr/u16-mbtouc-unsafe: Likewise.
28677         * modules/unistr/u16-mbtoucr: Likewise.
28678         * modules/unistr/u16-move: Likewise.
28679         * modules/unistr/u16-next: Likewise.
28680         * modules/unistr/u16-prev: Likewise.
28681         * modules/unistr/u16-set: Likewise.
28682         * modules/unistr/u16-startswith: Likewise.
28683         * modules/unistr/u16-stpcpy: Likewise.
28684         * modules/unistr/u16-stpncpy: Likewise.
28685         * modules/unistr/u16-strcat: Likewise.
28686         * modules/unistr/u16-strchr: Likewise.
28687         * modules/unistr/u16-strcmp: Likewise.
28688         * modules/unistr/u16-strcoll: Likewise.
28689         * modules/unistr/u16-strcpy: Likewise.
28690         * modules/unistr/u16-strcspn: Likewise.
28691         * modules/unistr/u16-strdup: Likewise.
28692         * modules/unistr/u16-strlen: Likewise.
28693         * modules/unistr/u16-strmblen: Likewise.
28694         * modules/unistr/u16-strmbtouc: Likewise.
28695         * modules/unistr/u16-strncat: Likewise.
28696         * modules/unistr/u16-strncmp: Likewise.
28697         * modules/unistr/u16-strncpy: Likewise.
28698         * modules/unistr/u16-strnlen: Likewise.
28699         * modules/unistr/u16-strpbrk: Likewise.
28700         * modules/unistr/u16-strrchr: Likewise.
28701         * modules/unistr/u16-strspn: Likewise.
28702         * modules/unistr/u16-strstr: Likewise.
28703         * modules/unistr/u16-strtok: Likewise.
28704         * modules/unistr/u16-to-u32: Likewise.
28705         * modules/unistr/u16-to-u8: Likewise.
28706         * modules/unistr/u16-uctomb: Likewise.
28707         * modules/unistr/u32-check: Likewise.
28708         * modules/unistr/u32-chr: Likewise.
28709         * modules/unistr/u32-cmp: Likewise.
28710         * modules/unistr/u32-cmp2: Likewise.
28711         * modules/unistr/u32-cpy: Likewise.
28712         * modules/unistr/u32-cpy-alloc: Likewise.
28713         * modules/unistr/u32-endswith: Likewise.
28714         * modules/unistr/u32-mblen: Likewise.
28715         * modules/unistr/u32-mbsnlen: Likewise.
28716         * modules/unistr/u32-mbtouc: Likewise.
28717         * modules/unistr/u32-mbtouc-unsafe: Likewise.
28718         * modules/unistr/u32-mbtoucr: Likewise.
28719         * modules/unistr/u32-move: Likewise.
28720         * modules/unistr/u32-next: Likewise.
28721         * modules/unistr/u32-prev: Likewise.
28722         * modules/unistr/u32-set: Likewise.
28723         * modules/unistr/u32-startswith: Likewise.
28724         * modules/unistr/u32-stpcpy: Likewise.
28725         * modules/unistr/u32-stpncpy: Likewise.
28726         * modules/unistr/u32-strcat: Likewise.
28727         * modules/unistr/u32-strchr: Likewise.
28728         * modules/unistr/u32-strcmp: Likewise.
28729         * modules/unistr/u32-strcoll: Likewise.
28730         * modules/unistr/u32-strcpy: Likewise.
28731         * modules/unistr/u32-strcspn: Likewise.
28732         * modules/unistr/u32-strdup: Likewise.
28733         * modules/unistr/u32-strlen: Likewise.
28734         * modules/unistr/u32-strmblen: Likewise.
28735         * modules/unistr/u32-strmbtouc: Likewise.
28736         * modules/unistr/u32-strncat: Likewise.
28737         * modules/unistr/u32-strncmp: Likewise.
28738         * modules/unistr/u32-strncpy: Likewise.
28739         * modules/unistr/u32-strnlen: Likewise.
28740         * modules/unistr/u32-strpbrk: Likewise.
28741         * modules/unistr/u32-strrchr: Likewise.
28742         * modules/unistr/u32-strspn: Likewise.
28743         * modules/unistr/u32-strstr: Likewise.
28744         * modules/unistr/u32-strtok: Likewise.
28745         * modules/unistr/u32-to-u16: Likewise.
28746         * modules/unistr/u32-to-u8: Likewise.
28747         * modules/unistr/u32-uctomb: Likewise.
28748         * modules/uniwbrk/u8-wordbreaks: Likewise.
28749         * modules/uniwbrk/u16-wordbreaks: Likewise.
28750         * modules/uniwbrk/u32-wordbreaks: Likewise.
28751         * modules/uniwbrk/ulc-wordbreaks: Likewise.
28752         * modules/uniwbrk/wordbreak-property: Likewise.
28753         * modules/uniwidth/u8-strwidth: Likewise.
28754         * modules/uniwidth/u8-width: Likewise.
28755         * modules/uniwidth/u16-strwidth: Likewise.
28756         * modules/uniwidth/u16-width: Likewise.
28757         * modules/uniwidth/u32-strwidth: Likewise.
28758         * modules/uniwidth/u32-width: Likewise.
28759         * modules/uniwidth/width: Likewise.
28760         * modules/unicase/cased-tests (Makefile.am): Link all test programs
28761         with $(LIBUNISTRING).
28762         * modules/unicase/ignorable-tests: Likewise.
28763         * modules/unicase/locale-language-tests: Likewise.
28764         * modules/unicase/tolower-tests: Likewise.
28765         * modules/unicase/totitle-tests: Likewise.
28766         * modules/unicase/toupper-tests: Likewise.
28767         * modules/unicase/u8-casecmp-tests: Likewise.
28768         * modules/unicase/u8-casecoll-tests: Likewise.
28769         * modules/unicase/u8-casefold-tests: Likewise.
28770         * modules/unicase/u8-is-cased-tests: Likewise.
28771         * modules/unicase/u8-is-casefolded-tests: Likewise.
28772         * modules/unicase/u8-is-lowercase-tests: Likewise.
28773         * modules/unicase/u8-is-titlecase-tests: Likewise.
28774         * modules/unicase/u8-is-uppercase-tests: Likewise.
28775         * modules/unicase/u8-tolower-tests: Likewise.
28776         * modules/unicase/u8-totitle-tests: Likewise.
28777         * modules/unicase/u8-toupper-tests: Likewise.
28778         * modules/unicase/u16-casecmp-tests: Likewise.
28779         * modules/unicase/u16-casecoll-tests: Likewise.
28780         * modules/unicase/u16-casefold-tests: Likewise.
28781         * modules/unicase/u16-is-cased-tests: Likewise.
28782         * modules/unicase/u16-is-casefolded-tests: Likewise.
28783         * modules/unicase/u16-is-lowercase-tests: Likewise.
28784         * modules/unicase/u16-is-titlecase-tests: Likewise.
28785         * modules/unicase/u16-is-uppercase-tests: Likewise.
28786         * modules/unicase/u16-tolower-tests: Likewise.
28787         * modules/unicase/u16-totitle-tests: Likewise.
28788         * modules/unicase/u16-toupper-tests: Likewise.
28789         * modules/unicase/u32-casecmp-tests: Likewise.
28790         * modules/unicase/u32-casecoll-tests: Likewise.
28791         * modules/unicase/u32-casefold-tests: Likewise.
28792         * modules/unicase/u32-is-cased-tests: Likewise.
28793         * modules/unicase/u32-is-casefolded-tests: Likewise.
28794         * modules/unicase/u32-is-lowercase-tests: Likewise.
28795         * modules/unicase/u32-is-titlecase-tests: Likewise.
28796         * modules/unicase/u32-is-uppercase-tests: Likewise.
28797         * modules/unicase/u32-tolower-tests: Likewise.
28798         * modules/unicase/u32-totitle-tests: Likewise.
28799         * modules/unicase/u32-toupper-tests: Likewise.
28800         * modules/unicase/ulc-casecmp-tests: Likewise.
28801         * modules/unicase/ulc-casecoll-tests: Likewise.
28802         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
28803         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
28804         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
28805         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
28806         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
28807         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
28808         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
28809         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
28810         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
28811         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
28812         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
28813         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
28814         * modules/unictype/bidicategory-byname-tests: Likewise.
28815         * modules/unictype/bidicategory-name-tests: Likewise.
28816         * modules/unictype/bidicategory-of-tests: Likewise.
28817         * modules/unictype/bidicategory-test-tests: Likewise.
28818         * modules/unictype/block-list-tests: Likewise.
28819         * modules/unictype/block-of-tests: Likewise.
28820         * modules/unictype/block-test-tests: Likewise.
28821         * modules/unictype/category-C-tests: Likewise.
28822         * modules/unictype/category-Cc-tests: Likewise.
28823         * modules/unictype/category-Cf-tests: Likewise.
28824         * modules/unictype/category-Cn-tests: Likewise.
28825         * modules/unictype/category-Co-tests: Likewise.
28826         * modules/unictype/category-Cs-tests: Likewise.
28827         * modules/unictype/category-L-tests: Likewise.
28828         * modules/unictype/category-Ll-tests: Likewise.
28829         * modules/unictype/category-Lm-tests: Likewise.
28830         * modules/unictype/category-Lo-tests: Likewise.
28831         * modules/unictype/category-Lt-tests: Likewise.
28832         * modules/unictype/category-Lu-tests: Likewise.
28833         * modules/unictype/category-M-tests: Likewise.
28834         * modules/unictype/category-Mc-tests: Likewise.
28835         * modules/unictype/category-Me-tests: Likewise.
28836         * modules/unictype/category-Mn-tests: Likewise.
28837         * modules/unictype/category-N-tests: Likewise.
28838         * modules/unictype/category-Nd-tests: Likewise.
28839         * modules/unictype/category-Nl-tests: Likewise.
28840         * modules/unictype/category-No-tests: Likewise.
28841         * modules/unictype/category-P-tests: Likewise.
28842         * modules/unictype/category-Pc-tests: Likewise.
28843         * modules/unictype/category-Pd-tests: Likewise.
28844         * modules/unictype/category-Pe-tests: Likewise.
28845         * modules/unictype/category-Pf-tests: Likewise.
28846         * modules/unictype/category-Pi-tests: Likewise.
28847         * modules/unictype/category-Po-tests: Likewise.
28848         * modules/unictype/category-Ps-tests: Likewise.
28849         * modules/unictype/category-S-tests: Likewise.
28850         * modules/unictype/category-Sc-tests: Likewise.
28851         * modules/unictype/category-Sk-tests: Likewise.
28852         * modules/unictype/category-Sm-tests: Likewise.
28853         * modules/unictype/category-So-tests: Likewise.
28854         * modules/unictype/category-Z-tests: Likewise.
28855         * modules/unictype/category-Zl-tests: Likewise.
28856         * modules/unictype/category-Zp-tests: Likewise.
28857         * modules/unictype/category-Zs-tests: Likewise.
28858         * modules/unictype/category-and-not-tests: Likewise.
28859         * modules/unictype/category-and-tests: Likewise.
28860         * modules/unictype/category-byname-tests: Likewise.
28861         * modules/unictype/category-name-tests: Likewise.
28862         * modules/unictype/category-none-tests: Likewise.
28863         * modules/unictype/category-of-tests: Likewise.
28864         * modules/unictype/category-or-tests: Likewise.
28865         * modules/unictype/category-test-withtable-tests: Likewise.
28866         * modules/unictype/combining-class-tests: Likewise.
28867         * modules/unictype/ctype-alnum-tests: Likewise.
28868         * modules/unictype/ctype-alpha-tests: Likewise.
28869         * modules/unictype/ctype-blank-tests: Likewise.
28870         * modules/unictype/ctype-cntrl-tests: Likewise.
28871         * modules/unictype/ctype-digit-tests: Likewise.
28872         * modules/unictype/ctype-graph-tests: Likewise.
28873         * modules/unictype/ctype-lower-tests: Likewise.
28874         * modules/unictype/ctype-print-tests: Likewise.
28875         * modules/unictype/ctype-punct-tests: Likewise.
28876         * modules/unictype/ctype-space-tests: Likewise.
28877         * modules/unictype/ctype-upper-tests: Likewise.
28878         * modules/unictype/ctype-xdigit-tests: Likewise.
28879         * modules/unictype/decimal-digit-tests: Likewise.
28880         * modules/unictype/digit-tests: Likewise.
28881         * modules/unictype/mirror-tests: Likewise.
28882         * modules/unictype/numeric-tests: Likewise.
28883         * modules/unictype/property-alphabetic-tests: Likewise.
28884         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
28885         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
28886         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
28887         * modules/unictype/property-bidi-block-separator-tests: Likewise.
28888         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
28889         * modules/unictype/property-bidi-common-separator-tests: Likewise.
28890         * modules/unictype/property-bidi-control-tests: Likewise.
28891         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
28892         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
28893         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
28894         * modules/unictype/property-bidi-european-digit-tests: Likewise.
28895         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
28896         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
28897         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
28898         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
28899         * modules/unictype/property-bidi-pdf-tests: Likewise.
28900         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
28901         * modules/unictype/property-bidi-whitespace-tests: Likewise.
28902         * modules/unictype/property-byname-tests: Likewise.
28903         * modules/unictype/property-combining-tests: Likewise.
28904         * modules/unictype/property-composite-tests: Likewise.
28905         * modules/unictype/property-currency-symbol-tests: Likewise.
28906         * modules/unictype/property-dash-tests: Likewise.
28907         * modules/unictype/property-decimal-digit-tests: Likewise.
28908         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
28909         * modules/unictype/property-deprecated-tests: Likewise.
28910         * modules/unictype/property-diacritic-tests: Likewise.
28911         * modules/unictype/property-extender-tests: Likewise.
28912         * modules/unictype/property-format-control-tests: Likewise.
28913         * modules/unictype/property-grapheme-base-tests: Likewise.
28914         * modules/unictype/property-grapheme-extend-tests: Likewise.
28915         * modules/unictype/property-grapheme-link-tests: Likewise.
28916         * modules/unictype/property-hex-digit-tests: Likewise.
28917         * modules/unictype/property-hyphen-tests: Likewise.
28918         * modules/unictype/property-id-continue-tests: Likewise.
28919         * modules/unictype/property-id-start-tests: Likewise.
28920         * modules/unictype/property-ideographic-tests: Likewise.
28921         * modules/unictype/property-ids-binary-operator-tests: Likewise.
28922         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
28923         * modules/unictype/property-ignorable-control-tests: Likewise.
28924         * modules/unictype/property-iso-control-tests: Likewise.
28925         * modules/unictype/property-join-control-tests: Likewise.
28926         * modules/unictype/property-left-of-pair-tests: Likewise.
28927         * modules/unictype/property-line-separator-tests: Likewise.
28928         * modules/unictype/property-logical-order-exception-tests: Likewise.
28929         * modules/unictype/property-lowercase-tests: Likewise.
28930         * modules/unictype/property-math-tests: Likewise.
28931         * modules/unictype/property-non-break-tests: Likewise.
28932         * modules/unictype/property-not-a-character-tests: Likewise.
28933         * modules/unictype/property-numeric-tests: Likewise.
28934         * modules/unictype/property-other-alphabetic-tests: Likewise.
28935         * modules/unictype/property-other-default-ignorable-code-point-tests:
28936         Likewise.
28937         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
28938         * modules/unictype/property-other-id-continue-tests: Likewise.
28939         * modules/unictype/property-other-id-start-tests: Likewise.
28940         * modules/unictype/property-other-lowercase-tests: Likewise.
28941         * modules/unictype/property-other-math-tests: Likewise.
28942         * modules/unictype/property-other-uppercase-tests: Likewise.
28943         * modules/unictype/property-paired-punctuation-tests: Likewise.
28944         * modules/unictype/property-paragraph-separator-tests: Likewise.
28945         * modules/unictype/property-pattern-syntax-tests: Likewise.
28946         * modules/unictype/property-pattern-white-space-tests: Likewise.
28947         * modules/unictype/property-private-use-tests: Likewise.
28948         * modules/unictype/property-punctuation-tests: Likewise.
28949         * modules/unictype/property-quotation-mark-tests: Likewise.
28950         * modules/unictype/property-radical-tests: Likewise.
28951         * modules/unictype/property-sentence-terminal-tests: Likewise.
28952         * modules/unictype/property-soft-dotted-tests: Likewise.
28953         * modules/unictype/property-space-tests: Likewise.
28954         * modules/unictype/property-terminal-punctuation-tests: Likewise.
28955         * modules/unictype/property-test-tests: Likewise.
28956         * modules/unictype/property-titlecase-tests: Likewise.
28957         * modules/unictype/property-unassigned-code-value-tests: Likewise.
28958         * modules/unictype/property-unified-ideograph-tests: Likewise.
28959         * modules/unictype/property-uppercase-tests: Likewise.
28960         * modules/unictype/property-variation-selector-tests: Likewise.
28961         * modules/unictype/property-white-space-tests: Likewise.
28962         * modules/unictype/property-xid-continue-tests: Likewise.
28963         * modules/unictype/property-xid-start-tests: Likewise.
28964         * modules/unictype/property-zero-width-tests: Likewise.
28965         * modules/unictype/scripts-tests: Likewise.
28966         * modules/unictype/syntax-c-ident-tests: Likewise.
28967         * modules/unictype/syntax-c-whitespace-tests: Likewise.
28968         * modules/unictype/syntax-java-ident-tests: Likewise.
28969         * modules/unictype/syntax-java-whitespace-tests: Likewise.
28970         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
28971         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
28972         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
28973         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
28974         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
28975         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
28976         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
28977         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
28978         * modules/uniname/uniname-tests: Likewise.
28979         * modules/uninorm/canonical-decomposition-tests: Likewise.
28980         * modules/uninorm/compat-decomposition-tests: Likewise.
28981         * modules/uninorm/composition-tests: Likewise.
28982         * modules/uninorm/decomposing-form-tests: Likewise.
28983         * modules/uninorm/decomposition-tests: Likewise.
28984         * modules/uninorm/filter-tests: Likewise.
28985         * modules/uninorm/nfc-tests: Likewise.
28986         * modules/uninorm/nfd-tests: Likewise.
28987         * modules/uninorm/nfkc-tests: Likewise.
28988         * modules/uninorm/nfkd-tests: Likewise.
28989         * modules/uninorm/u8-normcmp-tests: Likewise.
28990         * modules/uninorm/u8-normcoll-tests: Likewise.
28991         * modules/uninorm/u16-normcmp-tests: Likewise.
28992         * modules/uninorm/u16-normcoll-tests: Likewise.
28993         * modules/uninorm/u32-normcmp-tests: Likewise.
28994         * modules/uninorm/u32-normcoll-tests: Likewise.
28995         * modules/unistdio/u8-asnprintf-tests: Likewise.
28996         * modules/unistdio/u8-vasnprintf-tests: Likewise.
28997         * modules/unistdio/u8-vasprintf-tests: Likewise.
28998         * modules/unistdio/u8-vsnprintf-tests: Likewise.
28999         * modules/unistdio/u8-vsprintf-tests: Likewise.
29000         * modules/unistdio/u16-asnprintf-tests: Likewise.
29001         * modules/unistdio/u16-vasnprintf-tests: Likewise.
29002         * modules/unistdio/u16-vasprintf-tests: Likewise.
29003         * modules/unistdio/u16-vsnprintf-tests: Likewise.
29004         * modules/unistdio/u16-vsprintf-tests: Likewise.
29005         * modules/unistdio/u32-asnprintf-tests: Likewise.
29006         * modules/unistdio/u32-vasnprintf-tests: Likewise.
29007         * modules/unistdio/u32-vasprintf-tests: Likewise.
29008         * modules/unistdio/u32-vsnprintf-tests: Likewise.
29009         * modules/unistdio/u32-vsprintf-tests: Likewise.
29010         * modules/unistdio/ulc-asnprintf-tests: Likewise.
29011         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
29012         * modules/unistdio/ulc-vasprintf-tests: Likewise.
29013         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
29014         * modules/unistdio/ulc-vsprintf-tests: Likewise.
29015         * modules/unistr/u8-check-tests: Likewise.
29016         * modules/unistr/u8-chr-tests: Likewise.
29017         * modules/unistr/u8-cmp-tests: Likewise.
29018         * modules/unistr/u8-cmp2-tests: Likewise.
29019         * modules/unistr/u8-cpy-alloc-tests: Likewise.
29020         * modules/unistr/u8-cpy-tests: Likewise.
29021         * modules/unistr/u8-mblen-tests: Likewise.
29022         * modules/unistr/u8-mbsnlen-tests: Likewise.
29023         * modules/unistr/u8-mbtouc-tests: Likewise.
29024         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
29025         * modules/unistr/u8-mbtoucr-tests: Likewise.
29026         * modules/unistr/u8-move-tests: Likewise.
29027         * modules/unistr/u8-next-tests: Likewise.
29028         * modules/unistr/u8-prev-tests: Likewise.
29029         * modules/unistr/u8-set-tests: Likewise.
29030         * modules/unistr/u8-stpcpy-tests: Likewise.
29031         * modules/unistr/u8-stpncpy-tests: Likewise.
29032         * modules/unistr/u8-strcat-tests: Likewise.
29033         * modules/unistr/u8-strcmp-tests: Likewise.
29034         * modules/unistr/u8-strcoll-tests: Likewise.
29035         * modules/unistr/u8-strcpy-tests: Likewise.
29036         * modules/unistr/u8-strdup-tests: Likewise.
29037         * modules/unistr/u8-strlen-tests: Likewise.
29038         * modules/unistr/u8-strmblen-tests: Likewise.
29039         * modules/unistr/u8-strmbtouc-tests: Likewise.
29040         * modules/unistr/u8-strncat-tests: Likewise.
29041         * modules/unistr/u8-strncmp-tests: Likewise.
29042         * modules/unistr/u8-strncpy-tests: Likewise.
29043         * modules/unistr/u8-strnlen-tests: Likewise.
29044         * modules/unistr/u8-to-u16-tests: Likewise.
29045         * modules/unistr/u8-to-u32-tests: Likewise.
29046         * modules/unistr/u8-uctomb-tests: Likewise.
29047         * modules/unistr/u16-check-tests: Likewise.
29048         * modules/unistr/u16-chr-tests: Likewise.
29049         * modules/unistr/u16-cmp-tests: Likewise.
29050         * modules/unistr/u16-cmp2-tests: Likewise.
29051         * modules/unistr/u16-cpy-alloc-tests: Likewise.
29052         * modules/unistr/u16-cpy-tests: Likewise.
29053         * modules/unistr/u16-mblen-tests: Likewise.
29054         * modules/unistr/u16-mbsnlen-tests: Likewise.
29055         * modules/unistr/u16-mbtouc-tests: Likewise.
29056         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
29057         * modules/unistr/u16-mbtoucr-tests: Likewise.
29058         * modules/unistr/u16-move-tests: Likewise.
29059         * modules/unistr/u16-next-tests: Likewise.
29060         * modules/unistr/u16-prev-tests: Likewise.
29061         * modules/unistr/u16-set-tests: Likewise.
29062         * modules/unistr/u16-stpcpy-tests: Likewise.
29063         * modules/unistr/u16-stpncpy-tests: Likewise.
29064         * modules/unistr/u16-strcat-tests: Likewise.
29065         * modules/unistr/u16-strcmp-tests: Likewise.
29066         * modules/unistr/u16-strcoll-tests: Likewise.
29067         * modules/unistr/u16-strcpy-tests: Likewise.
29068         * modules/unistr/u16-strdup-tests: Likewise.
29069         * modules/unistr/u16-strlen-tests: Likewise.
29070         * modules/unistr/u16-strmblen-tests: Likewise.
29071         * modules/unistr/u16-strmbtouc-tests: Likewise.
29072         * modules/unistr/u16-strncat-tests: Likewise.
29073         * modules/unistr/u16-strncmp-tests: Likewise.
29074         * modules/unistr/u16-strncpy-tests: Likewise.
29075         * modules/unistr/u16-strnlen-tests: Likewise.
29076         * modules/unistr/u16-to-u32-tests: Likewise.
29077         * modules/unistr/u16-to-u8-tests: Likewise.
29078         * modules/unistr/u16-uctomb-tests: Likewise.
29079         * modules/unistr/u32-check-tests: Likewise.
29080         * modules/unistr/u32-chr-tests: Likewise.
29081         * modules/unistr/u32-cmp-tests: Likewise.
29082         * modules/unistr/u32-cmp2-tests: Likewise.
29083         * modules/unistr/u32-cpy-alloc-tests: Likewise.
29084         * modules/unistr/u32-cpy-tests: Likewise.
29085         * modules/unistr/u32-mblen-tests: Likewise.
29086         * modules/unistr/u32-mbsnlen-tests: Likewise.
29087         * modules/unistr/u32-mbtouc-tests: Likewise.
29088         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
29089         * modules/unistr/u32-mbtoucr-tests: Likewise.
29090         * modules/unistr/u32-move-tests: Likewise.
29091         * modules/unistr/u32-next-tests: Likewise.
29092         * modules/unistr/u32-prev-tests: Likewise.
29093         * modules/unistr/u32-set-tests: Likewise.
29094         * modules/unistr/u32-stpcpy-tests: Likewise.
29095         * modules/unistr/u32-stpncpy-tests: Likewise.
29096         * modules/unistr/u32-strcat-tests: Likewise.
29097         * modules/unistr/u32-strcmp-tests: Likewise.
29098         * modules/unistr/u32-strcoll-tests: Likewise.
29099         * modules/unistr/u32-strcpy-tests: Likewise.
29100         * modules/unistr/u32-strdup-tests: Likewise.
29101         * modules/unistr/u32-strlen-tests: Likewise.
29102         * modules/unistr/u32-strmblen-tests: Likewise.
29103         * modules/unistr/u32-strmbtouc-tests: Likewise.
29104         * modules/unistr/u32-strncat-tests: Likewise.
29105         * modules/unistr/u32-strncmp-tests: Likewise.
29106         * modules/unistr/u32-strncpy-tests: Likewise.
29107         * modules/unistr/u32-strnlen-tests: Likewise.
29108         * modules/unistr/u32-to-u16-tests: Likewise.
29109         * modules/unistr/u32-to-u8-tests: Likewise.
29110         * modules/unistr/u32-uctomb-tests: Likewise.
29111         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
29112         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
29113         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
29114         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
29115         * modules/uniwidth/u8-strwidth-tests: Likewise.
29116         * modules/uniwidth/u8-width-tests: Likewise.
29117         * modules/uniwidth/u16-strwidth-tests: Likewise.
29118         * modules/uniwidth/u16-width-tests: Likewise.
29119         * modules/uniwidth/u32-strwidth-tests: Likewise.
29120         * modules/uniwidth/u32-width-tests: Likewise.
29121         * modules/uniwidth/width-tests: Likewise.
29122
29123 2010-05-18  Richard Jones  <rjones@redhat.com>
29124
29125         doc: users.txt: list hivex
29126         * users.txt: Add hivex.
29127
29128 2010-05-18  Richard Jones  <rjones@redhat.com>
29129
29130         doc: users.txt: list febootstrap
29131         * users.txt: Add febootstrap.
29132
29133 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
29134
29135         bootstrap: fix an error when gnulib is not used as a git submodule
29136         * build-aux/bootstrap (gnulib_path): If its length is zero then
29137         assign "gnulib" to it.
29138         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
29139
29140 2010-05-16  Bruno Haible  <bruno@clisp.org>
29141
29142         Avoid autoconf warnings about AM_ICONV.
29143         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
29144         2.64.
29145
29146 2010-05-16  Bruno Haible  <bruno@clisp.org>
29147
29148         absolute-header: Make the macro usable in more situations.
29149         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
29150         from gl_ABSOLUTE_HEADER.
29151         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
29152
29153 2010-05-16  James Youngman  <jay@gnu.org>
29154
29155         doc: update users.txt
29156         * users.txt: Add CSSC.
29157
29158 2010-05-16  Jim Meyering  <meyering@redhat.com>
29159
29160         init.sh: fix an error in the previous change; add more comments
29161         * tests/init.sh: Compare exit code in loop against 9, not 2.
29162         Patch by Bruno Haible.
29163         Make the two tests more similar by adding an empty "then" clause.
29164         Add comments.
29165
29166         init.sh: avoid unnecessary shell re-exec
29167         * tests/init.sh: Improve the re-exec-required check to first test the
29168         current shell.  If it passes the test, do not search for a shell that
29169         does pass, and do not re-exec.  This test is particularly contorted to
29170         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
29171         of $(...) evokes a syntax error and causes immediate shell exit with
29172         status 2.  Bruno Haible reported that the re-exec made it impossible
29173         to single-step through any init.sh-using script.
29174
29175 2010-05-16  Bruno Haible  <bruno@clisp.org>
29176
29177         Fix collision between gnulib's and libintl's printf replacements.
29178         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
29179         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
29180         (printf): When using GNU C, map the __printf__ function to rpl_printf
29181         via __asm__. When not using GNU C, define rpl_printf instead of
29182         __printf__.
29183         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
29184         commit.
29185         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
29186         commit.
29187         * m4/asm-underscore.m4: New file.
29188         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
29189         * modules/stdio (Files): Add m4/asm-underscore.m4.
29190         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
29191         Reported by Ben Pfaff.
29192
29193 2010-05-16  Bruno Haible  <bruno@clisp.org>
29194
29195         verify: Avoid skipping the test on openSUSE 11.0.
29196         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
29197
29198 2010-05-13  Bruno Haible  <bruno@clisp.org>
29199
29200         Avoid useless warnings from G++.
29201         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
29202         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
29203         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29204
29205 2010-05-11  Jim Meyering  <meyering@redhat.com>
29206
29207         maint.mk: tweak preceding change
29208         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
29209         regexps tighter by anchoring at EOL, and make the new group "shy"
29210         for slightly decreased overhead.
29211
29212 2010-05-11  Eric Blake  <eblake@redhat.com>
29213
29214         maint.mk: gnulib doesn't guarantee NSIG
29215         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
29216
29217 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29218
29219         test-pwrite.c: Remove unused variable declaration.
29220         * tests/test-pwrite.c (main): Remove read_buf declaration.
29221
29222         Remove useless test-pwrite.sh file.
29223         * tests/test-pwrite.sh: Delete file.
29224         * modules/pwrite-tests: Remove references.
29225         Reported by Bruno Haible.
29226
29227 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29228
29229         init.sh: fix a typo
29230         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
29231
29232 2010-05-10  Jim Meyering  <meyering@redhat.com>
29233
29234         maint.mk: avoid using a temporary file in the always-defined-macros check
29235         * top/maint.mk (.re-defmac): Remove rule.
29236         (gl_trap_): Remove definition.
29237         (sc_prohibit_always-defined_macros): Rewrite not to create and
29238         depend on a temporary file.  Instead, depend on GNU grep's ability
29239         to read a list of regular expressions from stdin when given "-f -".
29240
29241 2010-05-09  Bruno Haible  <bruno@clisp.org>
29242
29243         Update to GNU gettext 0.18, part 1.
29244         * m4/gettext.m4: Update to GNU gettext 0.18.
29245         * m4/intl.m4: Likewise.
29246         * m4/po.m4: Likewise.
29247         * modules/gettext (Files): Add m4/fcntl-o.m4.
29248         (configure.ac): Require gettext infrastructure from version 0.18.
29249
29250 2010-05-09  Jim Meyering  <meyering@redhat.com>
29251
29252         init.sh: enable MALLOC_PERTURB_
29253         * tests/init.sh: Enable glibc's malloc-perturbing option.
29254
29255         maint.mk: improve sc_cross_check_PATH_usage_in_tests
29256         With my recent change in init.sh from the two-line form:
29257             -#   : ${srcdir=.}
29258             -#   . "$srcdir/init.sh"; path_prepend_ .
29259             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
29260         I noticed that using the one-line form would cause this test
29261         to fail with a false-positive, or to stop working altogether,
29262         depending on whether help-version changed or all the tests did.
29263         * top/maint.mk (_hv_regex): Remove this definition.
29264         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
29265         (_hv_regex_strong): Use a stronger regex to check for conformance.
29266         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
29267         Give a separate diagnostic for lack of conforming use.
29268
29269         maint.mk: prohibit definition of symbols defined by gnulib
29270         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
29271         definition of symbols defined by gnulib.
29272
29273 2010-05-09  Bruno Haible  <bruno@clisp.org>
29274
29275         acl: Avoid test failure on Cygwin-hosted mingw.
29276         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
29277
29278 2010-05-09  Bruno Haible  <bruno@clisp.org>
29279
29280         error: Use system's fcntl function.
29281         * lib/error.c (fcntl): Undefine.
29282
29283 2010-05-09  Jim Meyering  <meyering@redhat.com>
29284
29285         verify: adjust formatting to be more consistent
29286         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
29287         argument-list '('s, and after one comma.
29288
29289 2010-05-09  Bruno Haible  <bruno@clisp.org>
29290
29291         error: More reliable output on mingw.
29292         * lib/error.c: Include <windows.h>.
29293         (is_open): New function.
29294         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
29295         defined.
29296
29297 2010-05-09  Bruno Haible  <bruno@clisp.org>
29298
29299         vasnprintf: Fix syntax errors in libintl build on mingw.
29300         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
29301         pad_ourselves and prec_ourselves after use.
29302
29303 2010-05-08  Bruno Haible  <bruno@clisp.org>
29304
29305         * lib/config.charset: Update comments for Cygwin 1.7.
29306         * lib/localcharset.c: Likewise.
29307
29308 2010-05-07  Jim Meyering  <meyering@redhat.com>
29309
29310         init.sh: improve comments
29311         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
29312         . "${srcdir=.}/init.sh"; path_prepend_ .
29313         Add a note about path_prepend_ and the alternative of using
29314         TESTS_ENVIRONMENT.
29315
29316 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
29317
29318         exclude: Unescape hashed patterns in wildcard mode.
29319         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
29320         to the hash list.
29321         * tests/test-exclude8.sh: New test case.
29322         * modules/exclude-tests: Add new test.
29323
29324 2010-05-05  Eric Blake  <eblake@redhat.com>
29325
29326         verify: automate tests
29327         * modules/verify-tests: New module.
29328         * tests/test-verify.sh: New file.
29329         * tests/test-verify.c: Guard each negative test with a unique id.
29330         Also avoid warning about unused left hand of comma expressions.
29331
29332 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
29333
29334         Further improvements to verify.h, suggested by Eric Blake.
29335         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
29336         the GL_* versions, to avoid collision with OpenGL.
29337         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
29338         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
29339         than testing merely whether it's defined.
29340
29341         Modify verify.h to pacify gcc -Wredundant_decls.
29342         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
29343         These use the prefix "GL_" since they're likely to be useful elsewhere.
29344         We may need to break them out into a different .h file.
29345         (__COUNTER__): Define to 0 if the compiler doesn't support it.
29346         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
29347         of verify_function__.
29348
29349 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29350
29351         Tests for module pwrite.
29352         * modules/pwrite-tests: New file.
29353         * tests/test-pwrite.sh: New file.
29354         * tests/test-pwrite.c: New file.
29355
29356         New module pwrite.
29357         * lib/unistd.in.h (pwrite): New declaration.
29358         * lib/pwrite.c: New file, from glibc with modifications.
29359         * m4/pwrite.m4: New file.
29360         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
29361         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
29362         REPLACE_PWRITE.
29363         * modules/pwrite: New file.
29364         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
29365         REPLACE_PWRITE.
29366         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
29367         * doc/posix-functions/pwrite.texi: Mention the new module.
29368
29369 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29370
29371         pread: Update documentation.
29372         * doc/posix-functions/pread.texi: Mention the 'pread' module.
29373
29374 2010-05-04  Eric Blake  <eblake@redhat.com>
29375
29376         docs: update cygwin progress
29377         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
29378         this bug.
29379         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
29380         Added in cygwin 1.7.2.
29381         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
29382         Likewise.
29383         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
29384         Likewise.
29385         * doc/glibc-functions/dup3.texi (dup3): Likewise.
29386         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
29387         * doc/glibc-functions/accept4.texi (accept4): Likewise.
29388         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
29389         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
29390         Mention nproc module.
29391         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
29392         bug in cygwin 1.7.5 addition.
29393         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
29394         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
29395         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
29396         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
29397         1.7.5.
29398         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
29399         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
29400         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
29401         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
29402         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
29403         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
29404         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
29405         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
29406         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
29407         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
29408         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
29409         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
29410         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
29411         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
29412         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
29413         Likewise.
29414         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
29415         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
29416         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
29417         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
29418         Likewise.
29419         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
29420         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
29421         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
29422         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
29423         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
29424         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
29425         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
29426         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
29427         Likewise.
29428         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
29429         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
29430         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
29431         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
29432         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
29433         Likewise.
29434         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
29435         Likewise.
29436         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
29437         Likewise.
29438         * doc/glibc-functions/xdrrec_endofrecord.texi
29439         (xdrrec_endofrecord): Likewise.
29440         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
29441         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
29442         Likewise.
29443         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
29444         Likewise.
29445
29446 2010-05-04  Jim Meyering  <meyering@redhat.com>
29447
29448         gendocs.sh: make its "-s FILE" option more useful
29449         * build-aux/gendocs.sh: When honoring the -s FILE option, update
29450         $PACKAGE to reflect the probably-different basename of "FILE".
29451
29452 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
29453
29454         bootstrap: don't ignore download_po_files failure
29455         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
29456         failure.
29457
29458 2010-05-03  Jim Meyering  <meyering@redhat.com>
29459
29460         maint.mk: allow to pass options to gendocs.sh
29461         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
29462         (gendocs_options_): New overridable variable.
29463
29464         gnu-web-doc-update: don't ignore configure or build failure
29465         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
29466
29467         announce-gen: backslash-escape '@'s in --help output
29468         * build-aux/announce-gen: Fix syntax errors.
29469
29470         maint.mk, announce-gen: allow project-specific announcement mail headers
29471         * top/maint.mk (translation_project_): Define default.
29472         (announcement_Cc_, announcement_mail_headers_): Likewise.
29473         (announcement): Invoke announce-gen with new --mail-headers option.
29474         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
29475
29476         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
29477         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
29478         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
29479         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
29480         line in the "err2" output file when running "make check" in verbose
29481         mode (i.e., with set -x enabled).
29482
29483 2010-05-03  Bruno Haible  <bruno@clisp.org>
29484
29485         wctob: Fix for weird platforms.
29486         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
29487         argument value.
29488
29489 2010-05-03  Jim Meyering  <meyering@redhat.com>
29490
29491         maint.mk: prohibit unwarranted use of <strings.h>
29492         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
29493         strings.h in a file that does not also use strcasecmp, strncasecmp,
29494         ffs or ffsll.
29495
29496         maint.mk: remove obsolete comments
29497         * top/maint.mk: Remove stale, commented-out rules.
29498
29499 2010-05-02  Bruno Haible  <bruno@clisp.org>
29500
29501         wcwidth: Declare also when it's aliased.
29502         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
29503         macro.
29504
29505 2010-05-02  Bruno Haible  <bruno@clisp.org>
29506
29507         Fix regression from 2010-04-25.
29508         * gnulib-tool (func_modules_transitive_closure): Check the status of
29509         all modules, not only of the tests that are of the form foo-tests where
29510         foo is a module.
29511
29512 2010-05-02  Bruno Haible  <bruno@clisp.org>
29513
29514         wctob: Work around nasty Cygwin 1.7.2 bug.
29515         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
29516         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
29517
29518 2010-05-01  Bruno Haible  <bruno@clisp.org>
29519
29520         fpurge: Sharper test.
29521         * tests/test-fpurge.c (main): Add one more ftell check.
29522         * modules/fpurge-tests (Depends-on): Add ftell.
29523         Suggested by Eric Blake.
29524
29525 2010-05-01  Bruno Haible  <bruno@clisp.org>
29526
29527         ftello: Another test.
29528         * tests/test-ftello3.c: New file.
29529         * modules/ftello-tests (Files): Add it.
29530         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
29531         MOSTLYCLEANFILES.
29532
29533         ftell: Another test.
29534         * tests/test-ftell3.c: New file.
29535         * modules/ftell-tests (Files): Add it.
29536         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
29537         MOSTLYCLEANFILES.
29538
29539 2010-05-01  Bruno Haible  <bruno@clisp.org>
29540
29541         ftell, ftello: Work around Solaris bug.
29542         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
29543         * lib/ftello.c: Include stdio-impl.h.
29544         (ftello): On Solaris, when _IOWRT is set, compute the result without
29545         looking at _IOREAD.
29546         * modules/ftello (Files): Add lib/stdio-impl.h.
29547         * doc/posix-functions/ftell.texi: Mention Solaris bug.
29548         * doc/posix-functions/ftello.texi: Likewise.
29549         Reported by Eric Blake.
29550
29551 2010-05-01  Bruno Haible  <bruno@clisp.org>
29552
29553         freading: Adapt to special meaning of _IOREAD flag on Solaris.
29554         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
29555         the _IOWRT flag is also set.
29556
29557 2010-05-01  Bruno Haible  <bruno@clisp.org>
29558
29559         Fix doc about a HP-UX stdio bug.
29560         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
29561         * doc/posix-functions/ftello.texi: Likewise.
29562
29563 2010-05-01  Bruno Haible  <bruno@clisp.org>
29564
29565         lseek test: Fix failure on Solaris.
29566         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
29567         output.
29568
29569 2010-04-30  Jim Meyering  <meyering@redhat.com>
29570
29571         bootstrap: don't ignore failure to generate po*/Makevars
29572         * build-aux/bootstrap (with_gettext): Don't ignore failure
29573         to create po/Makevars or runtime-po/Makevars.
29574
29575 2010-04-29  Eric Blake  <eblake@redhat.com>
29576
29577         headers: relax license to LGPLv2+
29578         * modules/fcntl-h (License): Relax license.
29579         * modules/getopt-posix (License): Likewise.
29580         * modules/locale (License): Likewise.
29581         * modules/math (License): Likewise.
29582         * modules/pty (License): Likewise.
29583         * modules/sched (License): Likewise.
29584         * modules/search (License): Likewise.
29585         * modules/spawn (License): Likewise.
29586         * modules/stdarg (License): Likewise.
29587         * modules/sysexits (License): Likewise.
29588
29589 2010-04-29  Jim Meyering  <meyering@redhat.com>
29590
29591         inttypes: relax license to LGPLv2+
29592         * modules/inttypes (License): Relax license.
29593
29594 2010-04-29  Simon Josefsson  <simon@josefsson.org>
29595
29596         * top/maint.mk (indent): Run twice to produce idempotent results.
29597
29598 2010-04-28  Bruno Haible  <bruno@clisp.org>
29599
29600         getdate: Generate getdate.c in the source directory.
29601         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
29602         MOSTLYCLEANFILES.
29603         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
29604
29605 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
29606
29607         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
29608         is not declared as a const *; avoid warnings in that case.
29609
29610 2010-04-28  Eric Blake  <eblake@redhat.com>
29611
29612         canonicalize-lgpl: avoid compiler warning
29613         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
29614         declaration' / 'extraneous semicolon' warning with some compilers.
29615         Reported by Andreas Gruenbacher.
29616
29617 2010-04-28  Jim Meyering  <meyering@redhat.com>
29618
29619         init.sh: ensure a more reliable exit status when exiting via trap
29620         * tests/init.sh (setup_): Don't rely on $? in signal handler.
29621         Inspired by patches from Dmitry V. Levin.
29622         Also trap on signal 3 (SIGQUIT).
29623
29624 2010-04-27  Bruno Haible  <bruno@clisp.org>
29625
29626         Update doc about utimes().
29627         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
29628         'utimens' module.
29629         Reported by Andreas Gruenbacher <agruen@suse.de>.
29630
29631 2010-04-27  Eric Blake  <eblake@redhat.com>
29632
29633         full-read, full-write: relax license
29634         * modules/full-read (License): Drop to LGPLv2+.
29635         * modules/full-write (License): Likewise.
29636         * modules/safe-read (License): Likewise.
29637         * modules/safe-write (License): Likewise.
29638
29639         pthread: mention library for linking
29640         * modules/pthread (Link): Mention $(LIB_PTHREAD).
29641
29642 2010-04-27  Jim Meyering  <meyering@redhat.com>
29643
29644         maint.mk: fix a bug introduced in last change
29645         * top/maint.mk (gl_assured_headers_): Now that all names are on
29646         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
29647         is not anchored to end of word, it should be adequate.
29648
29649         maint.mk: avoid side-effect in latest syntax-check
29650         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
29651         to run commands via $(shell...), and hence to incur cost only when
29652         the new rule is actually run.
29653
29654         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
29655         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
29656         and use that to create a regexp used to detect all #if HAVE_..._H uses.
29657         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
29658         (gl_assured_headers_, az_, AZ_): Define.
29659         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
29660
29661 2010-04-26  Jim Meyering  <jim@meyering.net>
29662             Bruno Haible  <bruno@clisp.org>
29663
29664         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
29665         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
29666         Prompted by an exchange with Gilles Espinasse.
29667
29668 2010-04-26  Jim Meyering  <meyering@redhat.com>
29669
29670         git-version-gen: aesthetic tweak
29671         * build-aux/git-version-gen: Use "$nl" rather than a literal,
29672         so that the command remains on a single line.
29673
29674 2010-04-26  Eric Blake  <eblake@redhat.com>
29675
29676         git-version-gen: allow use on EBCDIC hosts
29677         * build-aux/git-version-gen (dirty): Use literal rather than tying
29678         ourselves to ascii.
29679         Reported by Steve Goetze.
29680
29681 2010-04-25  Bruno Haible  <bruno@clisp.org>
29682
29683         netdb: Add support for GNULIB_POSIXCHECK.
29684         * lib/netdb.in.h: Include warn-on-use.h.
29685         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
29686         functions are used when GNULIB_POSIXCHECK is defined and the
29687         getaddrinfo module is not in use.
29688         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
29689         freeaddrinfo, gai_strerror, getnameinfo are declared.
29690         * modules/netdb (Depends-on): Add warn-on-use.
29691         (Makefile.am): Include warn-on-use.h in netdb.h.
29692
29693 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
29694
29695         build: avoid "make check" failure without .git/ directory
29696         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
29697         there is no .git/ directory.
29698
29699 2010-04-25  Bruno Haible  <bruno@clisp.org>
29700
29701         ptsname: Fix misuse of ttyname_r.
29702         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
29703         of errno.
29704
29705 2010-04-25  Bruno Haible  <bruno@clisp.org>
29706
29707         ttyname_r: Make it work on Solaris 10.
29708         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
29709         if the system function has the POSIX declaration. Test whether the
29710         function fails if the buffer is less than 128 bytes large.
29711         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
29712         system's ttyname_r function. Provide a reasonably large buffer.
29713         * modules/ttyname_r (Depends-on): Add extensions.
29714         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
29715
29716 2010-04-25  Bruno Haible  <bruno@clisp.org>
29717
29718         Use the 'extensions' module for some more functions on Solaris.
29719         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
29720         module.
29721         * doc/posix-functions/ctime_r.texi: Likewise.
29722         * doc/posix-functions/getgrgid_r.texi: Likewise.
29723         * doc/posix-functions/getgrnam_r.texi: Likewise.
29724         * doc/posix-functions/getpwnam_r.texi: Likewise.
29725         * doc/posix-functions/getpwuid_r.texi: Likewise.
29726         * doc/posix-functions/readdir_r.texi: Likewise.
29727         * doc/posix-functions/sigwait.texi: Likewise.
29728         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
29729         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
29730
29731 2010-04-25  Bruno Haible  <bruno@clisp.org>
29732
29733         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
29734         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
29735         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
29736         * lib/ttyname_r.c: Include <limits.h>.
29737         (ttyname_r): Define using the system's ttyname_r function, if it exists
29738         and not on Solaris.
29739         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
29740         set.
29741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
29742         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
29743         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
29744         Reported by Simon Josefsson.
29745
29746 2010-04-25  Bruno Haible  <bruno@clisp.org>
29747
29748         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
29749         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
29750         * doc/posix-functions/ctime_r.texi: Likewise.
29751         * doc/posix-functions/getgrgid_r.texi: Likewise.
29752         * doc/posix-functions/getgrnam_r.texi: Likewise.
29753         * doc/posix-functions/getlogin_r.texi: Likewise.
29754         * doc/posix-functions/getpwnam_r.texi: Likewise.
29755         * doc/posix-functions/getpwuid_r.texi: Likewise.
29756         * doc/posix-functions/readdir_r.texi: Likewise.
29757         * doc/posix-functions/sigwait.texi: Likewise.
29758         * doc/posix-functions/ttyname_r.texi: Likewise.
29759         Reported by Simon Josefsson.
29760
29761 2010-04-25  Bruno Haible  <bruno@clisp.org>
29762
29763         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
29764         * gnulib-tool (func_usage): Document that --with-*-tests options apply
29765         also to --create-testdir.
29766         (func_acceptable): Don't consider the status of *-tests modules here.
29767         (func_modules_transitive_closure): Consider it here, before including a
29768         test module.
29769         (func_import, func_create_testdir): Set inc_all_direct_tests,
29770         inc_all_indirect_tests.
29771         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
29772         --create-testdir and --create-megatestdir.
29773
29774 2010-04-25  Bruno Haible  <bruno@clisp.org>
29775
29776         gnulib-tool: Add --without-*-tests options.
29777         * gnulib-tool (func_usage): Document the --without-*-tests options.
29778         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
29779         excl_unportable_tests): New variables.
29780         Fail if they are specified with --import or --update.
29781         (func_acceptable): Respect the excl_*_tests variables.
29782         (func_import): Set the excl_*_tests variables to empty.
29783
29784 2010-04-25  Simon Josefsson  <simon@josefsson.org>
29785             Bruno Haible  <bruno@clisp.org>
29786
29787         Work around a MacOS X 10.4 bug with openpty.
29788         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
29789         * tests/test-openpty.c (main): Close the master side explicitly.
29790
29791 2010-04-25  Bruno Haible  <bruno@clisp.org>
29792
29793         strnlen: Fix a C++ test error on MacOS X and Solaris.
29794         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
29795         the function is not declared.
29796         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
29797         Simon Josefsson.
29798
29799 2010-04-24  Bruno Haible  <bruno@clisp.org>
29800
29801         Avoid a gcc warning.
29802         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
29803         of correct type for %08lx directive.
29804         Reported by Eric Blake.
29805
29806 2010-04-24  Bruno Haible  <bruno@clisp.org>
29807
29808         vasnprintf: Correct errno value in case of out-of-memory.
29809         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
29810         or sprintf. Use the errno value from SNPRINTF or sprintf.
29811         Reported by Ian Beckwith <ianb@erislabs.net>.
29812
29813 2010-04-24  Bruno Haible  <bruno@clisp.org>
29814
29815         ansi-c++-opt: Find correct compiler when cross-compiling.
29816         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
29817         AC_CHECK_PROGS.
29818         Reported by Simon Josefsson.
29819
29820 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
29821
29822         vc-list-files: Add support for subversion
29823         * build-aux/vc-list-files: Use "svn list" to generate the list of
29824         files controlled by subversion.
29825
29826 2010-04-23  Jim Meyering  <meyering@redhat.com>
29827
29828         vc-list-files tests: convert to use init.sh
29829         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
29830         path_prepend_.
29831         Use Exit, not exit.
29832         Use skip_ rather than open coding it.
29833         Remove trap set-up and compare definitions.
29834         * tests/test-vc-list-files-git.sh: Likewise.
29835         * modules/vc-list-files-tests (Files): Add tests/init.sh.
29836
29837 2010-04-22  Simon Josefsson  <simon@josefsson.org>
29838
29839         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
29840         backup files.
29841
29842 2010-04-21  Simon Josefsson  <simon@josefsson.org>
29843
29844         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
29845
29846 2010-04-20  Eric Blake  <eblake@redhat.com>
29847
29848         tests: be robust to ignored SIGPIPE
29849         * tests/test-select-in.sh: Consume all output.
29850         * tests/test-lseek.sh: Check correct exit status, while avoiding
29851         EPIPE.
29852
29853 2010-04-20  Simon Josefsson  <simon@josefsson.org>
29854             Bruno Haible  <bruno@clisp.org>
29855
29856         visibility: Don't use -fvisibility if it leads to a warning.
29857         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
29858         yes, don't pretend that visibility works if it leads to a warning.
29859         Reported by Mike Gran <spk121@yahoo.com>.
29860
29861 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
29862
29863         * build-aux/bootstrap: Use "git -h" for testing for supported options
29864         instead of "git --help".  The short-form option only shows a summary,
29865         and doesn't layout the full man page.  Grep for the full option name
29866         in the summary, too.
29867
29868 2010-04-19  Bruno Haible  <bruno@clisp.org>
29869
29870         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
29871         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
29872         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
29873         mention of RELOCATABLE_STRIP.
29874         Reported by Sylvain Beucler <beuc@beuc.net>.
29875
29876 2010-04-19  Bruno Haible  <bruno@clisp.org>
29877
29878         * lib/diffseq.h: Fix typo in comment.
29879         Reported by Eric Blake.
29880
29881 2010-04-19  Bruno Haible  <bruno@clisp.org>
29882
29883         ioctl: Move autoconf macro to a .m4 file.
29884         * m4/ioctl.m4: New file, extracted from modules/ioctl.
29885         * modules/ioctl (Files): Add it.
29886         (configure.ac): Simply invoke gl_FUNC_IOCTL.
29887         Reported by Ian Beckwith <ianb@erislabs.net>.
29888
29889 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
29890             Bruno Haible  <bruno@clisp.org>
29891
29892         diffseq: Accommodate use-case with abstract arrays.
29893         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
29894         is not defined.
29895         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
29896         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
29897
29898 2010-04-18  Bruno Haible  <bruno@clisp.org>
29899
29900         * doc/posix-headers/stdbool.texi: More precise wording.
29901
29902 2010-04-17  Jim Meyering  <meyering@redhat.com>
29903
29904         maint.mk: use gnu-style indentation in an embedded perl script
29905         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
29906         Rename variable: s/two/last_two_bytes/
29907
29908 2010-04-16  Eric Blake  <eblake@redhat.com>
29909
29910         test-stdbool: skip test that fails with Solaris CC
29911         * tests/test-stdbool.c (f): Skip test that causes compilation
29912         error under buggy C++ compiler.
29913         * lib/stdbool.in.h: Document the limitation.
29914         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
29915
29916         setenv: allow compilation with C++
29917         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
29918         register keyword.
29919
29920         stdint: allow test to pass with C++
29921         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
29922
29923         getopt: allow compilation with C++
29924         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
29925         struct.
29926         * lib/getopt.c (_getopt_internal_r): Use correct type.
29927         Reported by Dagobert Michelson, via Joel E. Denny.
29928
29929 2010-04-16  Bruno Haible  <bruno@clisp.org>
29930
29931         Override netdb.h always.
29932         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
29933         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
29934         Reported by Ludovic Courtès <ludo@gnu.org>.
29935
29936 2010-04-15  Bruno Haible  <bruno@clisp.org>
29937
29938         openpty: Fix mistake from 2010-03-21.
29939         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
29940         Reported by Simon Josefsson.
29941
29942 2010-04-15  Eric Blake  <eblake@redhat.com>
29943
29944         test-forkpty: fix expected signature
29945         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
29946         Reported by Simon Josefsson.
29947
29948 2010-04-15  Jim Meyering  <meyering@redhat.com>
29949
29950         maint.mk: texinfo_suffix_re_: correct the default regexp
29951         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
29952
29953         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
29954         make it configurable via texinfo_suffix_re_.
29955
29956 2010-04-14  Eric Blake  <eblake@redhat.com>
29957
29958         strtok_r: relax license to LGPLv2+
29959         * modules/strtok_r (License): Relax license.
29960         Reported by Matthias Bolte.
29961
29962 2010-04-14  Simon Josefsson  <simon@josefsson.org>
29963
29964         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
29965         version 1.4.4 by default instead of requiring the libgcrypt
29966         version used during build.  This makes it possible to use the
29967         application with older but still binary compatible libgcrypt
29968         versions.
29969
29970 2010-04-13  Eric Blake  <eblake@redhat.com>
29971
29972         getopt-gnu: match recent glibc fixes and posix ruling
29973         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
29974         '+' handling, when requesting extensions.
29975         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
29976         'W;' handling.
29977         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
29978         * doc/posix-functions/getopt.texi (getopt): Document this.
29979         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29980         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29981         Likewise.
29982
29983         getopt: merge bug fixes from glibc
29984         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
29985         diagnostics.  Honor '+:' correctly.  Reject ';'.
29986
29987         getopt-posix: detect MacOS bug
29988         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
29989         optind when missing a required argument.
29990         * doc/posix-functions/getopt.texi (getopt): Document the bug.
29991         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29992         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29993         Likewise.
29994
29995         getopt-posix: avoid spurious failure on Solaris
29996         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
29997         an indicator that setting optind=1 is sufficient for reset.
29998
29999         getopt-posix: avoid spurious failure on FreeBSD
30000         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
30001         in POSIX mode, since the m4 test uses it.
30002
30003         gnulib-tool: silence warning on BSD sh
30004         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
30005
30006 2010-04-13  Jim Meyering  <meyering@redhat.com>
30007
30008         doc: users.txt: GNU patch now uses gnulib
30009         * users.txt: Add patch.
30010
30011 2010-04-12  Jim Meyering  <meyering@redhat.com>
30012
30013         maint.mk: generate more concise timing data for syntax-check rules
30014         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
30015         " done" from each line that reports a syntax-check test duration.
30016
30017 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
30018
30019         git-version-gen: use "git update-index..." rather than "git status"
30020         * build-aux/git-version-gen: Use git update-index --refresh, not
30021         "git status".  With some versions of git, "git status" would fail
30022         to update the index and result in an unwarranted "-dirty" suffix.
30023
30024 2010-04-11  Jim Meyering  <meyering@redhat.com>
30025
30026         openat: correct formatting (no semantic change)
30027         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
30028         Suggested by Bruno Haible.
30029
30030 2010-04-11  Bruno Haible  <bruno@clisp.org>
30031
30032         Stricter declaration checking in testdirs.
30033         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30034         If for_tests is true, augment AM_CPPFLAGS to define
30035         GNULIB_STRICT_CHECKING.
30036         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
30037         GNULIB_STRICT_CHECKING is defined, verify that the function is
30038         declared.
30039
30040 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
30041             Bruno Haible  <bruno@clisp.org>
30042
30043         libunistring: Improve configure output.
30044         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
30045         Don't say "consider installing GNU libunistring" when checking again
30046         with libiconv.
30047
30048 2010-04-11  Bruno Haible  <bruno@clisp.org>
30049
30050         libunistring: Correct value of $LTLIBUNISTRING.
30051         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
30052         correct the value of $LTLIBUNISTRING.
30053
30054 2010-04-11  Bruno Haible  <bruno@clisp.org>
30055
30056         havelib: Add static libraries to LIBS in the right order.
30057         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
30058         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
30059
30060 2010-04-11  Bruno Haible  <bruno@clisp.org>
30061
30062         libunistring: Detect libunistring also when it depends on libiconv.
30063         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
30064         the second AC_LIB_HAVE_LINKFLAGS invocation.
30065
30066 2010-04-11  James Youngman  <jay@gnu.org>
30067
30068         close-stream: declare local scalars to be "const"
30069         * lib/close-stream.c (close_stream): Make boolean variables const
30070         to document the fact that we set but do not change them.
30071
30072 2010-04-11  Bruno Haible  <bruno@clisp.org>
30073
30074         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
30075
30076 2010-04-11  Jim Meyering  <meyering@redhat.com>
30077
30078         maint.mk: don't include dist-check.mk
30079         * top/maint.mk: Remove bogus include directive.
30080
30081         maint.mk: improve empty-line-at-EOF check
30082         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
30083         solution, rather than tail+Perl-based one.  The latter would read
30084         a few kilobytes from the end of each file, and did not handle empty
30085         files properly.
30086
30087         maint.mk: print the elapsed time for each syntax-check rule
30088         * top/maint.mk (sc_m_rules_): Save start time in a file.
30089         (sc_z_rules_): New rules: remove temp file and print elapsed time.
30090         (local-check): Interpose the .z rules
30091
30092 2010-04-11  Jim Meyering  <meyering@redhat.com>
30093
30094         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
30095         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
30096         empty file with one that ends in an empty line.
30097
30098 2010-04-10  Bruno Haible  <bruno@clisp.org>
30099
30100         mkdir: Make it work on mingw64.
30101         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
30102         * lib/mkdir.c: Update comment.
30103         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
30104
30105 2010-04-10  Bruno Haible  <bruno@clisp.org>
30106
30107         Don't override improved macro from newer autoconf.
30108         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
30109         autoconf >= 2.62.
30110         Reported by Joel E. Denny <jdenny@clemson.edu>.
30111
30112 2010-04-10  Jim Meyering  <meyering@redhat.com>
30113
30114         maint.mk: new syntax-check rule: prohibit empty lines at end of file
30115         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
30116
30117         maint.mk: correct a diagnostic
30118         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
30119         in diagnostic; now use $prohibit.
30120
30121 2010-04-10  Bruno Haible  <address@hidden>
30122
30123         fchownat: Fix a C++ test error on Solaris 8.
30124         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
30125         the function does not exist.
30126
30127 2010-04-10  Bruno Haible  <bruno@clisp.org>
30128
30129         vasnprintf: Add more tests.
30130         * tests/test-vasnprintf-posix.c: Include <errno.h>.
30131         (test_function): Test converting an invalid wide string.
30132
30133         vasnprintf: Correct handling of unconvertible wide string arguments.
30134         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
30135         VASNPRINTF.
30136         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
30137         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
30138         smaller than the expected maximum need for the directive. Set errno to
30139         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
30140         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
30141         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
30142         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
30143         * modules/vasnprintf (Files): Add m4/printf.m4.
30144         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30145
30146 2010-04-10  Bruno Haible  <bruno@clisp.org>
30147
30148         vasnprintf: Fix crash in %ls directive.
30149         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
30150         string is passed as argument to %ls, with no precision and no width.
30151         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30152
30153 2010-04-10  Bruno Haible  <bruno@clisp.org>
30154
30155         vasnprintf: Fix multiple test failures on mingw.
30156         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
30157         _snprintf, or snwprintf, not _snwprintf.
30158
30159 2010-04-10  Bruno Haible  <bruno@clisp.org>
30160
30161         write: Fix a C++ test error on mingw.
30162         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
30163
30164 2010-04-10  Bruno Haible  <bruno@clisp.org>
30165
30166         vasnprintf test: Reduce code duplication.
30167         * tests/test-vasnprintf.c (test_function): New function, extracted from
30168         test_vasnprintf.
30169         (test_vasnprintf, test_asnprintf): Invoke it.
30170
30171 2010-04-10  Bruno Haible  <bruno@clisp.org>
30172
30173         strnlen: Fix warning in C++ mode on MacOS X.
30174         * lib/string.in.h (strnlen): Use the modern idiom.
30175         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
30176         defining strnlen as a macro already in <config.h>.
30177         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30178         REPLACE_STRNLEN.
30179         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
30180         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30181
30182 2010-04-08  James Youngman  <jay@gnu.org>
30183
30184         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
30185         the example.
30186
30187 2010-04-09  Jim Meyering  <meyering@redhat.com>
30188
30189         maint.mk: print better diagnostic when there is no $(_hv_file)
30190         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
30191         announce that when $(_hv_file) (aka help-version) does not exist.
30192
30193         init.sh: run tr in the "C" locale to avoid multibyte interpretation
30194         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
30195         not try to interpret its random input bytes.  Jarno Rajahalme reported
30196         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
30197         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
30198         (mktempd_): Likewise, just in case.
30199
30200         ftruncate: add two years to projected module removal date: 2012
30201         * m4/ftruncate.m4: Adjust comments.
30202
30203         ftruncate: mark module as obsolete; even MinGW provides it, now
30204         * modules/ftruncate (Status): Obsolete.
30205         (Notice): Say that.
30206         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
30207         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
30208
30209 2010-04-08  Bruno Haible  <bruno@clisp.org>
30210
30211         Fix side effects from tests-related modules.
30212         * modules/dprintf-posix (Comment): New section.
30213         * modules/fprintf-posix (Comment): Likewise.
30214         * modules/obstack-printf-posix (Comment): Likewise.
30215         * modules/printf-posix (Comment): Likewise.
30216         * modules/snprintf-posix (Comment): Likewise.
30217         * modules/sprintf-posix (Comment): Likewise.
30218         * modules/vasnprintf-posix (Comment): Likewise.
30219         * modules/vasprintf-posix (Comment): Likewise.
30220         * modules/vdprintf-posix (Comment): Likewise.
30221         * modules/vfprintf-posix (Comment): Likewise.
30222         * modules/vprintf-posix (Comment): Likewise.
30223         * modules/vsnprintf-posix (Comment): Likewise.
30224         * modules/vsprintf-posix (Comment): Likewise.
30225         * modules/xprintf-posix (Comment): Likewise.
30226         * modules/xvasprintf-posix (Comment): Likewise.
30227         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
30228         * modules/floorf-tests (Depends-on): Likewise.
30229         * modules/round-tests (Depends-on): Likewise.
30230         * modules/roundf-tests (Depends-on): Likewise.
30231         * modules/trunc-tests (Depends-on): Likewise.
30232         * modules/truncf-tests (Depends-on): Likewise.
30233         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
30234         'fprintf-posix' module is not present.
30235         * tests/test-floorf2.c (check): Likewise.
30236         * tests/test-trunc2.c (check): Likewise.
30237         * tests/test-truncf2.c (check): Likewise.
30238         * tests/test-round2.c (equal): Likewise.
30239         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30240
30241 2010-04-07  Karl Berry  <karl@gnu.org>
30242
30243         * config/srclist.txt,
30244         * config/srclistvars.sh,
30245         * config/srclist-update: doc fixes.
30246
30247 2010-04-07  Jim Meyering  <meyering@redhat.com>
30248
30249         maint.mk: add a PATH crosschecking syntax-check rule
30250         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
30251         Useful if you use a test like the one in help-version (coreutils,
30252         diffutils, grep, gzip) that ensures $(VERSION) matches what is
30253         printed by prog --version.
30254
30255 2010-04-06  Bruno Haible  <bruno@clisp.org>
30256
30257         Fix link error on mingw.
30258         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
30259         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
30260
30261 2010-04-06  Bruno Haible  <bruno@clisp.org>
30262
30263         Assume rmdir exists.
30264         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
30265
30266 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
30267
30268         doc: update users.txt
30269         * users.txt: Add gcal.
30270
30271 2010-04-06  Jim Meyering  <meyering@redhat.com>
30272
30273         init.sh: simply unset TMPDIR rather than risking env -i
30274         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
30275         although it probably works fine on all Unix-based systems, some
30276         systems (Cygwin?) cannot tolerate a totally cleared environment.
30277         Suggestion from Eric Blake.
30278
30279 2010-04-06  Jim Meyering  <meyering@redhat.com>
30280
30281         init.sh: portability fix: use env's POSIX-specified -i option not -u
30282         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
30283         than unportable env -u.  Solaris 5.11's env lacks support for -u.
30284
30285 2010-04-05  Bruno Haible  <bruno@clisp.org>
30286
30287         btowc: Work around Cygwin 1.7.2 bug.
30288         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
30289         does not map NUL to 0.
30290         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
30291
30292 2010-04-05  Bruno Haible  <bruno@clisp.org>
30293
30294         Make the multithread modules work on Cygwin 1.7.2.
30295         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
30296         imported symbols can be declared weak, so that it returns "no" on
30297         Cygwin 1.7.2.
30298
30299 2010-04-05  Bruno Haible  <bruno@clisp.org>
30300
30301         Use the module 'strncat'.
30302         * modules/unistr/u8-strncat (Depends-on): Add strncat.
30303
30304         Tests for module 'strncat'.
30305         * modules/strncat-tests: New file.
30306         * tests/test-strncat.c: New file.
30307
30308         New module 'strncat'.
30309         * lib/string.in.h (strncat): New declaration.
30310         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
30311         * m4/strncat.m4: New file, based on m4/memchr.m4.
30312         * modules/strncat: New file.
30313         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
30314         is declared.
30315         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
30316         REPLACE_STRNCAT.
30317         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
30318         REPLACE_STRNCAT.
30319         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
30320         module.
30321         * tests/test-string-c++.cc: Check signature of strncat.
30322
30323 2010-04-05  Jim Meyering  <meyering@redhat.com>
30324
30325         xstrtoumax-tests: convert to use init.sh
30326         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
30327         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30328         Use Exit, not exit.
30329         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30330
30331         xstrtoimax-tests: convert to use init.sh
30332         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
30333         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30334         Use Exit, not exit.
30335         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30336
30337 2010-04-05  Bruno Haible  <bruno@clisp.org>
30338
30339         sys_socket: Avoid #define replacements in C++ mode.
30340         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
30341         warning to the function if possible, rather than #defining the symbol
30342         to a dysfunctional alias.
30343
30344 2010-04-05  Bruno Haible  <bruno@clisp.org>
30345
30346         fseeko: Fix C++ test error on mingw.
30347         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
30348         gl_FUNC_FSEEKO.
30349         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
30350         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
30351         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
30352         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
30353
30354 2010-04-05  Bruno Haible  <bruno@clisp.org>
30355
30356         duplocale: Improve test output.
30357         * tests/test-duplocale.c (main): Print reason for skipped test.
30358
30359 2010-04-05  Bruno Haible  <bruno@clisp.org>
30360
30361         Assume rmdir exists.
30362         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
30363         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
30364
30365 2010-04-05  Bruno Haible  <bruno@clisp.org>
30366
30367         Fix link error on Solaris 8 with cc.
30368         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
30369
30370 2010-04-05  Bruno Haible  <bruno@clisp.org>
30371
30372         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30373         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
30374
30375 2010-04-05  Bruno Haible  <bruno@clisp.org>
30376
30377         vasprintf: Update documentation.
30378         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
30379
30380 2010-04-05  Bruno Haible  <bruno@clisp.org>
30381
30382         ptsname: Improve test.
30383         * tests/test-ptsname.c (main): Also try the various master names of BSD
30384         systems.
30385
30386 2010-04-05  Bruno Haible  <bruno@clisp.org>
30387
30388         memchr: Avoid a possible C++ test error.
30389         * lib/string.in.h (memchr): Provide declaration if function is missing.
30390         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
30391         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
30392         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
30393         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
30394
30395 2010-04-05  Bruno Haible  <bruno@clisp.org>
30396
30397         strtok_r: Improve idiom.
30398         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
30399         AC_LIBOBJ is used.
30400
30401 2010-04-05  Bruno Haible  <bruno@clisp.org>
30402
30403         strdup: Improve idiom.
30404         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
30405         AC_LIBOBJ is used.
30406         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
30407         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
30408         when AC_LIBOBJ is used.
30409
30410 2010-04-05  Bruno Haible  <bruno@clisp.org>
30411
30412         mbsinit, mbrtowc, wcrtomb: Improve idioms.
30413         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
30414         don't set REPLACE_MBSINIT to 1.
30415         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
30416         don't set REPLACE_MBRTOWC to 1.
30417         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
30418         exist, don't set REPLACE_MBSRTOWCS to 1.
30419         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
30420         exist, don't set REPLACE_MBSNRTOWCS to 1.
30421         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
30422         don't set REPLACE_WCRTOMB to 1.
30423         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
30424         exist, don't set REPLACE_WCSRTOMBS to 1.
30425         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
30426         exist, don't set REPLACE_WCSNRTOMBS to 1.
30427
30428 2010-04-05  Bruno Haible  <bruno@clisp.org>
30429
30430         ldexpl: Improve idiom.
30431         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
30432         make sure to set HAVE_DECL_LDEXPL to 0.
30433
30434 2010-04-05  Jim Meyering  <meyering@redhat.com>
30435
30436         xstrtol-tests: convert to use init.sh
30437         * modules/xstrtol-tests (Files): Add tests/init.sh.
30438         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30439         Use Exit, not exit.
30440         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30441
30442         atexit-tests: convert to use init.sh
30443         * modules/atexit-tests (Files): Add tests/init.sh.
30444         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30445         Use Exit, not exit.
30446         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30447
30448         init.sh: fix typo
30449         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
30450
30451         init.sh: make it easier for a test script to write to the tty, ...
30452         when using automake's parallel-tests mode.
30453         * tests/init.sh (stderr_fileno_): Define overridable variable.
30454         (warn_): New function, to use it.
30455         (fail_, skip_, framework_failure_): Use warn_.
30456
30457 2010-04-04  Bruno Haible  <bruno@clisp.org>
30458
30459         btowc: Avoid warning.
30460         * lib/btowc.c: Include <stdlib.h>.
30461         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
30462
30463 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30464             Bruno Haible  <bruno@clisp.org>
30465
30466         wchar: Port to NetBSD 1.5.
30467         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
30468         * lib/wctype.in.h (WEOF): Likewise.
30469
30470 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30471             Bruno Haible  <bruno@clisp.org>
30472
30473         Port extended stdio to NetBSD 1.5.
30474         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
30475         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
30476         older.
30477
30478 2010-04-04  Bruno Haible  <bruno@clisp.org>
30479
30480         string: Remove unused substitution.
30481         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
30482         HAVE_DECL_STRERROR.
30483         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
30484
30485 2010-04-04  Bruno Haible  <bruno@clisp.org>
30486
30487         strtod: Avoid a possible C++ test error.
30488         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
30489         set REPLACE_STRTOD.
30490
30491 2010-04-04  Bruno Haible  <bruno@clisp.org>
30492
30493         strerror: Update documentation.
30494         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
30495
30496 2010-04-04  Bruno Haible  <bruno@clisp.org>
30497
30498         stdio: Fix some C++ test errors on Solaris 8 with GCC.
30499         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
30500         _GL_CXXALIAS_SYS_CAST.
30501
30502 2010-04-04  Bruno Haible  <bruno@clisp.org>
30503
30504         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30505         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
30506         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
30507         REPLACE_FREXPL to 1.
30508         * doc/posix-functions/frexpl.texi: Update documentation.
30509
30510 2010-04-04  Bruno Haible  <bruno@clisp.org>
30511
30512         math: Fix some C++ test errors on Solaris 8 and Cygwin.
30513         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
30514
30515 2010-04-04  Bruno Haible  <bruno@clisp.org>
30516
30517         Implement nanosleep for native Windows.
30518         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
30519
30520 2010-04-04  Bruno Haible  <bruno@clisp.org>
30521
30522         math: Fix some C++ test errors on Solaris 8.
30523         * lib/math.in.h (truncf, trunc): Use simpler idiom.
30524
30525 2010-04-04  Bruno Haible  <bruno@clisp.org>
30526
30527         math: Fix some C++ test errors on Cygwin.
30528         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
30529         truncl): Provide declaration if the system does not have it.
30530         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
30531         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
30532         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
30533         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
30534         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
30535         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
30536         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
30537         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
30538         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
30539         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
30540         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
30541         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
30542         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
30543         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
30544         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
30545         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
30546         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
30547         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
30548         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
30549         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
30550         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
30551         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
30552
30553 2010-04-04  Bruno Haible  <bruno@clisp.org>
30554
30555         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
30556         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
30557         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
30558         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30559         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
30560         * m4/isinf.m4 (gl_ISINF): Likewise.
30561         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30562
30563 2010-04-04  Bruno Haible  <bruno@clisp.org>
30564
30565         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
30566         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30567
30568 2010-04-04  Bruno Haible  <bruno@clisp.org>
30569
30570         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
30571         * modules/tmpfile (configure.ac): Update.
30572
30573         tmpfile: Fix C++ test error on mingw.
30574         * lib/stdio.in.h (tmpfile): New declaration.
30575         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
30576         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
30577         * modules/tmpfile (Depends-on): Add stdio.
30578         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
30579         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
30580         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
30581         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
30582         REPLACE_TMPFILE.
30583         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
30584
30585 2010-04-04  Bruno Haible  <bruno@clisp.org>
30586
30587         ioctl: Fix C++ test error on mingw.
30588         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
30589         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
30590         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
30591
30592 2010-04-03  Bruno Haible  <bruno@clisp.org>
30593
30594         wcwidth: Fix C++ test error on mingw.
30595         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
30596         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
30597         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
30598
30599 2010-04-03  Bruno Haible  <bruno@clisp.org>
30600
30601         nanosleep: Fix C++ test error on mingw.
30602         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
30603         * lib/time.in.h (nanosleep): Use modern idiom.
30604         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
30605         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
30606         REPLACE_NANOSLEEP to 1.
30607         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
30608         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
30609
30610 2010-04-03  Bruno Haible  <bruno@clisp.org>
30611
30612         strptime: Fix C++ test error on mingw.
30613         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
30614         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
30615         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
30616         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
30617         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
30618         not REPLACE_STRPTIME.
30619         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
30620         REPLACE_STRPTIME.
30621
30622 2010-04-03  Bruno Haible  <bruno@clisp.org>
30623
30624         timegm: Fix C++ test error on mingw.
30625         * lib/time.in.h (timegm): Use modern idiom.
30626         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
30627         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
30628         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
30629         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
30630
30631 2010-04-03  Bruno Haible  <bruno@clisp.org>
30632
30633         timegm: Assume declaration if function exists.
30634         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
30635         if it exists. Don't clobber ac_cv_func_timegm.
30636
30637 2010-04-03  Bruno Haible  <bruno@clisp.org>
30638
30639         time_r: Fix C++ test error on mingw.
30640         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
30641         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
30642         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
30643         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
30644         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
30645
30646 2010-04-03  Bruno Haible  <bruno@clisp.org>
30647
30648         time_r: Minor updates.
30649         * modules/time_r (Description): Mention the provided functions.
30650         * lib/time_r.c: Don't include <string.h>.
30651         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
30652         * doc/posix-functions/localtime_r.texi: Likewise.
30653
30654 2010-04-03  Bruno Haible  <bruno@clisp.org>
30655
30656         time: Fix regression introduced on 2010-03-08.
30657         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
30658         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
30659
30660 2010-04-03  Jim Meyering  <meyering@redhat.com>
30661
30662         maint.mk: don't silently disable project-specific syntax-check rules
30663         * top/maint.mk (_prohibit_regexp): Define, to help people realize
30664         that they need to convert their project-specific syntax-check rules
30665         to use the new _sc_search_regexp.
30666
30667 2010-04-03  Bruno Haible  <bruno@clisp.org>
30668
30669         fchdir: Fix regression introduced on 2010-03-08.
30670         * lib/unistd.in.h (fchdir): Fix declaration.
30671         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
30672         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
30673         REPLACE_FCHDIR.
30674         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
30675         REPLACE_FCHDIR.
30676
30677 2010-04-03  Bruno Haible  <bruno@clisp.org>
30678
30679         getpagesize: Fix C++ test error on mingw.
30680         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
30681         system does not declare the function.
30682         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
30683         declared.
30684         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30685         HAVE_DECL_GETPAGESIZE.
30686         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
30687
30688 2010-04-03  Bruno Haible  <bruno@clisp.org>
30689
30690         stdio: Make C++ tests work on mingw.
30691         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
30692         does not declare the function.
30693
30694 2010-04-03  Bruno Haible  <bruno@clisp.org>
30695
30696         ftello: Fix C++ test error on mingw.
30697         * lib/stdio.in.h (ftello): Use modern idiom.
30698         * lib/ftello.c (ftello): Renamed from rpl_ftello.
30699         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
30700         is missing and that it needs to be replaced.
30701         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
30702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
30703         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
30704
30705 2010-04-03  Bruno Haible  <bruno@clisp.org>
30706
30707         fseeko: Fix C++ test error on mingw.
30708         * lib/stdio.in.h (fseeko): Use modern idiom.
30709         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
30710         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
30711         is missing and that it needs to be replaced.
30712         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
30713         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
30714         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
30715
30716 2010-04-03  Bruno Haible  <bruno@clisp.org>
30717
30718         mkstemp: Fix C++ test error on mingw.
30719         * lib/stdlib.in.h (mkstemp): Use modern idiom.
30720         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
30721         function is missing and that it needs to be replaced.
30722         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
30723         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
30724
30725 2010-04-03  Bruno Haible  <bruno@clisp.org>
30726
30727         stpncpy: Fix C++ test error on mingw.
30728         * lib/string.in.h (stpncpy): Use modern idiom.
30729         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
30730         function is missing and that it needs to be replaced.
30731         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30732         REPLACE_STPNCPY.
30733         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
30734
30735 2010-04-03  Bruno Haible  <bruno@clisp.org>
30736
30737         sys_stat: Fix C++ test error on mingw.
30738         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
30739         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
30740
30741 2010-04-03  Bruno Haible  <bruno@clisp.org>
30742
30743         pty: Update doc.
30744         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
30745
30746 2010-04-03  Bruno Haible  <bruno@clisp.org>
30747
30748         unistd: Fix C++ test error on mingw.
30749         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
30750
30751 2010-04-03  Bruno Haible  <bruno@clisp.org>
30752
30753         Update doc regarding mingw.
30754         * doc/glibc-functions/openpty.texi: Update regarding mingw.
30755         * doc/glibc-functions/login_tty.texi: Likewise.
30756         * doc/glibc-functions/forkpty.texi: Likewise.
30757
30758 2010-04-03  Bruno Haible  <bruno@clisp.org>
30759
30760         stdlib: Avoid compilation failure of c-strtold on mingw.
30761         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
30762
30763 2010-04-03  Bruno Haible  <bruno@clisp.org>
30764
30765         locale: Make C++ tests work on Cygwin and mingw.
30766         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
30767         cannot provide the function.
30768         Reported by Simon Josefsson.
30769
30770 2010-04-03  Bruno Haible  <bruno@clisp.org>
30771
30772         localename: Port to MacOS X 10.6.
30773         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
30774         memory layout of the locales in MacOS X 10.6 as well.
30775         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
30776
30777 2010-04-02  Bruno Haible  <bruno@clisp.org>
30778
30779         gnulib-tool: Ensure that long-running tests are executed last.
30780         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
30781         running tests after the one for the other tests.
30782
30783 2010-04-02  Bruno Haible  <bruno@clisp.org>
30784
30785         gnulib-tool: Ensure the tests in the main directory are executed first.
30786         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
30787         start with the current directory.
30788
30789 2010-04-02  Bruno Haible  <bruno@clisp.org>
30790
30791         Tests for module 'havelib', moved here from GNU gettext.
30792         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
30793         modifications.
30794         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
30795         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
30796         with modifications.
30797         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
30798         modifications.
30799         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
30800         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
30801         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
30802         with modifications.
30803         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
30804         with modifications.
30805         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
30806         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
30807         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
30808         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
30809         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
30810         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
30811         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
30812         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
30813         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
30814         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
30815         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
30816         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
30817         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
30818         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
30819         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
30820         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
30821         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
30822         with modifications.
30823         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
30824         with modifications.
30825         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
30826         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
30827         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
30828         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
30829         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
30830         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
30831         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
30832         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
30833         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
30834         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
30835         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
30836         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
30837         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
30838         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
30839         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
30840         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
30841         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
30842         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
30843         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
30844         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
30845         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
30846         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
30847         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
30848         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
30849         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
30850         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
30851         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
30852         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
30853         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
30854         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
30855         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
30856         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
30857         * tests/havelib/rpathx/rpathx.c: New file, from
30858         gettext/autoconf-lib-link.
30859         * tests/havelib/rpathx/Makefile.am: New file, from
30860         gettext/autoconf-lib-link.
30861         * tests/havelib/rpathx/configure.ac: New file, from
30862         gettext/autoconf-lib-link with modifications.
30863         * tests/havelib/rpathy/rpathy.c: New file, from
30864         gettext/autoconf-lib-link.
30865         * tests/havelib/rpathy/Makefile.am: New file, from
30866         gettext/autoconf-lib-link.
30867         * tests/havelib/rpathy/configure.ac: New file, from
30868         gettext/autoconf-lib-link with modifications.
30869         * tests/havelib/rpathz/rpathz.c: New file, from
30870         gettext/autoconf-lib-link.
30871         * tests/havelib/rpathz/Makefile.am: New file, from
30872         gettext/autoconf-lib-link.
30873         * tests/havelib/rpathz/configure.ac: New file, from
30874         gettext/autoconf-lib-link with modifications.
30875         * tests/havelib/rpathlx/usex.c: New file, from
30876         gettext/autoconf-lib-link.
30877         * tests/havelib/rpathlx/Makefile.am: New file, from
30878         gettext/autoconf-lib-link.
30879         * tests/havelib/rpathlx/configure.ac: New file, from
30880         gettext/autoconf-lib-link with modifications.
30881         * tests/havelib/rpathly/usey.c: New file, from
30882         gettext/autoconf-lib-link.
30883         * tests/havelib/rpathly/Makefile.am: New file, from
30884         gettext/autoconf-lib-link.
30885         * tests/havelib/rpathly/configure.ac: New file, from
30886         gettext/autoconf-lib-link with modifications.
30887         * tests/havelib/rpathlz/usez.c: New file, from
30888         gettext/autoconf-lib-link.
30889         * tests/havelib/rpathlz/Makefile.am: New file, from
30890         gettext/autoconf-lib-link.
30891         * tests/havelib/rpathlz/configure.ac: New file, from
30892         gettext/autoconf-lib-link with modifications.
30893         * tests/havelib/rpathlyx/usey.c: New file, from
30894         gettext/autoconf-lib-link.
30895         * tests/havelib/rpathlyx/Makefile.am: New file, from
30896         gettext/autoconf-lib-link.
30897         * tests/havelib/rpathlyx/configure.ac: New file, from
30898         gettext/autoconf-lib-link with modifications.
30899         * tests/havelib/rpathlzyx/usez.c: New file, from
30900         gettext/autoconf-lib-link.
30901         * tests/havelib/rpathlzyx/Makefile.am: New file, from
30902         gettext/autoconf-lib-link.
30903         * tests/havelib/rpathlzyx/configure.ac: New file, from
30904         gettext/autoconf-lib-link with modifications.
30905         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
30906         with modifications.
30907
30908 2010-04-02  Bruno Haible  <bruno@clisp.org>
30909
30910         gnulib-tool: Create distributed built sources also for the tests.
30911         * gnulib-tool (func_create_testdir): Also generate distributed built
30912         sources in the tests directory.
30913
30914 2010-04-02  Bruno Haible  <bruno@clisp.org>
30915
30916         gnulib-tool: Obey user's environment variables.
30917         * gnulib-tool (func_create_testdir): When creating built sources,
30918         respect the environment variables for autoconf, automake, etc. given by
30919         the user.
30920
30921 2010-04-02  Bruno Haible  <bruno@clisp.org>
30922
30923         gnulib-tool: Provide the value of --m4-base to modules.
30924         * gnulib-tool (func_import, func_create_testdir): Emit a definition
30925         of gl_m4_base.
30926
30927 2010-04-02  Eric Blake  <eblake@redhat.com>
30928
30929         maint.mk: fix some fallout
30930         * NEWS: Document the incompatible change, and its effect on cfg.mk.
30931         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
30932
30933 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30934
30935         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
30936         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
30937         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
30938         (sc_cast_of_x_alloc_return_value): Likewise.
30939         (sc_cast_of_alloca_return_value): Likewise.
30940         (sc_space_tab): Likewise.
30941         (sc_prohibit_atoi_atof): Likewise.
30942         (sc_prohibit_magic_number_exit): Likewise.
30943         (sc_error_exit_success): Likewise.
30944         (sc_file_system): Likewise.
30945         (sc_prohibit_have_config_h): Likewise.
30946         (sc_require_config_h): Likewise.
30947         (sc_prohibit_HAVE_MBRTOWC): Likewise.
30948         (sc_obsolete_symbols): Likewise.
30949         (sc_changelog): Likewise.
30950         (sc_program_name): Likewise.
30951         (sc_the_the): Likewise.
30952         (sc_trailing_blank): Likewise.
30953         (sc_two_space_separator_in_usage): Likewise.
30954         (sc_useless_cpp_parens): Likewise.
30955         (sc_GPL_version): Likewise.
30956         (sc_GFDL_version): Likewise.
30957         (sc_texinfo_acronym): Likewise.
30958         (sc_prohibit_cvs_keyword): Likewise.
30959         (sc_prohibit_stat_st_blocks): Likewise.
30960         (sc_prohibit_S_IS_definition): Likewise.
30961         (sc_redundant_const): Likewise.
30962         (sc_makefile_TAB_only_indentation): Likewise.
30963         (sc_m4_quote_check): Likewise.
30964         (sc_makefile_path_separator_check): Likewise.
30965         (sc_copyright_check): Likewise.
30966         (sc_Wundef_boolean): Likewise.
30967         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30968
30969         maint.mk: match 0 or more whitespace-before-function-call '('
30970         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
30971         that have zero or two-and-more spaces between the function name
30972         and the open parenthesis.
30973         (sc_error_message_warn_fatal): Likewise.
30974         (sc_error_message_uppercase): Likewise.
30975         (sc_error_message_period): Likewise.
30976
30977 2010-03-31  Eric Blake  <eblake@redhat.com>
30978
30979         maint.mk: check for [ as well as test
30980         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
30981         Based on a libvirt report by Matthias Bolte.
30982
30983         gnumakefile: don't squelch _version output
30984         * top/GNUmakefile (_version): Create one-shot dependency rather
30985         than using $(shell) when version must be regenerated.
30986         (_autoreconf): Run verbosely, by default.
30987
30988         sys_time: avoid compiler warnings
30989         * lib/sys_time.in.h (includes): Ensure gcc pragma is
30990         unconditional, fixing regression from 2010-03-29.
30991         Reported by Simon Josefsson.
30992
30993 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30994
30995         maint.mk: s/_header_without_use/_sc_header_without_use/
30996         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
30997         (sc_prohibit_assert_without_use): Use the new name.
30998         (sc_prohibit_close_stream_without_use): Likewise.
30999         (sc_prohibit_getopt_without_use): Likewise.
31000         (sc_prohibit_quotearg_without_use): Likewise.
31001         (sc_prohibit_quote_without_use): Likewise.
31002         (sc_prohibit_long_options_without_use): Likewise.
31003         (sc_prohibit_inttostr_without_use): Likewise.
31004         (sc_prohibit_ignore_value_without_use): Likewise.
31005         (sc_prohibit_error_without_use): Likewise.
31006         (sc_prohibit_xalloc_without_use): Likewise.
31007         (sc_prohibit_hash_without_use): Likewise.
31008         (sc_prohibit_hash_pjw_without_use): Likewise.
31009         (sc_prohibit_safe_read_without_use): Likewise.
31010         (sc_prohibit_argmatch_without_use): Likewise.
31011         (sc_prohibit_canonicalize_without_use): Likewise.
31012         (sc_prohibit_root_dev_ino_without_use): Likewise.
31013         (sc_prohibit_openat_without_use): Likewise.
31014         (sc_prohibit_c_ctype_without_use): Likewise.
31015         (sc_prohibit_signal_without_use): Likewise.
31016         (sc_prohibit_intprops_without_use): Likewise.
31017
31018 2010-03-30  Eric Blake  <eblake@redhat.com>
31019
31020         maint: improve module indicators
31021         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
31022         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
31023         columns, and avoid extra macro expansion.
31024
31025         fdopendir: work around FreeBSD bug
31026         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
31027         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
31028         * modules/dirent (Makefile.am): Substitute it.
31029         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
31030         declaration.
31031         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
31032         fix.
31033         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31034
31035 2010-03-29  Bruno Haible  <bruno@clisp.org>
31036
31037         Emit #pragma system_header after the inclusion guard, not before.
31038         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
31039         guard that spans the entire file, not before. This enables an
31040         optimization in GCC's preprocessor.
31041         * lib/ctype.in.h: Likewise.
31042         * lib/dirent.in.h: Likewise.
31043         * lib/errno.in.h: Likewise.
31044         * lib/float.in.h: Likewise.
31045         * lib/getopt.in.h: Likewise.
31046         * lib/iconv.in.h: Likewise.
31047         * lib/langinfo.in.h: Likewise.
31048         * lib/locale.in.h: Likewise.
31049         * lib/math.in.h: Likewise.
31050         * lib/netdb.in.h: Likewise.
31051         * lib/netinet_in.in.h: Likewise.
31052         * lib/pty.in.h: Likewise.
31053         * lib/sched.in.h: Likewise.
31054         * lib/se-selinux.in.h: Likewise.
31055         * lib/search.in.h: Likewise.
31056         * lib/spawn.in.h: Likewise.
31057         * lib/stdarg.in.h: Likewise.
31058         * lib/stdint.in.h: Likewise.
31059         * lib/string.in.h: Likewise.
31060         * lib/strings.in.h: Likewise.
31061         * lib/sys_file.in.h: Likewise.
31062         * lib/sys_ioctl.in.h: Likewise.
31063         * lib/sys_time.in.h: Likewise.
31064         * lib/sys_times.in.h: Likewise.
31065         * lib/sys_utsname.in.h: Likewise.
31066         * lib/sys_wait.in.h: Likewise.
31067         * lib/sysexits.in.h: Likewise.
31068         * lib/wctype.in.h: Likewise.
31069
31070 2010-03-28  James Youngman  <jay@gnu.org>
31071
31072         save-cwd: don't leak a file descriptor when the caller execs.
31073         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
31074         saved file descriptor.
31075         * modules/save-cwd (Depends-on): Depend on cloexec.
31076
31077 2010-03-29  Bruno Haible  <bruno@clisp.org>
31078
31079         Remove vestiges of fts-lgpl module.
31080         * lib/fts_.h: Assume GNULIB_FTS is 1.
31081         * lib/fts.c: Likewise.
31082         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31083
31084 2010-03-28  Bruno Haible  <bruno@clisp.org>
31085
31086         Fix definition of tests witness macro.
31087         * gnulib-tool (func_import): Fix definition of witness macro.
31088
31089 2010-03-28  Bruno Haible  <bruno@clisp.org>
31090
31091         Fix ioctl's protoype on glibc systems.
31092         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
31093         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
31094         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
31095         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
31096         signature. If not, arrange to replace the ioctl function.
31097         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
31098         REPLACE_IOCTL.
31099         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
31100         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
31101         Reported by Ludovic Courtès <ludo@gnu.org>.
31102
31103 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
31104
31105         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
31106         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
31107         made it so grep -r --include=GLOB* ... did not work.
31108
31109 2010-03-26  Jim Meyering  <meyering@redhat.com>
31110             Eric Blake  <eblake@redhat.com>
31111
31112         maint.mk: prohibit use of test's -o and -a operators
31113         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
31114
31115 2010-03-28  Bruno Haible  <bruno@clisp.org>
31116
31117         Remove unused GNULIB_XYZ macro definitions.
31118         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
31119         invocation.
31120
31121 2010-03-28  Bruno Haible  <bruno@clisp.org>
31122
31123         Mark privileged tests modules.
31124         * modules/idpriv-drop-tests (Status): New section.
31125         * modules/idpriv-droptemp-tests (Status): New section.
31126
31127 2010-03-28  Bruno Haible  <bruno@clisp.org>
31128
31129         Split C++ tests into separate tests modules.
31130         * modules/dirent-c++-tests: New file, extracted from
31131         modules/dirent-tests.
31132         * modules/dirent-tests: Depend on it.
31133         * modules/fcntl-h-c++-tests: New file, extracted from
31134         modules/fcntl-h-tests.
31135         * modules/fcntl-h-tests: Depend on it.
31136         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
31137         * modules/glob-tests: Depend on it.
31138         * modules/iconv-h-c++-tests: New file, extracted from
31139         modules/iconv-h-tests.
31140         * modules/iconv-h-tests: Depend on it.
31141         * modules/langinfo-c++-tests: New file, extracted from
31142         modules/langinfo-tests.
31143         * modules/langinfo-tests: Depend on it.
31144         * modules/locale-c++-tests: New file, extracted from
31145         modules/locale-tests.
31146         * modules/locale-tests: Depend on it.
31147         * modules/math-c++-tests: New file, extracted from modules/math-tests.
31148         * modules/math-tests: Depend on it.
31149         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
31150         * modules/pty-tests: Depend on it.
31151         * modules/search-c++-tests: New file, extracted from
31152         modules/search-tests.
31153         * modules/search-tests: Depend on it.
31154         * modules/signal-c++-tests: New file, extracted from
31155         modules/signal-tests.
31156         * modules/signal-tests: Depend on it.
31157         * modules/spawn-c++-tests: New file, extracted from
31158         modules/spawn-tests.
31159         * modules/spawn-tests: Depend on it.
31160         * modules/stdio-c++-tests: New file, extracted from
31161         modules/stdio-tests.
31162         * modules/stdio-tests: Depend on it.
31163         * modules/stdlib-c++-tests: New file, extracted from
31164         modules/stdlib-tests.
31165         * modules/stdlib-tests: Depend on it.
31166         * modules/string-c++-tests: New file, extracted from
31167         modules/string-tests.
31168         * modules/string-tests: Depend on it.
31169         * modules/sys_ioctl-c++-tests: New file, extracted from
31170         modules/sys_ioctl-tests.
31171         * modules/sys_ioctl-tests: Depend on it.
31172         * modules/sys_select-c++-tests: New file, extracted from
31173         modules/sys_select-tests.
31174         * modules/sys_select-tests: Depend on it.
31175         * modules/sys_socket-c++-tests: New file, extracted from
31176         modules/sys_socket-tests.
31177         * modules/sys_socket-tests: Depend on it.
31178         * modules/sys_stat-c++-tests: New file, extracted from
31179         modules/sys_stat-tests.
31180         * modules/sys_stat-tests: Depend on it.
31181         * modules/sys_time-c++-tests: New file, extracted from
31182         modules/sys_time-tests.
31183         * modules/sys_time-tests: Depend on it.
31184         * modules/time-c++-tests: New file, extracted from modules/time-tests.
31185         * modules/time-tests: Depend on it.
31186         * modules/unistd-c++-tests: New file, extracted from
31187         modules/unistd-tests.
31188         * modules/unistd-tests: Depend on it.
31189         * modules/wchar-c++-tests: New file, extracted from
31190         modules/wchar-tests.
31191         * modules/wchar-tests: Depend on it.
31192         * modules/wctype-c++-tests: New file, extracted from
31193         modules/wctype-tests.
31194         * modules/wctype-tests: Depend on it.
31195         Reported by Simon Josefsson.
31196
31197 2010-03-28  Bruno Haible  <bruno@clisp.org>
31198
31199         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
31200         * gnulib-tool (func_exists_module): New function, extracted from
31201         func_verify_module.
31202         (func_verify_module): Use it.
31203         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
31204         'foo' only if 'foo' exists.
31205         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
31206         module.
31207
31208 2010-03-28  Bruno Haible  <bruno@clisp.org>
31209
31210         gnulib-tool: Add support for special categories of tests.
31211         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
31212         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
31213         (func_usage): Document them.
31214         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
31215         inc_unportable_tests, inc_all_tests): New variables.
31216         (func_acceptable): Consider these variables.
31217         (func_modules_transitive_closure): Make it work when the 'Status' field
31218         consists of multiple words.
31219         (func_import): Store and restore the values of inc_cxx_tests,
31220         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
31221         inc_all_tests in gnulib-comp.m4.
31222         (func_create_testdir): Set inc_all_tests to true.
31223         * doc/gnulib.texi (Extra tests modules): New section.
31224         Suggested by Jim Meyering.
31225
31226 2010-03-28  Bruno Haible  <bruno@clisp.org>
31227
31228         ansi-c++-opt: Allow turning off the C++ build by default.
31229         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
31230         gl_CXX_CHOICE_DEFAULT_NO is defined.
31231         Requested by Eric Blake.
31232
31233 2010-03-28  Bruno Haible  <bruno@clisp.org>
31234
31235         unistd: Avoid #define replacements in C++ mode.
31236         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
31237         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
31238         setsockopt, shutdown, select): In C++, attach a warning to the function
31239         if possible, rather than #defining the symbol to a dysfunctional alias.
31240         Reported by John W. Eaton <jwe@gnu.org>.
31241
31242 2010-03-28  Bruno Haible  <bruno@clisp.org>
31243
31244         Fix link errors on mingw.
31245         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
31246         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
31247         $(LIBSOCKET).
31248         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
31249         $(LIBSOCKET).
31250
31251 2010-03-28  Bruno Haible  <bruno@clisp.org>
31252             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31253
31254         lib-ignore: Determine different options for different compilers.
31255         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
31256         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
31257         Add comments.
31258         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
31259         * NEWS: Mention the change.
31260
31261 2010-03-27  Bruno Haible  <bruno@clisp.org>
31262
31263         Remove unused GNULIB_XYZ macro definitions.
31264         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31265         * modules/fseek (configure.ac): Likewise.
31266         * modules/ioctl (configure.ac): Likewise.
31267         * modules/open (configure.ac): Likewise.
31268         * modules/stdlib-safer (configure.ac): Likewise.
31269
31270 2010-03-27  Bruno Haible  <bruno@clisp.org>
31271
31272         Add a remark about certain modules.
31273         * modules/malloc (Comment): New section.
31274         * modules/realloc (Comment): Likewise.
31275         * modules/sigpipe (Comment): Likewise.
31276
31277 2010-03-27  Bruno Haible  <bruno@clisp.org>
31278
31279         Resolve conflict between the two kinds of module indicators.
31280         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
31281         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
31282         * modules/canonicalize (configure.ac): Invoke
31283         gl_MODULE_INDICATOR_FOR_TESTS.
31284         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
31285         GNULIB_XYZ.
31286         * tests/test-dirent-c++.cc: Likewise.
31287         * tests/test-dirent-safer.c: Likewise.
31288         * tests/test-dup2.c: Likewise.
31289         * tests/test-fchdir.c: Likewise.
31290         * tests/test-fcntl-h-c++.cc: Likewise.
31291         * tests/test-getopt.c: Likewise.
31292         * tests/test-getopt.h: Likewise.
31293         * tests/test-langinfo-c++.cc: Likewise.
31294         * tests/test-locale-c++.cc: Likewise.
31295         * tests/test-math-c++.cc: Likewise.
31296         * tests/test-pty-c++.cc: Likewise.
31297         * tests/test-search-c++.cc: Likewise.
31298         * tests/test-signal-c++.cc: Likewise.
31299         * tests/test-spawn-c++.cc: Likewise.
31300         * tests/test-stdio-c++.cc: Likewise.
31301         * tests/test-stdlib-c++.cc: Likewise.
31302         * tests/test-string-c++.cc: Likewise.
31303         * tests/test-sys_ioctl-c++.cc: Likewise.
31304         * tests/test-sys_select-c++.cc: Likewise.
31305         * tests/test-sys_socket-c++.cc: Likewise.
31306         * tests/test-sys_stat-c++.cc: Likewise.
31307         * tests/test-sys_time-c++.cc: Likewise.
31308         * tests/test-time-c++.cc: Likewise.
31309         * tests/test-unistd-c++.cc: Likewise.
31310         * tests/test-wchar-c++.cc: Likewise.
31311         * tests/uninorm/test-u8-nfc.c: Likewise.
31312         * tests/uninorm/test-u8-nfd.c: Likewise.
31313         * tests/uninorm/test-u8-nfkc.c: Likewise.
31314         * tests/uninorm/test-u8-nfkd.c: Likewise.
31315         * tests/uninorm/test-u16-nfc.c: Likewise.
31316         * tests/uninorm/test-u16-nfd.c: Likewise.
31317         * tests/uninorm/test-u16-nfkc.c: Likewise.
31318         * tests/uninorm/test-u16-nfkd.c: Likewise.
31319         * tests/uninorm/test-u32-nfc.c: Likewise.
31320         * tests/uninorm/test-u32-nfc-big.c: Likewise.
31321         * tests/uninorm/test-u32-nfd.c: Likewise.
31322         * tests/uninorm/test-u32-nfd-big.c: Likewise.
31323         * tests/uninorm/test-u32-nfkc.c: Likewise.
31324         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
31325         * tests/uninorm/test-u32-nfkd.c: Likewise.
31326         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
31327         * tests/uninorm/test-u32-normalize-big.c: Likewise.
31328
31329 2010-03-27  Bruno Haible  <bruno@clisp.org>
31330
31331         Distinguish two kinds of module indicators.
31332         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
31333         gl_MODULE_INDICATOR.
31334         (gl_MODULE_INDICATOR): New macro.
31335         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
31336         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
31337         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31338         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31339         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31340         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31341         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31342         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31343         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31344         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31345         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31346         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31347         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31348         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31349         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31350         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31351         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31352         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31353         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31354         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31355         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31356         * modules/cloexec (configure.ac): Likewise.
31357         * modules/getopt-gnu (configure.ac): Likewise.
31358         * modules/uninorm/u8-normalize (configure.ac): Likewise.
31359         * modules/uninorm/u16-normalize (configure.ac): Likewise.
31360         * modules/uninorm/u32-normalize (configure.ac): Likewise.
31361         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
31362
31363 2010-03-27  Bruno Haible  <bruno@clisp.org>
31364
31365         New module description field 'Comment'.
31366         * gnulib-tool: New option --extract-comment.
31367         (func_usage): Document it.
31368         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
31369         (func_get_comment): New function.
31370         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
31371
31372 2010-03-27  Bruno Haible  <bruno@clisp.org>
31373
31374         Addendum to 2010-02-07 commit.
31375         * gnulib-tool (func_usage): Document --extract-applicability option.
31376
31377 2010-03-27  Bruno Haible  <bruno@clisp.org>
31378
31379         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
31380         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
31381         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
31382         rather than link errors.
31383
31384 2010-03-27  Bruno Haible  <bruno@clisp.org>
31385
31386         Avoid side effects from tests-related modules on the compilation of lib.
31387         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
31388         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
31389         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
31390         parameter. Emit into AM_CPPFLAGS a definition of the designated C
31391         macro.
31392         (func_import): Define a witness macro. Assign it a value that depends
31393         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
31394         tests-related modules.
31395         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
31396         Reported by Jim Meyering.
31397
31398 2010-03-27  Bruno Haible  <bruno@clisp.org>
31399
31400         Factorize common .m4 code.
31401         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
31402         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
31403         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
31404         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
31405         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31406         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
31407         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
31408         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31409         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31410         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31411         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
31412         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31413         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31414         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31415         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31416         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
31417         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31418         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31419         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31420         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
31421         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
31422         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31423         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31424         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31425         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31426         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31427         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
31428         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
31429         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
31430         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31431         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31432         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31433
31434 2010-03-27  Bruno Haible  <bruno@clisp.org>
31435
31436         Fix a compilation error on Cygwin with g++ >= 4.3.
31437         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
31438         if it is undefined or if we alias it to chmod.
31439         (lstat): Don't warn about the use of this function if it is undefined
31440         or if we alias it to stat.
31441         Reported by Simon Josefsson.
31442
31443 2010-03-27  Bruno Haible  <bruno@clisp.org>
31444
31445         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
31446         * modules/getlogin (configure.ac): Update.
31447
31448         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
31449         * modules/getlogin_r (configure.ac): Update.
31450
31451         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
31452         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
31453         * modules/inet_ntop (configure.ac): Update.
31454
31455         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
31456         * modules/inet_pton (configure.ac): Update.
31457
31458         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
31459         * modules/mbslen (configure.ac): Update.
31460
31461         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
31462         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
31463         * modules/forkpty (configure.ac): Update.
31464         * modules/openpty (configure.ac): Update.
31465
31466 2010-03-26  Simon Josefsson  <simon@josefsson.org>
31467
31468         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
31469         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
31470
31471 2010-03-25  Eric Blake  <eblake@redhat.com>
31472
31473         maint: use pragma consistently across replacement headers
31474         * lib/ctype.in.h (system_header): Hoist for consistent placement.
31475         * lib/dirent.in.h (system_header): Likewise.
31476         * lib/errno.in.h (system_header): Likewise.
31477         * lib/float.in.h (system_header): Likewise.
31478         * lib/getopt.in.h (system_header): Likewise.
31479         * lib/iconv.in.h (system_header): Likewise.
31480         * lib/inttypes.in.h (system_header): Likewise.
31481         * lib/langinfo.in.h (system_header): Likewise.
31482         * lib/locale.in.h (system_header): Likewise.
31483         * lib/math.in.h (system_header): Likewise.
31484         * lib/netdb.in.h (system_header): Likewise.
31485         * lib/netinet_in.in.h (system_header): Likewise.
31486         * lib/pty.in.h (system_header): Likewise.
31487         * lib/sched.in.h (system_header): Likewise.
31488         * lib/se-selinux.in.h (system_header): Likewise.
31489         * lib/search.in.h (system_header): Likewise.
31490         * lib/spawn.in.h (system_header): Likewise.
31491         * lib/stdarg.in.h (system_header): Likewise.
31492         * lib/stdint.in.h (system_header): Likewise.
31493         * lib/string.in.h (system_header): Likewise.
31494         * lib/strings.in.h (system_header): Likewise.
31495         * lib/sys_file.in.h (system_header): Likewise.
31496         * lib/sys_ioctl.in.h (system_header): Likewise.
31497         * lib/sys_socket.in.h (system_header): Likewise.
31498         * lib/sys_times.in.h (system_header): Likewise.
31499         * lib/sys_utsname.in.h (system_header): Likewise.
31500         * lib/sys_wait.in.h (system_header): Likewise.
31501         * lib/sysexits.in.h (system_header): Likewise.
31502         * lib/unistd.in.h (system_header): Likewise.
31503         * lib/wctype.in.h (system_header): Likewise.
31504
31505         arpa/inet: fix mingw compilation warning
31506         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
31507         Reported by Matthew Bolte.
31508
31509 2010-03-25  Bruno Haible  <bruno@clisp.org>
31510
31511         Avoid collision between gnulib wrapper and libintl wrapper.
31512         * lib/printf.c (printf): Don't define if a printf wrapper is already
31513         defined in intl/printf.c.
31514         Reported by Michel Boaventura <michel@michelboaventura.com>.
31515
31516 2010-03-25  Bruno Haible  <bruno@clisp.org>
31517
31518         Use ANSI C.
31519         * lib/readutmp.h (getutent): Provide ANSI C prototype.
31520
31521 2010-03-25  Bruno Haible  <bruno@clisp.org>
31522
31523         Minor formatting changes.
31524         * lib/acosl.c: Insert space before function argument list.
31525         * lib/argz.c: Likewise.
31526         * lib/asinl.c: Likewise.
31527         * lib/expl.c: Likewise.
31528         * lib/gen-uni-tables.c: Likewise.
31529         * lib/gettext.h: Likewise.
31530         * lib/glthread/lock.h: Likewise.
31531         * lib/tanl.c: Likewise.
31532         * lib/uniname/uniname.c: Likewise.
31533         * tests/test-idpriv-drop.c: Likewise.
31534         * tests/test-idpriv-droptemp.c: Likewise.
31535         * tests/test-lock.c: Likewise.
31536         * tests/test-tls.c: Likewise.
31537         * lib/argp-help.c: Insert space before function-like macro argument
31538         list.
31539         * lib/memcmp.c: Likewise.
31540         * tests/test-base64.c: Likewise.
31541         * lib/localename.c: Insert space before sizeof's argument list.
31542         * lib/safe-alloc.h: Likewise.
31543         * lib/file-set.h: Insert space before macro argument list.
31544         * tests/test-argp.c: Likewise.
31545         * lib/argp-namefrob.h: Insert space before function parameter list.
31546         * lib/getaddrinfo.c: Likewise.
31547         * lib/netdb.in.h: Likewise.
31548         * lib/parse-duration.h: Likewise.
31549         * lib/parse-duration.c: Likewise.
31550         * lib/poll.c: Likewise.
31551         * lib/select.c: Likewise.
31552         * lib/trim.h: Likewise.
31553         * tests/test-usleep.c: Likewise.
31554         * lib/ldexpl.c: Insert space before function parameter list and before
31555         function argument list.
31556         * lib/logl.c: Likewise.
31557         * lib/sqrtl.c: Likewise.
31558         * lib/trim.c: Likewise.
31559         * lib/cosl.c: Use GNU style indentation. Insert space before function
31560         argument list.
31561         * lib/sinl.c: Likewise.
31562         * lib/tsearch.c: Insert space after 'for'.
31563         Reported by Jim Meyering.
31564
31565 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
31566
31567         * maint.mk (sc_Wundef_boolean): Check for the presence of the
31568         config header before grepping, as it's not present before
31569         autoreconf/configure are run.  Reported by Simon Josefsson.
31570
31571 2010-03-23  Bruno Haible  <bruno@clisp.org>
31572
31573         pt_chown: Make it work with automake < 1.11.
31574         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
31575         Reported by Simon Josefsson.
31576
31577 2010-03-23  Bruno Haible  <bruno@clisp.org>
31578
31579         pt_chown: Don't depend on GPLed modules.
31580         * lib/pt_chown.c: Don't include idpriv.h.
31581         (main): Don't drop privileges.
31582         * modules/pt_chown (Depends-on): Remove idpriv-drop.
31583         Reported by Simon Josefsson.
31584
31585 2010-03-24  Simon Josefsson  <simon@josefsson.org>
31586
31587         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
31588         suggestions from karl@freefriends.org (Karl Berry).
31589
31590 2010-03-22  Eric Blake  <eblake@redhat.com>
31591
31592         gethostname: further tweaks
31593         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
31594         are overriding gethostname.
31595         Suggested by Bruno Haible.
31596
31597 2010-03-21  Bruno Haible  <bruno@clisp.org>
31598
31599         Fix comments.
31600         * lib/forkpty.c (rpl_forkpty): Fix comment.
31601         * lib/openpty.c (rpl_openpty): Likewise.
31602         Reported by Eric Blake.
31603
31604 2010-03-22  Eric Blake  <eblake@redhat.com>
31605
31606         gethostname: fix build on mingw
31607         * lib/unistd.in.h (includes): Work around fact that mingw
31608         <winsock2.h> re-includes <unistd.h>, by avoiding any
31609         redeclarations if we are being included by <winsock2.h>.
31610         Reported by Matthias Bolte.
31611
31612 2010-03-21  Bruno Haible  <bruno@clisp.org>
31613
31614         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
31615         * lib/forkpty.c (forkpty): New replacement function, from glibc with
31616         modifications.
31617         * lib/pty.in.h (forkpty): Update declaration. Add comments.
31618         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
31619         provide the replacement.
31620         * modules/forkpty (Depends-on): Add openpty, login_tty.
31621         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
31622         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
31623         * doc/glibc-functions/forkpty.texi: More supported platforms.
31624         * config/srclist.txt: Add forkpty.c (commented).
31625
31626 2010-03-21  Bruno Haible  <bruno@clisp.org>
31627
31628         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
31629         (Makefile.am): Verify that PTY_LIB is defined.
31630
31631         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
31632
31633 2010-03-21  Bruno Haible  <bruno@clisp.org>
31634
31635         Tests for module 'login_tty'.
31636         * modules/login_tty-tests: New file.
31637         * tests/test-login_tty.c: New file.
31638
31639         New module 'login_tty'.
31640         * lib/login_tty.c: New file.
31641         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
31642         * modules/login_tty: New file.
31643         * doc/glibc-functions/login_tty.texi: Mention the new module.
31644
31645 2010-03-21  Bruno Haible  <bruno@clisp.org>
31646
31647         login_tty: Documentation.
31648         * doc/glibc-functions/login_tty.texi: New file.
31649         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
31650
31651 2010-03-21  Bruno Haible  <bruno@clisp.org>
31652
31653         pty: Consistent macro naming.
31654         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
31655         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
31656         * modules/pty (configure.ac): Update.
31657
31658 2010-03-21  Bruno Haible  <bruno@clisp.org>
31659
31660         Tests for openpty: Make stricter.
31661         * tests/test-openpty.c (main): Add test of canonical processing and
31662         erase.
31663         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
31664
31665         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
31666         * lib/openpty.c (openpty): New replacement function.
31667         * lib/pty.in.h: Include <termios.h>.
31668         (openpty): Update declaration. Add comments.
31669         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
31670         is not declared, arrange to provide the replacement. Check for _getpty
31671         and posix_openpt.
31672         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
31673         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
31674         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
31675         * modules/pty-tests (test_pty_c___LDADD): New variable.
31676         * doc/glibc-functions/openpty.texi: More supported platforms.
31677
31678 2010-03-21  Bruno Haible  <bruno@clisp.org>
31679
31680         setenv: Tweaks.
31681         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
31682         the test program.
31683         * doc/posix-functions/setenv.texi: Update platforms list.
31684
31685 2010-03-21  Bruno Haible  <bruno@clisp.org>
31686
31687         New module 'unlockpt'.
31688         * lib/unlockpt.c: New file, from glibc with modifications.
31689         * m4/unlockpt.m4: New file.
31690         * modules/unlockpt: New file.
31691         * lib/stdlib.in.h (unlockpt): New declaration.
31692         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
31693         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
31694         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
31695         HAVE_UNLOCKPT.
31696         * doc/posix-functions/unlockpt.texi: Mention the new module.
31697         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
31698         * config/srclist.txt: Add unlockpt.c (commented).
31699
31700 2010-03-21  Jim Meyering  <meyering@redhat.com>
31701
31702         maint.mk: prohibit inclusion of "intprops.h" without use
31703         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
31704
31705 2010-03-21  Bruno Haible  <bruno@clisp.org>
31706
31707         New module 'grantpt'.
31708         * lib/grantpt.c: New file, from glibc with modifications.
31709         * m4/grantpt.m4: New file.
31710         * modules/grantpt: New file.
31711         * lib/stdlib.in.h (grantpt): New declaration.
31712         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
31713         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
31714         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
31715         HAVE_GRANTPT.
31716         * doc/posix-functions/grantpt.texi: Mention the new module.
31717         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
31718         * config/srclist.txt: Add grantpt.c (commented).
31719
31720 2010-03-21  Bruno Haible  <bruno@clisp.org>
31721
31722         New module 'pt_chown'.
31723         * lib/pt_chown.c: New file, from glibc with modifications.
31724         * lib/pty-private.h: New file, from glibc with modifications.
31725         * modules/pt_chown: New file.
31726         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
31727
31728 2010-03-21  Bruno Haible  <bruno@clisp.org>
31729
31730         Tests for module 'ptsname'.
31731         * modules/ptsname-tests: New file.
31732         * tests/test-ptsname.c: New file.
31733
31734         New module 'ptsname'.
31735         * lib/ptsname.c: New file, from glibc with modifications.
31736         * m4/ptsname.m4: New file.
31737         * modules/ptsname: New file.
31738         * lib/stdlib.in.h (ptsname): New declaration.
31739         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
31740         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
31741         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
31742         HAVE_PTSNAME.
31743         * doc/posix-functions/ptsname.texi: Mention the new module.
31744         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
31745         * config/srclist.txt: Add ptsname.c (commented).
31746
31747 2010-03-21  Bruno Haible  <bruno@clisp.org>
31748
31749         Tests for module 'ttyname_r'.
31750         * modules/ttyname_r-tests: New file.
31751         * tests/test-ttyname_r.c: New file.
31752
31753         New module 'ttyname_r'.
31754         * lib/ttyname_r.c: New file.
31755         * m4/ttyname_r.m4: New file.
31756         * modules/ttyname_r: New file.
31757         * lib/unistd.in.h (ttyname_r): New declaration.
31758         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
31759         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
31760         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
31761         HAVE_TTYNAME_R.
31762         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
31763         * doc/posix-functions/ttyname_r.texi: Mention the new module.
31764
31765 2010-03-20  Bruno Haible  <bruno@clisp.org>
31766
31767         signal: Undefine macro definitions in C++ mode.
31768         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
31769         sigfillset): Undefine macro definitions from the system header in C++
31770         mode.
31771         Reported by John W. Eaton <jwe@gnu.org>.
31772
31773 2010-03-20  Bruno Haible  <bruno@clisp.org>
31774
31775         Ensure no #include statements inside extern "C" { ... }.
31776         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
31777         contain #include statements.
31778         * lib/time.in.h: Likewise.
31779
31780 2010-03-20  Bruno Haible  <bruno@clisp.org>
31781
31782         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
31783         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
31784         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
31785         Reported by John W. Eaton <jwe@gnu.org>.
31786
31787 2010-03-20  Bruno Haible  <bruno@clisp.org>
31788
31789         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
31790         Reported by Jim Meyering.
31791
31792 2010-03-20  Bruno Haible  <bruno@clisp.org>
31793
31794         pipe: Set errno upon failure.
31795         * lib/pipe.h: Specify that when -1 is returned, errno is set.
31796         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
31797         errno value in error message.
31798
31799 2010-03-20  Bruno Haible  <bruno@clisp.org>
31800             Jim Meyering  <meyering@redhat.com>
31801
31802         lchown: Avoid "unused variable" warning.
31803         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
31804
31805 2010-03-20  Bruno Haible  <bruno@clisp.org>
31806
31807         Work around unlink() bug on MacOS X 10.5.6.
31808         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
31809         attempting to unlink a parent directory.
31810         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
31811         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
31812         activate for the replacement function.
31813         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
31814
31815 2010-03-20  Bruno Haible  <bruno@clisp.org>
31816
31817         Fix link errors on Solaris 8.
31818         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
31819         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
31820
31821 2010-03-19  Jim Meyering  <meyering@redhat.com>
31822
31823         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
31824         The _LIBC implementation of build_range_exp correctly honors the
31825         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
31826         However, the non-_LIBC implementation would ignore that syntax-bit
31827         flag and return REG_ERANGE unconditionally.
31828         This change makes it honor that flag.
31829         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
31830         Make two pointer parameters "const".
31831         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
31832         (parse_bracket_exp): Update caller.
31833
31834         regex.m4: correct the reversed range endpoint ([b-a]) test
31835         * m4/regex.m4: When requiring that [b-a] evoke failure,
31836         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
31837         test pass once again for x86-based systems.
31838
31839 2010-03-19  Bruno Haible  <bruno@clisp.org>
31840
31841         scandir: Fix link error on Solaris 8.
31842         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
31843         macros.
31844
31845 2010-03-19  Bruno Haible  <bruno@clisp.org>
31846
31847         getusershell: Fix documentation.
31848         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
31849         module.
31850         * doc/glibc-functions/setusershell.texi: Likewise.
31851
31852         getusershell: Provide declaration, missing on Solaris 9.
31853         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
31854         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
31855         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
31856         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
31857         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31858         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
31859         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
31860         HAVE_GETUSERSHELL.
31861         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
31862
31863 2010-03-19  Bruno Haible  <bruno@clisp.org>
31864
31865         wctype: Provide iswblank function.
31866         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
31867         exists and is fine.
31868         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
31869         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
31870         * tests/test-wctype.c (main): Re-enable the iswblank tests.
31871         * doc/posix-functions/iswblank.texi: Update.
31872
31873 2010-03-19  Bruno Haible  <bruno@clisp.org>
31874
31875         Tests of module 'pty' in C++ mode.
31876         * modules/pty-tests: New file.
31877         * tests/test-pty-c++.cc: New file.
31878         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
31879
31880 2010-03-19  Eric Blake  <eblake@redhat.com>
31881
31882         logb: fix documentation
31883         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
31884         1.5 declaration bug.
31885
31886         forkpty, openpty: prefer glibc's const-safe prototype
31887         * lib/forkpty.c (rpl_forkpty): New file.
31888         * lib/openpty.c (rpl_openpty): Likewise.
31889         * modules/forkpty (Files): Distribute it.
31890         * modules/openpty (Files): Likewise.
31891         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
31892         check...
31893         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
31894         replacement for for non-const BSD signature.
31895         * modules/pty (Makefile.am): Substitute witnesses.
31896         * lib/pty.in.h (forkpty, openpty): Declare replacements.
31897         * tests/test-forkpty.c: Update signature check.
31898         * tests/test-openpty.c: Likewise.
31899         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
31900         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31901
31902         forkpty, openpty: split functions into new modules
31903         * modules/pty (Makefile.am): Substitute new witnesses.
31904         (Libraries): Move library detection...
31905         * modules/forkpty: ...into new module.
31906         * modules/openpty: Another new module.
31907         * modules/pty-tests: Rename and split...
31908         * modules/forkpty-tests: ...to this...
31909         * modules/openpty-tests: ...and this.
31910         * tests/test-pty.c: Rename and split...
31911         * tests/test-forkpty.c: ...to this...
31912         * tests/test-openpty.c: ...and this.
31913         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
31914         (gl_PTY): Split library searching...
31915         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
31916         (gl_FORKPTY, gl_OPENPTY): New macros.
31917         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
31918         * NEWS: Mention the split.
31919         * MODULES.html.sh (Misc): Document the modules.
31920         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
31921         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31922
31923         pty: improve replacement header
31924         * lib/pty.in.h: New file.
31925         * modules/pty (Files): Ship it.
31926         (Makefile.am): Always build replacement.
31927         * m4/pty.m4: Rename...
31928         * m4/pty_h.m4: ...to this.
31929         (gl_PTY): Modernize setting of witness macros; update check of
31930         forkpty to take proper advantage of cache.
31931         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
31932
31933         getopt: avoid compiler warning
31934         * lib/getopt.c (attribute_hidden): Remove unused macro.
31935
31936 2010-03-18  Bruno Haible  <bruno@clisp.org>
31937
31938         Fix link errors on Solaris 8.
31939         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
31940         * modules/search-tests (test_search_c___LDADD): Likewise.
31941         * modules/signal-tests (test_signal_c___LDADD): Likewise.
31942         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
31943         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
31944         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
31945         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
31946         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
31947         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
31948
31949 2010-03-18  Bruno Haible  <bruno@clisp.org>
31950
31951         Fix bug introduced on 2010-03-14.
31952         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
31953         (gl_SPAWN_H): Require it.
31954         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
31955         Reported by Simon Josefsson.
31956
31957 2010-03-18  Bruno Haible  <bruno@clisp.org>
31958
31959         Fix typo introduced on 2009-12-31.
31960         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
31961         posix_spawn_file_actions_adddup2.
31962
31963 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
31964         and Eric Blake  <eblake@redhat.com>
31965
31966         test-vc-list-files-git: make more robust
31967         * tests/test-vc-list-files-git.sh: Unset problematic environment
31968         variables.  Chain commands together.
31969
31970 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
31971
31972         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
31973         `AC_CHECK_DECL' invocation.
31974
31975 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
31976
31977         * lib/inttostr.c (inttostr): Make sure the invocation of verify
31978         appears before executable statements. Suggested by Petr Sumbera
31979         <Petr.Sumbera@Sun.COM>.
31980
31981 2010-03-14  Bruno Haible  <bruno@clisp.org>
31982
31983         * tests/test-flock.c (test_exclusive): Comment out a test that causes
31984         portability problems. Instead use a simpler test.
31985         (main): Check that invalid arguments are rejected only on Linux.
31986
31987 2010-03-14  Bruno Haible  <bruno@clisp.org>
31988
31989         Fix bug introduced on 2009-12-31.
31990         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31991         gl_PREREQ_SYS_H_WINSOCK2 always.
31992         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
31993         SYS_SOCKET_H variable.
31994         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
31995         Update comments.
31996         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
31997         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31998         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31999         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32000         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
32001
32002 2010-03-14  Bruno Haible  <bruno@clisp.org>
32003
32004         Fix values returned by sinl, cosl.
32005         * lib/trigl.h: Add specification comments.
32006         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
32007         that combines the values from the precomputed table with the values of
32008         the Chebyshev polynomials.
32009
32010 2010-03-14  Bruno Haible  <bruno@clisp.org>
32011
32012         Fix compilation error when modules 'posix_spawn[p]' are not used.
32013         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
32014         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
32015
32016 2010-03-14  Bruno Haible  <bruno@clisp.org>
32017
32018         Fix compilation error on mingw when module 'time_r' is not used.
32019         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
32020         is 1.
32021         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
32022         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32023         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
32024         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
32025
32026 2010-03-14  Bruno Haible  <bruno@clisp.org>
32027
32028         Fix compilation error with Sun C.
32029         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
32030         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
32031         instead of GCC specific ULONG_LONG_MAX.
32032         * lib/xstrtoll.c: Likewise.
32033         * lib/xstrtoull.c: Likewise.
32034
32035 2010-03-13  Bruno Haible  <bruno@clisp.org>
32036
32037         Allow the user to disable C++ code and tests.
32038         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
32039         (gl_PROG_ANSI_CXX): Require it.
32040
32041 2010-03-13  Bruno Haible  <bruno@clisp.org>
32042
32043         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
32044         cases.
32045
32046 2010-03-13  Bruno Haible  <bruno@clisp.org>
32047
32048         Test that gnulib does not break the standard C++ headers.
32049         * tests/test-locale-c++2.cc: New file.
32050         * modules/locale-tests (Files): Add it.
32051         (Makefile.am): Compile it for test-locale-c++.
32052         * tests/test-math-c++2.cc: New file.
32053         * modules/math-tests (Files): Add it.
32054         (Makefile.am): Compile it for test-math-c++.
32055         * tests/test-signal-c++2.cc: New file.
32056         * modules/signal-tests (Files): Add it.
32057         (Makefile.am): Compile it for test-signal-c++.
32058         * tests/test-stdio-c++2.cc: New file.
32059         * modules/stdio-tests (Files): Add it.
32060         (Makefile.am): Compile it for test-stdio-c++.
32061         * tests/test-stdlib-c++2.cc: New file.
32062         * modules/stdlib-tests (Files): Add it.
32063         (Makefile.am): Compile it for test-stdlib-c++.
32064         * tests/test-string-c++2.cc: New file.
32065         * modules/string-tests (Files): Add it.
32066         (Makefile.am): Compile it for test-string-c++.
32067         * tests/test-time-c++2.cc: New file.
32068         * modules/time-tests (Files): Add it.
32069         (Makefile.am): Compile it for test-time-c++.
32070         Reported by John W. Eaton <jwe@gnu.org>.
32071
32072 2010-03-13  Bruno Haible  <bruno@clisp.org>
32073
32074         * gnulib-tool (func_usage): Clarify which options are available for
32075         --create-testdir and --create-megatestdir.
32076
32077 2010-03-13  Bruno Haible  <bruno@clisp.org>
32078
32079         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
32080         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
32081         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
32082         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
32083         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
32084         when appropriate.
32085         Reported by Jim Meyering.
32086
32087 2010-03-12  Simon Josefsson  <simon@josefsson.org>
32088
32089         * gnulib-tool (func_import): Explain origin of code.
32090
32091 2010-03-12  Bruno Haible  <bruno@clisp.org>
32092
32093         Fix problem with automake's definition of CXXLINK.
32094         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
32095         Reported by Simon Josefsson and Ludovic Courtès.
32096
32097 2010-03-12  Bruno Haible  <bruno@clisp.org>
32098
32099         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
32100         stable releases.
32101
32102 2010-03-11  Bruno Haible  <bruno@clisp.org>
32103
32104         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
32105         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
32106         whether the system provides one variant or multiple variants of the
32107         function.
32108         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
32109         C++ compilers.
32110         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
32111         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
32112         Reported by Jim Meyering.
32113
32114 2010-03-09  Simon Josefsson  <simon@josefsson.org>
32115
32116         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
32117
32118 2010-03-08  Bruno Haible  <bruno@clisp.org>
32119
32120         gnulib-tool: Add support for --libtool in --create-testdir.
32121         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
32122         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
32123
32124 2010-03-08  Eric Blake  <eblake@redhat.com>
32125
32126         gnulib-tool.texi: mention possibility of git submodule
32127         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
32128         submodules.
32129         * doc/.gitignore: Ignore another generated file.
32130
32131 2010-03-08  Karl Berry  <karl@gnu.org>
32132
32133         * doc/gnulib-tool.texi (VCS Issues): Mention third option
32134         of committing gnulib files while skipping others.
32135
32136 2010-03-07  Bruno Haible  <bruno@clisp.org>
32137
32138         Tests of module 'wctype' in C++ mode.
32139         * tests/test-wctype-c++.cc: New file.
32140         * modules/wctype-tests (Files): Add it and tests/signature.h.
32141         (Depends-on): Add ansi-c++-opt.
32142         (Makefile.am): Arrange to compile and run test-wctype-c++.
32143
32144         Tests of module 'wchar' in C++ mode.
32145         * tests/test-wchar-c++.cc: New file.
32146         * modules/wchar-tests (Files): Add it and tests/signature.h.
32147         (Depends-on): Add ansi-c++-opt.
32148         (Makefile.am): Arrange to compile and run test-wchar-c++.
32149         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
32150         gl_MODULE_INDICATOR.
32151
32152         Tests of module 'unistd' in C++ mode.
32153         * tests/test-unistd-c++.cc: New file.
32154         * modules/unistd-tests (Files): Add it and tests/signature.h.
32155         (Depends-on): Add ansi-c++-opt.
32156         (Makefile.am): Arrange to compile and run test-unistd-c++.
32157         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
32158         gl_MODULE_INDICATOR.
32159
32160         Tests of module 'time' in C++ mode.
32161         * tests/test-time-c++.cc: New file.
32162         * modules/time-tests (Files): Add it and tests/signature.h.
32163         (Depends-on): Add ansi-c++-opt.
32164         (Makefile.am): Arrange to compile and run test-time-c++.
32165         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32166
32167         Tests of module 'sys_time' in C++ mode.
32168         * tests/test-sys_time-c++.cc: New file.
32169         * modules/sys_time-tests (Files): Add it and tests/signature.h.
32170         (Depends-on): Add ansi-c++-opt.
32171         (Makefile.am): Arrange to compile and run test-sys_time-c++.
32172         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
32173         gl_MODULE_INDICATOR.
32174
32175         Tests of module 'sys_stat' in C++ mode.
32176         * tests/test-sys_stat-c++.cc: New file.
32177         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
32178         (Depends-on): Add ansi-c++-opt.
32179         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
32180         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
32181         gl_MODULE_INDICATOR.
32182
32183         Tests of module 'sys_socket' in C++ mode.
32184         * tests/test-sys_socket-c++.cc: New file.
32185         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
32186         (Depends-on): Add ansi-c++-opt.
32187         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
32188         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
32189         gl_MODULE_INDICATOR.
32190
32191         Tests of module 'sys_select' in C++ mode.
32192         * tests/test-sys_select-c++.cc: New file.
32193         * modules/sys_select-tests (Files): Add it and tests/signature.h.
32194         (Depends-on): Add ansi-c++-opt.
32195         (Makefile.am): Arrange to compile and run test-sys_select-c++.
32196         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
32197         gl_MODULE_INDICATOR.
32198
32199         Tests of module 'sys_ioctl' in C++ mode.
32200         * tests/test-sys_ioctl-c++.cc: New file.
32201         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
32202         (Depends-on): Add ansi-c++-opt.
32203         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
32204         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
32205         gl_MODULE_INDICATOR.
32206
32207         Tests of module 'string' in C++ mode.
32208         * tests/test-string-c++.cc: New file.
32209         * modules/string-tests (Files): Add it and tests/signature.h.
32210         (Depends-on): Add ansi-c++-opt.
32211         (Makefile.am): Arrange to compile and run test-string-c++.
32212         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
32213         gl_MODULE_INDICATOR.
32214
32215         Tests of module 'stdlib' in C++ mode.
32216         * tests/test-stdlib-c++.cc: New file.
32217         * modules/stdlib-tests (Files): Add it and tests/signature.h.
32218         (Depends-on): Add ansi-c++-opt.
32219         (Makefile.am): Arrange to compile and run test-stdlib-c++.
32220         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
32221         gl_MODULE_INDICATOR.
32222
32223         Tests of module 'stdio' in C++ mode.
32224         * tests/test-stdio-c++.cc: New file.
32225         * modules/stdio-tests (Files): Add it and tests/signature.h.
32226         (Depends-on): Add ansi-c++-opt.
32227         (Makefile.am): Arrange to compile and run test-stdio-c++.
32228         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
32229         gl_MODULE_INDICATOR.
32230
32231         Tests of module 'spawn' in C++ mode.
32232         * tests/test-spawn-c++.cc: New file.
32233         * modules/spawn-tests (Files): Add it and tests/signature.h.
32234         (Depends-on): Add ansi-c++-opt.
32235         (Makefile.am): Arrange to compile and run test-spawn-c++.
32236         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
32237         gl_MODULE_INDICATOR.
32238
32239         Tests of module 'signal' in C++ mode.
32240         * tests/test-signal-c++.cc: New file.
32241         * modules/signal-tests (Files): Add it and tests/signature.h.
32242         (Depends-on): Add ansi-c++-opt.
32243         (Makefile.am): Arrange to compile and run test-signal-c++.
32244         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
32245         gl_MODULE_INDICATOR.
32246
32247         Tests of module 'search' in C++ mode.
32248         * tests/test-search-c++.cc: New file.
32249         * modules/search-tests (Files): Add it and tests/signature.h.
32250         (Depends-on): Add ansi-c++-opt.
32251         (Makefile.am): Arrange to compile and run test-search-c++.
32252         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
32253         gl_MODULE_INDICATOR.
32254
32255         Tests of module 'math' in C++ mode.
32256         * tests/test-math-c++.cc: New file.
32257         * modules/math-tests (Files): Add it and tests/signature.h.
32258         (Depends-on): Add ansi-c++-opt.
32259         (Makefile.am): Arrange to compile and run test-math-c++.
32260         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32261
32262         Tests of module 'locale' in C++ mode.
32263         * tests/test-locale-c++.cc: New file.
32264         * modules/locale-tests (Files): Add it and tests/signature.h.
32265         (Depends-on): Add ansi-c++-opt.
32266         (Makefile.am): Arrange to compile and run test-locale-c++.
32267         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
32268         gl_MODULE_INDICATOR.
32269
32270         Tests of module 'langinfo' in C++ mode.
32271         * tests/test-langinfo-c++.cc: New file.
32272         * modules/langinfo-tests (Files): Add it and tests/signature.h.
32273         (Depends-on): Add ansi-c++-opt.
32274         (Makefile.am): Arrange to compile and run test-langinfo-c++.
32275         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
32276         gl_MODULE_INDICATOR.
32277
32278         Tests of module 'iconv-h' in C++ mode.
32279         * tests/test-iconv-h-c++.cc: New file.
32280         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
32281         (Depends-on): Add ansi-c++-opt.
32282         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
32283
32284         Tests of module 'glob' in C++ mode.
32285         * tests/test-glob-c++.cc: New file.
32286         * modules/glob-tests (Files): Add it.
32287         (Depends-on): Add ansi-c++-opt.
32288         (Makefile.am): Arrange to compile and run test-glob-c++.
32289
32290         Tests of module 'fcntl-h' in C++ mode.
32291         * tests/test-fcntl-h-c++.cc: New file.
32292         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
32293         (Depends-on): Add ansi-c++-opt.
32294         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
32295         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
32296         gl_MODULE_INDICATOR.
32297
32298         Tests of module 'dirent' in C++ mode.
32299         * tests/test-dirent-c++.cc: New file.
32300         * modules/dirent-tests (Files): Add it and tests/signature.h.
32301         (Depends-on): Add ansi-c++-opt.
32302         (Makefile.am): Arrange to compile and run test-dirent-c++.
32303         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32304         gl_MODULE_INDICATOR.
32305
32306         New module 'ansi-c++-opt'.
32307         * modules/ansi-c++-opt: New file.
32308         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
32309
32310         Document C++ namespace mode.
32311         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
32312
32313         wctype: Avoid #define replacements in C++ mode.
32314         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
32315         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
32316         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
32317         In C++, define a namespaced alias symbol.
32318         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
32319         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
32320         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
32321         rule.
32322
32323         wchar: Avoid #define replacements in C++ mode.
32324         * lib/wchar.in.h: Include c++defs.h.
32325         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
32326         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
32327         symbol.
32328         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
32329         * modules/wchar (Depends-on): Add c++defs.
32330         (Makefile.am): Update wchar.h rule.
32331
32332         unistd: Avoid #define replacements in C++ mode.
32333         * lib/unistd.in.h: Include c++defs.h.
32334         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
32335         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
32336         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
32337         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
32338         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
32339         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
32340         symbol.
32341         (environ): Update.
32342         * modules/unistd (Depends-on): Add c++defs.
32343         (Makefile.am): Update unistd.h rule.
32344
32345         time: Avoid #define replacements in C++ mode.
32346         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
32347         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
32348         define a namespaced alias symbol.
32349         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
32350         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
32351         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
32352         * modules/time (Depends-on): Add c++defs, warn-on-use.
32353         (Makefile.am): Update time.h rule.
32354         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32355         * modules/nanosleep (configure.ac): Likewise.
32356         * modules/strptime (configure.ac): Likewise.
32357         * modules/timegm (configure.ac): Likewise.
32358
32359         sys_time: Avoid #define replacements in C++ mode.
32360         * lib/sys_time.in.h: Include c++defs.h.
32361         (gettimeofday): In C++, define a namespaced alias symbol.
32362         * modules/sys_time (Depends-on): Add c++defs.
32363         (Makefile.am): Update sys/time.h rule.
32364
32365         sys_stat: Avoid #define replacements in C++ mode.
32366         * lib/sys_stat.in.h: Include c++defs.h.
32367         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
32368         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
32369         namespaced alias symbol.
32370         In C++, define a namespaced alias symbol.
32371         * modules/sys_stat (Depends-on): Add c++defs.
32372         (Makefile.am): Update sys/stat.h rule.
32373
32374         sys_socket: Avoid #define replacements in C++ mode.
32375         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
32376         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
32377         definitions also when the system has a <sys/socket.h>.
32378         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
32379         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
32380         In C++, define a namespaced alias symbol.
32381         * modules/sys_socket (Depends-on): Add c++defs.
32382         (Makefile.am): Update sys/socket.h rule.
32383
32384         sys_select: Avoid #define replacements in C++ mode.
32385         * lib/sys_select.in.h: Include c++defs.h. Enable the function
32386         definitions also when the system has a <sys/select.h>.
32387         (select): In C++, define a namespaced alias symbol.
32388         * modules/sys_select (Depends-on): Add c++defs.
32389         (Makefile.am): Update sys/select.h rule.
32390
32391         sys_ioctl: Avoid #define replacements in C++ mode.
32392         * lib/sys_ioctl.in.h: Include c++defs.h.
32393         (ioctl): In C++, define a namespaced alias symbol.
32394         * modules/sys_ioctl (Depends-on): Add c++defs.
32395         (Makefile.am): Update sys/ioctl.h rule.
32396
32397         string: Avoid #define replacements in C++ mode.
32398         * lib/string.in.h: Include c++defs.h.
32399         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
32400         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
32401         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
32402         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
32403         strsignal, strverscmp): In C++, define a namespaced alias symbol.
32404         * modules/string (Depends-on): Add c++defs.
32405         (Makefile.am): Update string.h rule.
32406
32407         stdlib: Avoid #define replacements in C++ mode.
32408         * lib/stdlib.in.h: Include c++defs.h.
32409         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
32410         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
32411         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
32412         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
32413         symbol.
32414         * modules/stdlib (Depends-on): Add c++defs.
32415         (Makefile.am): Update stdlib.h rule.
32416
32417         stdio: Avoid #define replacements in C++ mode.
32418         * lib/stdio.in.h: Include c++defs.h.
32419         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
32420         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
32421         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
32422         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
32423         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
32424         namespaced alias symbol.
32425         * modules/stdio (Depends-on): Add c++defs.
32426         (Makefile.am): Update stdio.h rule.
32427
32428         spawn: Avoid #define replacements in C++ mode.
32429         * lib/spawn.in.h: Include c++defs.h.
32430         (posix_spawn, posix_spawnp, posix_spawnattr_init,
32431         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
32432         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
32433         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
32434         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
32435         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
32436         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
32437         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
32438         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
32439         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
32440         In C++, define a namespaced alias symbol.
32441         * modules/spawn (Depends-on): Add c++defs.
32442         (Makefile.am): Update spawn.h rule.
32443
32444         signal: Avoid #define replacements in C++ mode.
32445         * lib/signal.in.h: Include c++defs.h.
32446         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
32447         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
32448         namespaced alias symbol.
32449         * modules/signal (Depends-on): Add c++defs.
32450         (Makefile.am): Update signal.h rule.
32451
32452         search: Avoid #define replacements in C++ mode.
32453         * lib/search.in.h: Include c++defs.h.
32454         (_gl_search_compar_fn, _gl_search_action_fn): New types.
32455         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
32456         symbol.
32457         * modules/search (Depends-on): Add c++defs.
32458         (Makefile.am): Update search.h rule.
32459
32460         math: Avoid #define replacements in C++ mode.
32461         * lib/math.in.h: Include c++defs.h.
32462         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
32463         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
32464         trunc, truncl): In C++, define a namespaced alias symbol.
32465         * modules/math (Depends-on): Add c++defs.
32466         (Makefile.am): Update math.h rule.
32467
32468         locale: Avoid #define replacements in C++ mode.
32469         * lib/locale.in.h: Include c++defs.h.
32470         (duplocale): In C++, define a namespaced alias symbol.
32471         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
32472         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
32473         * modules/locale (Depends-on): Add c++defs.
32474         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
32475
32476         langinfo: Avoid #define replacements in C++ mode.
32477         * lib/langinfo.in.h: Include c++defs.h.
32478         (nl_langinfo): In C++, define a namespaced alias symbol.
32479         * modules/langinfo (Depends-on): Add c++defs.
32480         (Makefile.am): Update langinfo.h rule.
32481
32482         iconv-h: Avoid #define replacements in C++ mode.
32483         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
32484         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
32485         symbol.
32486         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
32487         whenever iconv is present.
32488         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
32489         (Makefile.am): Update iconv.h rule.
32490
32491         glob: Avoid #define replacements in C++ mode.
32492         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
32493         (_gl_glob_errfunc_fn): New type.
32494         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
32495         symbol.
32496         * modules/glob (Depends-on): Add c++defs, warn-on-use.
32497         (Makefile.am): Update glob.h rule.
32498
32499         fcntl-h: Avoid #define replacements in C++ mode.
32500         * lib/fcntl.in.h: Include c++defs.h.
32501         (fcntl, open, openat): In C++, define a namespaced alias symbol.
32502         * modules/fcntl-h (Depends-on): Add c++defs.
32503         (Makefile.am): Update fcntl.h rule.
32504
32505         dirent: Avoid #define replacements in C++ mode.
32506         * lib/dirent.in.h: Include c++defs.h.
32507         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
32508         namespaced alias symbol.
32509         (dirfd): Update declaration.
32510         * modules/dirent (Depends-on): Add c++defs.
32511         (Makefile.am): Update dirent.h rule.
32512
32513         ctype: Make it usable in C++ code.
32514         * lib/ctype.in.h: Include c++defs.h.
32515         (isblank): Declare as extern "C".
32516         * modules/ctype (Depends-on): Add c++defs.
32517         (Makefile.am): Update ctype.h rule.
32518
32519         New module 'c++defs'.
32520         * modules/c++defs: New file.
32521         * build-aux/c++defs.h: New file.
32522         Reported by John W. Eaton <jwe@gnu.org>.
32523
32524 2010-03-07  Bruno Haible  <bruno@clisp.org>
32525
32526         logb: Provide missing declaration for Cygwin.
32527         * lib/math.in.h (logb): New declaration.
32528         * m4/logb.m4: New file.
32529         * modules/logb (Files): Add m4/logb.m4.
32530         (Depends-on): Add math.
32531         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
32532         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
32533         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
32534         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
32535         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
32536
32537 2010-03-07  Bruno Haible  <bruno@clisp.org>
32538
32539         Fix test-cond link error.
32540         * tests/test-cond.c: Include <stdio.h>.
32541
32542 2010-03-07  Bruno Haible  <bruno@clisp.org>
32543
32544         Fix test-dirent-safer link error.
32545         * modules/dirent-safer-tests (Makefile.am): Define
32546         test_dirent_safer_LDADD.
32547
32548 2010-03-07  Bruno Haible  <bruno@clisp.org>
32549
32550         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
32551         among default module list.
32552
32553 2010-03-07  Bruno Haible  <bruno@clisp.org>
32554
32555         Fix link error on platforms with GNU libiconv.
32556         * modules/unistr/u8-strcoll-tests (Makefile): Define
32557         test_u8_strcoll_LDADD.
32558         * modules/unistr/u16-strcoll-tests (Makefile): Define
32559         test_u16_strcoll_LDADD.
32560         * modules/unistr/u32-strcoll-tests (Makefile): Define
32561         test_u32_strcoll_LDADD.
32562
32563 2010-03-07  Bruno Haible  <bruno@clisp.org>
32564
32565         Use POSIX declarations for socket functions.
32566         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
32567         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
32568         rpl_sendto): Change declaration to match POSIX.
32569         * lib/connect.c (rpl_connect): Likewise.
32570         * lib/accept.c (rpl_accept): Likewise.
32571         * lib/bind.c (rpl_bind): Likewise.
32572         * lib/getpeername.c (rpl_getpeername): Likewise.
32573         * lib/getsockname.c (rpl_getsockname): Likewise.
32574         * lib/recv.c (rpl_recv): Likewise.
32575         * lib/send.c (rpl_send): Likewise.
32576         * lib/recvfrom.c (rpl_recvfrom): Likewise.
32577         * lib/sendto.c (rpl_sendto): Likewise.
32578
32579 2010-03-06  Bruno Haible  <bruno@clisp.org>
32580
32581         Clarify access, euidaccess, faccessat.
32582         * doc/posix-functions/faccessat.texi: Mention security problem under
32583         "Other problems", not "Portability problems".
32584         * doc/posix-functions/access.texi: Likewise. Mention a related security
32585         problem.
32586         * doc/glibc-functions/euidaccess.texi: Mention security problems.
32587         * lib/euidaccess.c: Add comments about platforms.
32588         * lib/unistd.in.h (access, euidaccess): Add warnings.
32589
32590 2010-03-07  Bruno Haible  <bruno@clisp.org>
32591
32592         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
32593         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
32594         (POSIX_SPAWN_SETSCHEDULER): Likewise.
32595         (POSIX_SPAWN_USEVFORK): Define in a way that works when
32596         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
32597         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
32598         declare when POSIX_SPAWN_SETSCHEDULER is zero.
32599         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
32600         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
32601         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
32602         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
32603         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
32604         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
32605         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
32606         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
32607         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
32608         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
32609         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
32610         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
32611         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
32612         Likewise.
32613         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
32614         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
32615         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
32616         Likewise.
32617         * tests/test-spawn.c (main): Make it work when
32618         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
32619
32620 2010-03-07  Bruno Haible  <bruno@clisp.org>
32621
32622         Fix incorrect Makefile.am generation in German locale.
32623         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32624         Execute sed command with character range in C locale.
32625
32626 2010-03-06  Bruno Haible  <bruno@clisp.org>
32627
32628         Tests for module 'iconv-h'.
32629         * modules/iconv-h-tests: New file.
32630         * tests/test-iconv-h.c: New file.
32631
32632         New module 'iconv-h'.
32633         * modules/iconv-h: New file.
32634         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
32635         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
32636         (configure.ac): Remove gl_ICONV_H.
32637         (Makefile.am): Remove rule for iconv.h.
32638
32639 2010-03-06  Bruno Haible  <bruno@clisp.org>
32640
32641         More consistent naming of *.m4 files.
32642         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
32643         * modules/wctype (Files): Update.
32644
32645         More consistent naming of *.m4 files.
32646         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
32647         * modules/wchar (Files): Update.
32648
32649 2010-03-06  Jim Meyering  <meyering@redhat.com>
32650
32651         euidaccess: relax license to LGPLv2+
32652         * modules/euidaccess (License): Relax to LGPLv2+.
32653
32654 2010-03-06  Bruno Haible  <bruno@clisp.org>
32655
32656         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
32657         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
32658         (Makefile.am): Augment lib_SOURCES instead.
32659
32660 2010-03-04  Jim Meyering  <meyering@redhat.com>
32661
32662         utime: remove obsolete module
32663         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
32664         unnecessary for years, and has been marked as obsolete for 10 months.
32665         * modules/utime: Remove file.
32666         * lib/utime.c: Remove file.
32667         * m4/utime.m4: Remove file.
32668         * m4/utimes-null.m4: Remove file.
32669         * doc/posix-functions/utime.texi (utime): Remove reference to
32670         the module.  Move the sole "fixed by gnulib" item into the
32671         "problems not fixed by Gnulib" list.
32672         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
32673
32674 2010-03-05  Simon Josefsson  <simon@josefsson.org>
32675
32676         * modules/exit (License): Relax license to LGPLv2+.
32677         (Status): Mark as obsolete.
32678         * NEWS: Mention deprecated 'exit' module.
32679         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
32680         of now obsolete 'exit'.
32681
32682 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32683
32684         fts-lgpl: remove unused module
32685         * modules/fts-lgpl: Remove.
32686         * MODULES.html.sh (func_all_modules): Adjust.
32687         * check-module (find_included_lib_files): Adjust.
32688         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
32689
32690 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
32691
32692         copy-acl: enhance Solaris ACL error handling
32693         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
32694         * lib/set-mode-acl.c (qset_acl): Likewise.
32695
32696 2010-03-02  Bruno Haible  <bruno@clisp.org>
32697
32698         spawn: Don't override the system defined values on FreeBSD 8.
32699         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
32700         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
32701         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
32702         if HAVE_POSIX_SPAWN is 1.
32703         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
32704
32705 2010-03-01  Bruno Haible  <bruno@clisp.org>
32706
32707         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
32708         regarding Automake.
32709
32710 2010-02-25  Bruno Haible  <bruno@clisp.org>
32711
32712         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
32713         * gnulib-tool: Define 'echo' as a function only before the ksh alias
32714         setting, not afterwards.
32715         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
32716
32717 2010-02-24  Eric Blake  <eblake@redhat.com>
32718
32719         bootstrap, git-version-gen: use timestamp
32720         * build-aux/git-version-gen (scriptversion): Force UTC.
32721         * build-aux/bootstrap (scriptversion): New variable.
32722
32723         bootstrap: allow older git
32724         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
32725         older than 1.6.4.  Requested by the libvirt project.
32726
32727 2010-02-23  Eric Blake  <eblake@redhat.com>
32728
32729         warn-on-use: work with old autoconf
32730         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
32731         AS_VAR semantics of autoconf 2.60.
32732         Reported by Bruno Haible.
32733
32734         bootstrap: improve some comments
32735         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
32736         clarification comments.
32737
32738         gettimeofday: provide correct function
32739         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
32740         when replacement is declared, otherwise provide gettimeofday.
32741         Reported by Michael Goffioul.
32742
32743 2010-02-23  Jim Meyering  <meyering@redhat.com>
32744
32745         lib-ignore: relax license to "unlimited", not LGPLv2+
32746         * modules/lib-ignore (License): Relax to "unlimited".
32747
32748 2010-02-23  Jim Meyering  <meyering@redhat.com>
32749
32750         lib-ignore: relax license to LGPLv2+
32751         * modules/lib-ignore (License): Relax to LGPLv2+.
32752
32753 2010-02-22  Eric Blake  <eblake@redhat.com>
32754
32755         lseek: avoid bash 3.2 broken pipe bug
32756         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
32757         warning from bash 3.2.
32758         Reported by Ben Pfaff, with analysis from Bruno Haible.
32759
32760         bootstrap: support non-FSF copyright holder
32761         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
32762         bootstrap.conf override of COPYRIGHT_HOLDER.
32763         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
32764
32765         bootstrap: interoperate with gettext 0.14.1
32766         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
32767
32768         bootstrap: allow for alternate submodule location
32769         * build-aux/bootstrap (gnulib_path): New variable; use instead of
32770         hardcoding submodule location.
32771         (gnulib_mk): Allow direct use of Makefile.am.
32772
32773         bootstrap: use GNULIB_SRCDIR to reduce disk usage
32774         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
32775         rather than reconfiguring where the submodule points.
32776
32777         gettimeofday: restore support for platforms that lack function
32778         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
32779         replacement if function is missing.
32780         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
32781         * modules/sys_time (Makefile.am): Substitute it.
32782         * lib/sys_time.in.h (gettimeofday): Check it.
32783         Reported by Michael Goffioul.
32784
32785 2010-02-21  Bruno Haible  <bruno@clisp.org>
32786
32787         * lib/stdio.in.h (obstack_printf): Fix typo.
32788
32789 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
32790
32791         vc-list-files: use bzr ls's -R option
32792         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
32793         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
32794
32795 2010-02-21  Jim Meyering  <meyering@redhat.com>
32796
32797         init.sh: fix EXEEXT shims to work also for names like test-prog
32798         * tests/init.sh: Re-exec a better shell, when needed.
32799         If the current shell lacks support for posix $(...), an init.sh-using
32800         test will now try to find a shell that supports that.  If EXEEXT is
32801         nonempty, we also require support for hyphen-in-alias-name and shell
32802         substitutions like ${var#glob}.  Failure to find such a shell results
32803         in a skipped test.
32804
32805 2010-02-21  Bruno Haible  <bruno@clisp.org>
32806
32807         Really work around around "broken pipe" error message from bash 3.2.
32808         * gnulib-tool (func_reset_sigpipe): Remove function.
32809         (echo): In bash 3.2, define to a function that uses printf.
32810         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
32811
32812 2010-02-20  Bruno Haible  <bruno@clisp.org>
32813
32814         Restore support for automake 1.9.6 with autoconf 2.61.
32815         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
32816         Reported by James Youngman <jay@gnu.org>.
32817
32818 2010-02-20  Bruno Haible  <bruno@clisp.org>
32819
32820         Improve *printf warning condition.
32821         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
32822         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
32823         and the function is overridden due to SIGPIPE emulation.
32824
32825 2010-02-20  Bruno Haible  <bruno@clisp.org>
32826
32827         * lib/stdio.in.h: Tweak comments.
32828
32829 2010-02-19  Bruno Haible  <bruno@clisp.org>
32830
32831         Make it easier to find modules. New gnulib-tool option '--find'.
32832         * gnulib-tool: New option --find.
32833         (func_usage): Document it.
32834         (func_sanitize_modulelist): New function, extracted from
32835         func_all_modules.
32836         (func_all_modules): Invoke it.
32837         * doc/gnulib-tool.texi (Which modules?): New node.
32838
32839 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
32840
32841         * lib/sys_select.in.h: Provide select replacement even if
32842         sys/select.h exists on a system, for Interix.
32843
32844 2010-02-18  Jim Meyering  <meyering@redhat.com>
32845
32846         init.sh: don't use $(...) just yet
32847         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
32848         to accommodate e.g., Solaris' /bin/sh.
32849
32850 2010-02-17  Bruno Haible  <bruno@clisp.org>
32851
32852         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
32853         Reported by Ludovic Courtès <ludo@gnu.org>.
32854
32855 2010-02-16  Simon Josefsson  <simon@josefsson.org>
32856
32857         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
32858         linking with -lintl.
32859
32860 2010-02-17  Simon Josefsson  <simon@josefsson.org>
32861
32862         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
32863         if not provided by the system's netdb.h.  Reported by
32864         ludo@gnu.org (Ludovic Courtès).
32865
32866 2010-02-15  Jim Meyering  <meyering@redhat.com>
32867
32868         init.sh: improve portability and efficiency
32869         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
32870         "dummy" in a for loop.
32871         Use '!', not '^' to select the complement of a character set used
32872         in a "case" statement.
32873         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
32874         Suggestions from Eric Blake.
32875
32876         init.sh: automatically accommodate programs with the .exe suffix
32877         Automatically arrange for an invocation of "prog" to execute the
32878         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
32879         may use the simpler "prog", yet still work when built on a system
32880         that requires specifying the added suffix.
32881         Do this by constructing a function named "prog" that invokes
32882         "prog.exe" for each .exe file in selected directories.
32883         * tests/init.sh (find_exe_basenames_): New function.
32884         (create_exe_shim_functions_): New function.
32885         (path_prepend_): Use it.
32886
32887         maint.mk: mark syntax-check sc_*.m rules as .PHONY
32888         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
32889         "make -t syntax-check" doesn't create a ton of sc_*.m files.
32890
32891 2010-02-14  Jim Meyering  <meyering@redhat.com>
32892
32893         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
32894         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
32895         (sc_prohibit_hash_pjw_without_use): New rule.
32896
32897         maint.mk: allow the default upload destination dir to be overridden
32898         * top/maint.mk (upload_dest_dir_): Define with a default that
32899         preserves the status quo.
32900         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
32901         Reported by Peter Simons.
32902
32903         maint.mk: prohibit inclusion of "hash.h" without_use
32904         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
32905
32906 2010-02-10  Jim Meyering  <meyering@redhat.com>
32907
32908         maint.mk: prohibit inclusion of "ignore-value.h" without_use
32909         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
32910
32911 2010-02-09  Eric Blake  <ebb9@byu.net>
32912         and Bruno Haible  <bruno@clisp.org>
32913
32914         obstack-printf-posix: ensure declaration
32915         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
32916         extracted from gl_FUNC_OBSTACK_PRINTF.
32917         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
32918         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
32919         Likewise.
32920         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
32921         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
32922         0.
32923
32924 2010-02-08  Bruno Haible  <bruno@clisp.org>
32925
32926         gnulib-tool: Fix typo in 2010-02-07 commit.
32927         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
32928         Reported by Eric Blake.
32929
32930 2010-02-07  Bruno Haible  <bruno@clisp.org>
32931
32932         gnulib-tool: Fix up caching patches.
32933         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
32934         option --no-cache. Use associative arrays when supported by the shell.
32935         (sed_comments): New variable.
32936         (modcache): Renamed from do_cache.
32937         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
32938         abbreviate unnecessarily.
32939         (have_associative): New variable.
32940         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
32941         way also for ksh and zsh.
32942         (func_init_sed_convert_to_cache_statements): New function, extracted
32943         from func_cache_lookup_module. Add support for associative arrays.
32944         Don't set the c_MODULE_cached variable here. Ignore all lines before
32945         the first field header. Remove only the final newline, not all trailing
32946         newlines. Support empty fields correctly. Limit the use of 'eval' to
32947         assignments.
32948         (func_get_description, func_get_status, func_get_notice,
32949         func_get_applicability, func_get_filelist, func_get_dependencies,
32950         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
32951         func_get_automake_snippet, func_get_include_directive,
32952         func_get_link_directive, func_get_license, func_get_maintainer):
32953         Update documentation. List the unoptimized code first. Add support for
32954         associative arrays. Limit the use of 'eval' to assignments.
32955         (func_get_applicability): Undo stylistic pessimisations.
32956         (func_get_automake_snippet, func_get_include_directive): Reduce code
32957         duplication.
32958         (func_modules_transitive_closure, func_modules_add_dummy,
32959         func_modules_notice, func_modules_to_filelist, func_add_file,
32960         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
32961         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
32962         func_create_testdir, func_create_megatestdir): Update documentation.
32963
32964 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32965
32966         * gnulib-tool (func_cache_lookup_module): Store the module name
32967         belonging to the cache variable; error out if two different
32968         module names map to the same cache variable name.
32969
32970 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32971
32972         gnulib-tool: Make caching optional.
32973         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
32974         Update matching short versions of --no-changelog.
32975         (func_usage): Update.
32976         (sed_extract_cache_prog): Renamed from ...
32977         (sed_extract_prog): ... this; revert to old extraction script.
32978         (func_get_description, func_get_status)
32979         (func_get_notice, func_get_applicability, func_get_filelist)
32980         (func_get_dependencies, func_get_autoconf_early_snippet)
32981         (func_get_autoconf_snippet, func_get_automake_snippet)
32982         (func_get_include_directive, func_get_link_directive)
32983         (func_get_license, func_get_maintainer): If $do_cache is false,
32984         use old, non-caching extraction scripts.
32985         Suggestion by Bruno Haible.
32986
32987 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32988
32989         gnulib-tool: cache module metainformation.
32990         * gnulib-tool (sed_extract_prog): Match newline before each
32991         header, and rewrite header to a shell variable suffix.
32992         (func_cache_var, func_cache_lookup_module): New functions,
32993         to turn a module name into a cache variable prefix, and to
32994         look up and cache module metainformation.
32995         (func_get_description, func_get_status)
32996         (func_get_notice, func_get_applicability, func_get_filelist)
32997         (func_get_dependencies, func_get_autoconf_early_snippet)
32998         (func_get_autoconf_snippet, func_get_automake_snippet)
32999         (func_get_include_directive, func_get_link_directive)
33000         (func_get_license, func_get_maintainer): Use
33001         func_cache_lookup_module.
33002
33003 2010-02-07  Bruno Haible  <bruno@clisp.org>
33004
33005         fnctl: Fix missing dependency.
33006         * modules/fcntl (Depends-on): Add getdtablesize.
33007         Reported by John W. Eaton <jwe@gnu.org>.
33008
33009 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33010
33011         Argp: fix recognition of short alias options.
33012
33013         * lib/argp-parse.c (convert_options): Fix improper use of
33014         `|' between character values.
33015         * tests/test-argp.c (group1_option): New alias option
33016         --read (-r).
33017         (group1_parser): Special handling for 'r'.
33018         (test15): New test case.
33019         (test_fun): Add test15.
33020         * tests/test-argp-2.sh: Update expected --help and --usage
33021         outputs.
33022
33023 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33024
33025         * tests/test-argp.c: Fix indentation.
33026
33027 2010-02-04  Eric Blake  <ebb9@byu.net>
33028
33029         gettimeofday: expose type of second argument
33030         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
33031         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
33032         * tests/test-gettimeofday.c: Use it to silence warning.
33033         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
33034         the issue.
33035
33036 2010-02-03  Jim Meyering  <meyering@redhat.com>
33037
33038         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
33039         * lib/regcomp.c (TYPE_SIGNED): Define.
33040         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
33041
33042         regcomp.c: avoid a new -Wshadow warning
33043         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
33044
33045 2010-02-01  Jim Meyering  <meyering@redhat.com>
33046
33047         removing useless parentheses in cpp #define directives
33048         For motivation, see commit c0221df4, "define STREQ(a,b)
33049         consistently, removing useless parentheses"
33050         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
33051         * lib/mountlist.c (MNT_IGNORE): Likewise.
33052         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
33053
33054 2010-02-01  Eric Blake  <ebb9@byu.net>
33055
33056         sys_time: use link-warning
33057         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
33058         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
33059         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
33060         * modules/sys_time (Depends-on): Add warn-on-use.
33061         (Makefile.am): Always build replacement.
33062         (configure.ac): Update substitutions.
33063         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
33064         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
33065         bother with SYS_TIME_H.
33066         * modules/gettimeofday (configure.ac): Declare indicator.
33067         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
33068         in use.
33069
33070         closein-tests: silence compiler warning
33071         * tests/test-closein.c (main): Ignore fread result.
33072         * modules/closein-tests (Depends-on): Add ignore-value.
33073
33074         tests: silence warning about system return
33075         * tests/test-areadlink-with-size.c (main): Ignore system result.
33076         * tests/test-areadlink.c (main): Likewise.
33077         * tests/test-areadlinkat-with-size.c (main): Likewise.
33078         * tests/test-areadlinkat.c (main): Likewise.
33079         * tests/test-canonicalize-lgpl.c (main): Likewise.
33080         * tests/test-canonicalize.c (main): Likewise.
33081         * tests/test-chown.c (main): Likewise.
33082         * tests/test-fchownat.c (main): Likewise.
33083         * tests/test-fdutimensat.c (main): Likewise.
33084         * tests/test-fstatat.c (main): Likewise.
33085         * tests/test-futimens.c (main): Likewise.
33086         * tests/test-lchown.c (main): Likewise.
33087         * tests/test-link.c (main): Likewise.
33088         * tests/test-linkat.c (main): Likewise.
33089         * tests/test-lstat.c (main): Likewise.
33090         * tests/test-mkdir.c (main): Likewise.
33091         * tests/test-mkdirat.c (main): Likewise.
33092         * tests/test-mkfifo.c (main): Likewise.
33093         * tests/test-mkfifoat.c (main): Likewise.
33094         * tests/test-mknod.c (main): Likewise.
33095         * tests/test-readlink.c (main): Likewise.
33096         * tests/test-remove.c (main): Likewise.
33097         * tests/test-rename.c (main): Likewise.
33098         * tests/test-renameat.c (main): Likewise.
33099         * tests/test-rmdir.c (main): Likewise.
33100         * tests/test-symlink.c (main): Likewise.
33101         * tests/test-symlinkat.c (main): Likewise.
33102         * tests/test-unlink.c (main): Likewise.
33103         * tests/test-unlinkat.c (main): Likewise.
33104         * tests/test-utimens.c (main): Likewise.
33105         * tests/test-utimensat.c (main): Likewise.
33106         * modules/areadlink-tests (Depends-on): Add ignore-value.
33107         * modules/areadlink-with-size-tests (Depends-on): Likewise.
33108         * modules/areadlinkat-tests (Depends-on): Likewise.
33109         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
33110         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
33111         * modules/canonicalize-tests (Depends-on): Likewise.
33112         * modules/chown-tests (Depends-on): Likewise.
33113         * modules/fdutimensat-tests (Depends-on): Likewise.
33114         * modules/futimens-tests (Depends-on): Likewise.
33115         * modules/lchown-tests (Depends-on): Likewise.
33116         * modules/link-tests (Depends-on): Likewise.
33117         * modules/linkat-tests (Depends-on): Likewise.
33118         * modules/lstat-tests (Depends-on): Likewise.
33119         * modules/mkdir-tests (Depends-on): Likewise.
33120         * modules/mkfifo-tests (Depends-on): Likewise.
33121         * modules/mkfifoat-tests (Depends-on): Likewise.
33122         * modules/mknod-tests (Depends-on): Likewise.
33123         * modules/openat-tests (Depends-on): Likewise.
33124         * modules/readlink-tests (Depends-on): Likewise.
33125         * modules/remove-tests (Depends-on): Likewise.
33126         * modules/rename-tests (Depends-on): Likewise.
33127         * modules/renameat-tests (Depends-on): Likewise.
33128         * modules/rmdir-tests (Depends-on): Likewise.
33129         * modules/symlink-tests (Depends-on): Likewise.
33130         * modules/symlinkat-tests (Depends-on): Likewise.
33131         * modules/unlink-tests (Depends-on): Likewise.
33132         * modules/utimens-tests (Depends-on): Likewise.
33133         * modules/utimensat-tests (Depends-on): Likewise.
33134
33135 2010-01-31  Bruno Haible  <bruno@clisp.org>
33136
33137         Perform the same test for many <math.h> functions.
33138         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
33139         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
33140         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
33141         of gl_MATHFUNC.
33142         * modules/acos (configure.ac): Likewise.
33143         * modules/asin (configure.ac): Likewise.
33144         * modules/atan (configure.ac): Likewise.
33145         * modules/atan2 (configure.ac): Likewise.
33146         * modules/cbrt (configure.ac): Likewise.
33147         * modules/copysign (configure.ac): Likewise.
33148         * modules/cos (configure.ac): Likewise.
33149         * modules/cosh (configure.ac): Likewise.
33150         * modules/erf (configure.ac): Likewise.
33151         * modules/erfc (configure.ac): Likewise.
33152         * modules/exp (configure.ac): Likewise.
33153         * modules/fmod (configure.ac): Likewise.
33154         * modules/hypot (configure.ac): Likewise.
33155         * modules/j0 (configure.ac): Likewise.
33156         * modules/j1 (configure.ac): Likewise.
33157         * modules/jn (configure.ac): Likewise.
33158         * modules/lgamma (configure.ac): Likewise.
33159         * modules/log (configure.ac): Likewise.
33160         * modules/log10 (configure.ac): Likewise.
33161         * modules/log1p (configure.ac): Likewise.
33162         * modules/pow (configure.ac): Likewise.
33163         * modules/remainder (configure.ac): Likewise.
33164         * modules/sin (configure.ac): Likewise.
33165         * modules/sinh (configure.ac): Likewise.
33166         * modules/tan (configure.ac): Likewise.
33167         * modules/tanh (configure.ac): Likewise.
33168         * modules/y0 (configure.ac): Likewise.
33169         * modules/y1 (configure.ac): Likewise.
33170         * modules/yn (configure.ac): Likewise.
33171         Suggested by Paolo Bonzini.
33172
33173 2010-01-31  Bruno Haible  <bruno@clisp.org>
33174
33175         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
33176
33177 2010-01-31  Bruno Haible  <bruno@clisp.org>
33178
33179         Work around getdelim() bug on FreeBSD 8.0.
33180         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
33181         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
33182         not work.
33183         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
33184         is 1.
33185         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
33186         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
33187         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
33188         a non-zero size.
33189         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
33190
33191 2010-01-31  Bruno Haible  <bruno@clisp.org>
33192
33193         Work around getline() bug on FreeBSD 8.0.
33194         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
33195         and a non-zero size.
33196         * tests/test-getline.c (main): Likewise.
33197         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
33198         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
33199
33200 2010-01-28  Eric Blake  <ebb9@byu.net>
33201
33202         regex: fix build failure
33203         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
33204         platforms.
33205
33206 2010-01-28  Jim Meyering  <meyering@redhat.com>
33207
33208         regex: do not ignore memory allocation failure
33209         * lib/regex_internal.c (create_cd_newstate): Detect
33210         re_node_set_init_copy failure.   Extracted from glibc commit
33211         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33212
33213         regex: sync more white-space changes from libc
33214         * lib/regex_internal.c: White-space only changes.
33215         * lib/regexec.c: Likewise.
33216
33217         regex: add many uses of __attribute_warn_unused_result__
33218         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
33219         * lib/regexec.c: Likewise.
33220         Extracted from a messy glibc commit.
33221
33222         regcomp.c: spelling and merge-artifact from glibc
33223         * lib/regcomp.c: Merge remainder of glibc's
33224         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33225
33226         regcomp.c: sync white-space changes from glibc
33227         * lib/regcomp.c: Merge to accommodate white space
33228         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33229
33230         regcomp.c: do not ignore internal return values
33231         * lib/regcomp.c: Do not ignore internal return values.
33232         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
33233         but without its white-space changes and spelling fixes.
33234
33235         regex_internal.h: define __attribute_warn_unused_result__
33236         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
33237
33238         maint: add a syntax-check rule to check for vulnerable Makefile.in
33239         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
33240
33241 2010-01-27  Jim Meyering  <meyering@redhat.com>
33242
33243         ncftpput-ftp: clean up spaces
33244         * build-aux/ncftpput-ftp: Make Copyright line consistent.
33245         Remove trailing blanks.
33246
33247 2010-01-27  Simon Josefsson  <simon@josefsson.org>
33248
33249         * build-aux/git-version-gen: Fix copyright statement.
33250         * build-aux/gnupload: Likewise.
33251         * tests/test-arcfour.c: Likewise.
33252         * tests/test-arctwo.c: Likewise.
33253         * tests/test-count-one-bits.c: Likewise.
33254         * tests/test-crc.c: Likewise.
33255         * tests/test-des.c: Likewise.
33256         * tests/test-gc-arcfour.c: Likewise.
33257         * tests/test-gc-arctwo.c: Likewise.
33258         * tests/test-gc-des.c: Likewise.
33259         * tests/test-gc-hmac-md5.c: Likewise.
33260         * tests/test-gc-hmac-sha1.c: Likewise.
33261         * tests/test-gc-md2.c: Likewise.
33262         * tests/test-gc-md4.c: Likewise.
33263         * tests/test-gc-md5.c: Likewise.
33264         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33265         * tests/test-gc-rijndael.c: Likewise.
33266         * tests/test-gc-sha1.c: Likewise.
33267         * tests/test-gc.c: Likewise.
33268         * tests/test-gethostname.c: Likewise.
33269         * tests/test-gettimeofday.c: Likewise.
33270         * tests/test-hash.c: Likewise.
33271         * tests/test-hmac-md5.c: Likewise.
33272         * tests/test-hmac-sha1.c: Likewise.
33273         * tests/test-md2.c: Likewise.
33274         * tests/test-md4.c: Likewise.
33275         * tests/test-md5.c: Likewise.
33276         * tests/test-memchr.c: Likewise.
33277         * tests/test-memchr2.c: Likewise.
33278         * tests/test-memcmp.c: Likewise.
33279         * tests/test-memmem.c: Likewise.
33280         * tests/test-memrchr.c: Likewise.
33281         * tests/test-rawmemchr.c: Likewise.
33282         * tests/test-read-file.c: Likewise.
33283         * tests/test-rijndael.c: Likewise.
33284         * tests/test-sockets.c: Likewise.
33285         * tests/test-strchrnul.c: Likewise.
33286         * tests/test-strstr.c: Likewise.
33287         * tests/test-strtod.c: Likewise.
33288         * build-aux/ncftpput-ftp: Likewise.
33289
33290 2010-01-26  Eric Blake  <ebb9@byu.net>
33291
33292         ignore-value: update recommended header name
33293         * modules/ignore-value (Include): Only use <> for headers that
33294         exist in glibc.
33295
33296 2010-01-26  Jim Meyering  <meyering@redhat.com>
33297
33298         test-userspec.c: avoid compiler warnings
33299         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
33300         and "initialization discards qualifiers..." warnings.
33301         Put the first "uid" in its own scope, and make char* members "const".
33302
33303 2010-01-25  Bruno Haible  <bruno@clisp.org>
33304
33305         gnulib-tool: Make warning diagnostics consistent.
33306         * gnulib-tool (func_warning): New function.
33307         Use it everywhere where gnulib-tool produces output to stderr and it is
33308         not a fatal error.
33309
33310 2010-01-25  Bruno Haible  <bruno@clisp.org>
33311
33312         Fix test dependencies.
33313         * modules/xstrtol-tests (Depends-on): Add inttypes.
33314         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
33315
33316 2010-01-25 Pádraig Brady <P@draigBrady.com>
33317
33318         syntax-check: detect incorrect boolean macro values in config.h
33319         * modules/maintainer-makefile (configure.ac): Parameterize the location
33320         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
33321         The logic is from Eric Blake and the location indicated by Jim Meyering.
33322         Note the more natural CONFIG_HEADER name is prohibited by automake
33323         for backwards compatibility reasons.
33324         * top/maint.mk (sc_Wundef_boolean): New rule.
33325
33326 2010-01-25  Jim Meyering  <meyering@redhat.com>
33327
33328         bootstrap: detect MacOS 10.6's shasum, too
33329         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
33330         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
33331
33332 2010-01-23  Jim Meyering  <meyering@redhat.com>
33333
33334         xstrtoll: new module
33335         * modules/xstrtoll: New file.
33336         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
33337         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
33338         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
33339         ./configure fails if you use this module and lack "long long".
33340         * modules/xstrtoll-tests: New module.
33341         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
33342         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
33343         new init.sh-based test framework.
33344
33345 2010-01-24  Bruno Haible  <bruno@clisp.org>
33346
33347         Tests for module 'yn'.
33348         * modules/yn-tests: New file.
33349         * tests/test-yn.c: New file.
33350
33351         Tests for module 'y1'.
33352         * modules/y1-tests: New file.
33353         * tests/test-y1.c: New file.
33354
33355         Tests for module 'y0'.
33356         * modules/y0-tests: New file.
33357         * tests/test-y0.c: New file.
33358
33359         Tests for module 'tanh'.
33360         * modules/tanh-tests: New file.
33361         * tests/test-tanh.c: New file.
33362
33363         Tests for module 'tan'.
33364         * modules/tan-tests: New file.
33365         * tests/test-tan.c: New file.
33366
33367         Tests for module 'sqrt'.
33368         * modules/sqrt-tests: New file.
33369         * tests/test-sqrt.c: New file.
33370
33371         Tests for module 'sinh'.
33372         * modules/sinh-tests: New file.
33373         * tests/test-sinh.c: New file.
33374
33375         Tests for module 'sin'.
33376         * modules/sin-tests: New file.
33377         * tests/test-sin.c: New file.
33378
33379         Tests for module 'rint'.
33380         * modules/rint-tests: New file.
33381         * tests/test-rint.c: New file.
33382
33383         Tests for module 'remainder'.
33384         * modules/remainder-tests: New file.
33385         * tests/test-remainder.c: New file.
33386
33387         Tests for module 'pow'.
33388         * modules/pow-tests: New file.
33389         * tests/test-pow.c: New file.
33390
33391         Tests for module 'nextafter'.
33392         * modules/nextafter-tests: New file.
33393         * tests/test-nextafter.c: New file.
33394
33395         Tests for module 'modf'.
33396         * modules/modf-tests: New file.
33397         * tests/test-modf.c: New file.
33398
33399         Tests for module 'logb'.
33400         * modules/logb-tests: New file.
33401         * tests/test-logb.c: New file.
33402
33403         Tests for module 'log1p'.
33404         * modules/log1p-tests: New file.
33405         * tests/test-log1p.c: New file.
33406
33407         Tests for module 'log10'.
33408         * modules/log10-tests: New file.
33409         * tests/test-log10.c: New file.
33410
33411         Tests for module 'log'.
33412         * modules/log-tests: New file.
33413         * tests/test-log.c: New file.
33414
33415         Tests for module 'lgamma'.
33416         * modules/lgamma-tests: New file.
33417         * tests/test-lgamma.c: New file.
33418
33419         Tests for module 'ldexp'.
33420         * modules/ldexp-tests: New file.
33421         * tests/test-ldexp.c: New file.
33422
33423         Tests for module 'jn'.
33424         * modules/jn-tests: New file.
33425         * tests/test-jn.c: New file.
33426
33427         Tests for module 'j1'.
33428         * modules/j1-tests: New file.
33429         * tests/test-j1.c: New file.
33430
33431         Tests for module 'j0'.
33432         * modules/j0-tests: New file.
33433         * tests/test-j0.c: New file.
33434
33435         Tests for module 'hypot'.
33436         * modules/hypot-tests: New file.
33437         * tests/test-hypot.c: New file.
33438
33439         Tests for module 'fmod'.
33440         * modules/fmod-tests: New file.
33441         * tests/test-fmod.c: New file.
33442
33443         Tests for module 'fabs'.
33444         * modules/fabs-tests: New file.
33445         * tests/test-fabs.c: New file.
33446
33447         Tests for module 'exp'.
33448         * modules/exp-tests: New file.
33449         * tests/test-exp.c: New file.
33450
33451         Tests for module 'erfc'.
33452         * modules/erfc-tests: New file.
33453         * tests/test-erfc.c: New file.
33454
33455         Tests for module 'erf'.
33456         * modules/erf-tests: New file.
33457         * tests/test-erf.c: New file.
33458
33459         Tests for module 'cosh'.
33460         * modules/cosh-tests: New file.
33461         * tests/test-cosh.c: New file.
33462
33463         Tests for module 'cos'.
33464         * modules/cos-tests: New file.
33465         * tests/test-cos.c: New file.
33466
33467         Tests for module 'copysign'.
33468         * modules/copysign-tests: New file.
33469         * tests/test-copysign.c: New file.
33470
33471         Tests for module 'cbrt'.
33472         * modules/cbrt-tests: New file.
33473         * tests/test-cbrt.c: New file.
33474
33475         Tests for module 'atan2'.
33476         * modules/atan2-tests: New file.
33477         * tests/test-atan2.c: New file.
33478
33479         Tests for module 'atan'.
33480         * modules/atan-tests: New file.
33481         * tests/test-atan.c: New file.
33482
33483         Tests for module 'asin'.
33484         * modules/asin-tests: New file.
33485         * tests/test-asin.c: New file.
33486
33487         Tests for module 'acos'.
33488         * modules/acos-tests: New file.
33489         * tests/test-acos.c: New file.
33490
33491 2010-01-24  Bruno Haible  <bruno@clisp.org>
33492
33493         Fix tests for common <math.h> functions.
33494         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
33495         code snippet that references the function pointer, rather than merely
33496         calling the function. Substitute the FUNC_LIBM variable.
33497         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
33498         * modules/acos (configure.ac): Likewise.
33499         * modules/asin (configure.ac): Likewise.
33500         * modules/atan (configure.ac): Likewise.
33501         * modules/atan2 (configure.ac): Likewise.
33502         * modules/cbrt (configure.ac): Likewise.
33503         * modules/copysign (configure.ac): Likewise.
33504         * modules/cos (configure.ac): Likewise.
33505         * modules/cosh (configure.ac): Likewise.
33506         * modules/erf (configure.ac): Likewise.
33507         * modules/erfc (configure.ac): Likewise.
33508         * modules/exp (configure.ac): Likewise.
33509         * modules/fabs (configure.ac): Likewise.
33510         * modules/fmod (configure.ac): Likewise.
33511         * modules/hypot (configure.ac): Likewise.
33512         * modules/j0 (configure.ac): Likewise.
33513         * modules/j1 (configure.ac): Likewise.
33514         * modules/jn (configure.ac): Likewise.
33515         * modules/ldexp (configure.ac): Likewise.
33516         * modules/lgamma (configure.ac): Likewise.
33517         * modules/log (configure.ac): Likewise.
33518         * modules/log10 (configure.ac): Likewise.
33519         * modules/log1p (configure.ac): Likewise.
33520         * modules/logb (configure.ac): Likewise.
33521         * modules/modf (configure.ac): Likewise.
33522         * modules/nextafter (configure.ac): Likewise.
33523         * modules/pow (configure.ac): Likewise.
33524         * modules/remainder (configure.ac): Likewise.
33525         * modules/rint (configure.ac): Likewise.
33526         * modules/sin (configure.ac): Likewise.
33527         * modules/sinh (configure.ac): Likewise.
33528         * modules/tan (configure.ac): Likewise.
33529         * modules/tanh (configure.ac): Likewise.
33530         * modules/y0 (configure.ac): Likewise.
33531         * modules/y1 (configure.ac): Likewise.
33532         * modules/yn (configure.ac): Likewise.
33533
33534 2010-01-24  Bruno Haible  <bruno@clisp.org>
33535
33536         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
33537         * tests/test-acosl.c (x): New variable.
33538         (main): Store argument in x and fetch it from x.
33539         * tests/test-asinl.c (x): New variable.
33540         (main): Store argument in x and fetch it from x.
33541         * tests/test-atanl.c (x): New variable.
33542         (main): Store argument in x and fetch it from x.
33543         * tests/test-cosl.c (x): New variable.
33544         (main): Store argument in x and fetch it from x.
33545         * tests/test-expl.c (x): New variable.
33546         (main): Store argument in x and fetch it from x.
33547         * tests/test-logl.c (x): New variable.
33548         (main): Store argument in x and fetch it from x.
33549         * tests/test-sinl.c (x): New variable.
33550         (main): Store argument in x and fetch it from x.
33551         * tests/test-sqrtl.c (x): New variable.
33552         (main): Store argument in x and fetch it from x.
33553         * tests/test-tanl.c (x): New variable.
33554         (main): Store argument in x and fetch it from x.
33555
33556 2010-01-24  Bruno Haible  <bruno@clisp.org>
33557
33558         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
33559         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
33560         assignments to the initial TESTS_ENVIRONMENT.
33561         * doc/gnulib.texi (Unit test modules): Document it.
33562         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
33563         TESTS_ENVIRONMENT.
33564         * modules/btowc-tests (Makefile.am): Likewise.
33565         * modules/c-stack-tests (Makefile.am): Likewise.
33566         * modules/c-strcase-tests (Makefile.am): Likewise.
33567         * modules/copy-file-tests (Makefile.am): Likewise.
33568         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
33569         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
33570         * modules/mbrtowc-tests (Makefile.am): Likewise.
33571         * modules/mbscasecmp-tests (Makefile.am): Likewise.
33572         * modules/mbscasestr-tests (Makefile.am): Likewise.
33573         * modules/mbschr-tests (Makefile.am): Likewise.
33574         * modules/mbscspn-tests (Makefile.am): Likewise.
33575         * modules/mbsinit-tests (Makefile.am): Likewise.
33576         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
33577         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
33578         * modules/mbspbrk-tests (Makefile.am): Likewise.
33579         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
33580         * modules/mbsrchr-tests (Makefile.am): Likewise.
33581         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
33582         * modules/mbsspn-tests (Makefile.am): Likewise.
33583         * modules/mbsstr-tests (Makefile.am): Likewise.
33584         * modules/nl_langinfo-tests (Makefile.am): Likewise.
33585         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
33586         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
33587         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
33588         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
33589         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
33590         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
33591         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
33592         * modules/wcrtomb-tests (Makefile.am): Likewise.
33593         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
33594         * modules/wcsrtombs-tests (Makefile.am): Likewise.
33595         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
33596         assignments from TESTS_ENVIRONMENT.
33597         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
33598         augmentation.
33599         * modules/argp-version-etc-tests (Makefile.am): Likewise.
33600         * modules/atexit-tests (Makefile.am): Likewise.
33601         * modules/binary-io-tests (Makefile.am): Likewise.
33602         * modules/closein-tests (Makefile.am): Likewise.
33603         * modules/dprintf-posix-tests (Makefile.am): Likewise.
33604         * modules/exclude-tests (Makefile.am): Likewise.
33605         * modules/fflush-tests (Makefile.am): Likewise.
33606         * modules/fpending-tests (Makefile.am): Likewise.
33607         * modules/fprintf-posix-tests (Makefile.am): Likewise.
33608         * modules/freadahead-tests (Makefile.am): Likewise.
33609         * modules/freadptr-tests (Makefile.am): Likewise.
33610         * modules/freadseek-tests (Makefile.am): Likewise.
33611         * modules/fseek-tests (Makefile.am): Likewise.
33612         * modules/fseeko-tests (Makefile.am): Likewise.
33613         * modules/ftell-tests (Makefile.am): Likewise.
33614         * modules/ftello-tests (Makefile.am): Likewise.
33615         * modules/idpriv-drop-tests (Makefile.am): Likewise.
33616         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
33617         * modules/lseek-tests (Makefile.am): Likewise.
33618         * modules/parse-duration-tests (Makefile.am): Likewise.
33619         * modules/perror-tests (Makefile.am): Likewise.
33620         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
33621         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
33622         * modules/pipe-tests (Makefile.am): Likewise.
33623         * modules/pread-tests (Makefile.am): Likewise.
33624         * modules/printf-posix-tests (Makefile.am): Likewise.
33625         * modules/select-tests (Makefile.am): Likewise.
33626         * modules/sigpipe-tests (Makefile.am): Likewise.
33627         * modules/tsearch-tests (Makefile.am): Likewise.
33628         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
33629         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
33630         * modules/uniname/uniname-tests (Makefile.am): Likewise.
33631         * modules/uniwidth/width-tests (Makefile.am): Likewise.
33632         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
33633         * modules/version-etc-tests (Makefile.am): Likewise.
33634         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
33635         * modules/vprintf-posix-tests (Makefile.am): Likewise.
33636         * modules/xalloc-die-tests (Makefile.am): Likewise.
33637         * modules/xprintf-posix-tests (Makefile.am): Likewise.
33638         * modules/xstrtoimax-tests (Makefile.am): Likewise.
33639         * modules/xstrtol-tests (Makefile.am): Likewise.
33640         * modules/xstrtoumax-tests (Makefile.am): Likewise.
33641         * modules/yesno-tests (Makefile.am): Likewise.
33642         Suggested by Jim Meyering.
33643
33644 2010-01-24  Bruno Haible  <bruno@clisp.org>
33645
33646         More documentation.
33647         * doc/gnulib.texi (Writing modules): New chapter.
33648         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
33649         the new chapter.
33650
33651 2010-01-24  Jim Meyering  <meyering@redhat.com>
33652
33653         maint.mk: do not prepend "./" after filtering
33654         * top/maint.mk (_prepend_srcdir_prefix): New variable
33655         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
33656         "./" when $(srcdir) is ".".
33657
33658         define STREQ(a,b) consistently, removing useless parentheses
33659         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
33660         since the only risk is that "a" or "b" contains an unparenthesized
33661         comma, but if either did that, STREQ would have 3 or more arguments.
33662         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
33663         * lib/fts.c (STREQ): Remove unnecessary parentheses.
33664         * lib/hash-triple.c (STREQ): Likewise.
33665         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
33666         * lib/getugroups.c (STREQ): Likewise.
33667
33668 2010-01-23  Jim Meyering  <meyering@redhat.com>
33669
33670         maint.mk: fix syntax-check in a non-srcdir build directory
33671         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
33672         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
33673
33674 2010-01-22  Jim Meyering  <meyering@redhat.com>
33675
33676         userspec: add unit tests
33677         * tests/test-userspec.c: New file.
33678         * modules/userspec-tests: Likewise.
33679
33680 2010-01-21  Jim Meyering  <meyering@redhat.com>
33681
33682         maint.mk: handle source file names containing "." robustly
33683         * top/maint.mk (_dot_escaped_srcdir): Define.
33684         (VC_LIST): Use it in LHS of sed substitution.
33685
33686 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
33687
33688         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
33689         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
33690         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
33691         from a non-srcdir build.
33692
33693 2010-01-20  Eric Blake  <ebb9@byu.net>
33694
33695         warn-on-use: use instead of link-warning
33696         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
33697         * modules/unistd (Depends-on, Makefile.am): Likewise.
33698         * modules/arpa_inet (Depends-on): Replace link-warning with
33699         warn-on-use.
33700         (Makefile.am): Update rules accordingly.
33701         * modules/ctype (Depends-on, Makefile.am): Likewise.
33702         * modules/dirent (Depends-on, Makefile.am): Likewise.
33703         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
33704         * modules/inttypes (Depends-on, Makefile.am): Likewise.
33705         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33706         * modules/locale (Depends-on, Makefile.am): Likewise.
33707         * modules/math (Depends-on, Makefile.am): Likewise.
33708         * modules/search (Depends-on, Makefile.am): Likewise.
33709         * modules/signal (Depends-on, Makefile.am): Likewise.
33710         * modules/spawn (Depends-on, Makefile.am): Likewise.
33711         * modules/stdlib (Depends-on, Makefile.am): Likewise.
33712         * modules/string (Depends-on, Makefile.am): Likewise.
33713         * modules/strings (Depends-on, Makefile.am): Likewise.
33714         * modules/sys_file (Depends-on, Makefile.am): Likewise.
33715         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
33716         * modules/sys_select (Depends-on, Makefile.am): Likewise.
33717         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
33718         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
33719         * modules/sys_times (Depends-on, Makefile.am): Likewise.
33720         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33721         * modules/wchar (Depends-on, Makefile.am): Likewise.
33722         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
33723         should be poisoned.
33724         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
33725         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
33726         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
33727         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33728         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33729         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
33730         * m4/math_h.m4 (gl_MATH_H): Likewise.
33731         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33732         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
33733         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
33734         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
33735         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
33736         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
33737         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
33738         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
33739         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
33740         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33741         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
33742         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
33743         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33744         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33745         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
33746         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
33747         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
33748         GL_LINK_WARNING.
33749         * lib/ctype.in.h: Likewise.
33750         * lib/dirent.in.h: Likewise.
33751         * lib/fcntl.in.h: Likewise.
33752         * lib/inttypes.in.h: Likewise.
33753         * lib/langinfo.in.h: Likewise.
33754         * lib/locale.in.h: Likewise.
33755         * lib/math.in.h: Likewise.
33756         * lib/search.in.h: Likewise.
33757         * lib/signal.in.h: Likewise.
33758         * lib/spawn.in.h: Likewise.
33759         * lib/stdio.in.h: Likewise.
33760         * lib/stdlib.in.h: Likewise.
33761         * lib/string.in.h: Likewise.
33762         * lib/strings.in.h: Likewise.
33763         * lib/sys_file.in.h: Likewise.
33764         * lib/sys_ioctl.in.h: Likewise.
33765         * lib/sys_select.in.h: Likewise.
33766         * lib/sys_socket.in.h: Likewise.
33767         * lib/sys_stat.in.h: Likewise.
33768         * lib/sys_times.in.h: Likewise.
33769         * lib/sys_utsname.in.h: Likewise.
33770         * lib/unistd.in.h: Likewise.
33771         * lib/wchar.in.h: Likewise.
33772
33773 2010-01-20  Bruno Haible  <bruno@clisp.org>
33774
33775         Avoid duplicate -lm.
33776         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
33777         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
33778         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
33779         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
33780         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
33781         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
33782         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
33783         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
33784         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
33785         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
33786         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
33787         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
33788         Reported by Paolo Bonzini.
33789
33790 2010-01-19  Bruno Haible  <bruno@clisp.org>
33791
33792         langinfo, nl_langinfo: Relicense under LGPLv2+.
33793         * modules/langinfo (License): Change to LGPLv2+.
33794         * modules/nl_langinfo (License): Likewise.
33795         Patch by David Lutterkort <lutter@redhat.com>.
33796
33797 2010-01-19  Bruno Haible  <bruno@clisp.org>
33798
33799         Avoid compilation error with cc on OSF/1 5.1.
33800         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
33801         statement, not before.
33802         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33803
33804 2010-01-18  Bruno Haible  <bruno@clisp.org>
33805
33806         Avoid a link error due to the __printf__ symbol.
33807         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
33808         and 2.6.x.
33809         (__format__, __printf__): Remove definitions.
33810         * lib/argp-fmtstream.h: Likewise.
33811         * lib/argp.h: Likewise.
33812         * lib/error.h: Likewise.
33813         * lib/vasnprintf.h: Likewise.
33814         * lib/xprintf.h: Likewise.
33815         * lib/xvasprintf.h: Likewise.
33816         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33817
33818 2010-01-18  Bruno Haible  <bruno@clisp.org>
33819
33820         Tests for module 'tanl'.
33821         * modules/tanl-tests: New file.
33822         * tests/test-tanl.c: New file.
33823
33824         Tests for module 'sqrtl'.
33825         * modules/sqrtl-tests: New file.
33826         * tests/test-sqrtl.c: New file.
33827
33828         Tests for module 'sinl'.
33829         * modules/sinl-tests: New file.
33830         * tests/test-sinl.c: New file.
33831
33832         Tests for module 'logl'.
33833         * modules/logl-tests: New file.
33834         * tests/test-logl.c: New file.
33835
33836         Tests for module 'expl'.
33837         * modules/expl-tests: New file.
33838         * tests/test-expl.c: New file.
33839
33840         Tests for module 'cosl'.
33841         * modules/cosl-tests: New file.
33842         * tests/test-cosl.c: New file.
33843
33844         Tests for module 'atanl'.
33845         * modules/atanl-tests: New file.
33846         * tests/test-atanl.c: New file.
33847
33848         Tests for module 'asinl'.
33849         * modules/asinl-tests: New file.
33850         * tests/test-asinl.c: New file.
33851
33852         Tests for module 'acosl'.
33853         * modules/acosl-tests: New file.
33854         * tests/test-acosl.c: New file.
33855
33856         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33857         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
33858         tanl): Use the standard gnulib idiom.
33859         * lib/cosl.c: Don't include trigl.c and sincosl.c.
33860         * lib/sinl.c: Likewise.
33861         * lib/tanl.c: Don't include trigl.c.
33862         (kernel_tanl): Make static.
33863         * lib/sincosl.c: Include trigl.h first.
33864         * lib/trigl.c: Likewise.
33865         * m4/acosl.m4: New file.
33866         * m4/asinl.m4: New file.
33867         * m4/atanl.m4: New file.
33868         * m4/cosl.m4: New file.
33869         * m4/expl.m4: New file.
33870         * m4/logl.m4: New file.
33871         * m4/sinl.m4: New file.
33872         * m4/sqrtl.m4: New file.
33873         * m4/tanl.m4: New file.
33874         * m4/mathl.m4: Remove file.
33875         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
33876         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33877         Don't initialize GNULIB_MATHL.
33878         * modules/acosl: New file.
33879         * modules/asinl: New file.
33880         * modules/atanl: New file.
33881         * modules/cosl: New file.
33882         * modules/expl: New file.
33883         * modules/logl: New file.
33884         * modules/sinl: New file.
33885         * modules/sqrtl: New file.
33886         * modules/tanl: New file.
33887         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
33888         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
33889         substitute GNULIB_MATHL.
33890         * modules/mathl: Rewritten.
33891         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
33892         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
33893         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
33894         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
33895         * doc/posix-functions/expl.texi: Mention the 'expl' module.
33896         * doc/posix-functions/logl.texi: Mention the 'logl' module.
33897         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
33898         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
33899         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
33900
33901 2010-01-18  Bruno Haible  <bruno@clisp.org>
33902
33903         sqrt: Make gl_FUNC_SQRT requirable.
33904         * m4/sqrt.m4: New file.
33905         * modules/sqrt (Files): Add it.
33906         (configure.ac): Invoke gl_FUNC_SQRT.
33907
33908 2010-01-18  Bruno Haible  <bruno@clisp.org>
33909
33910         New modules for common <math.h> functions.
33911         * m4/mathfunc.m4: New file.
33912         * modules/acos: New file.
33913         * modules/asin: New file.
33914         * modules/atan: New file.
33915         * modules/atan2: New file.
33916         * modules/cbrt: New file.
33917         * modules/copysign: New file.
33918         * modules/cos: New file.
33919         * modules/cosh: New file.
33920         * modules/erf: New file.
33921         * modules/erfc: New file.
33922         * modules/exp: New file.
33923         * modules/fabs: New file.
33924         * modules/fmod: New file.
33925         * modules/hypot: New file.
33926         * modules/j0: New file.
33927         * modules/j1: New file.
33928         * modules/jn: New file.
33929         * modules/ldexp: New file.
33930         * modules/lgamma: New file.
33931         * modules/log: New file.
33932         * modules/log10: New file.
33933         * modules/log1p: New file.
33934         * modules/logb: New file.
33935         * modules/modf: New file.
33936         * modules/nextafter: New file.
33937         * modules/pow: New file.
33938         * modules/remainder: New file.
33939         * modules/rint: New file.
33940         * modules/sin: New file.
33941         * modules/sinh: New file.
33942         * modules/sqrt: New file.
33943         * modules/tan: New file.
33944         * modules/tanh: New file.
33945         * modules/y0: New file.
33946         * modules/y1: New file.
33947         * modules/yn: New file.
33948         * doc/posix-functions/acos.texi: Mention the 'acos' module.
33949         * doc/posix-functions/asin.texi: Mention the 'asin' module.
33950         * doc/posix-functions/atan.texi: Mention the 'atan' module.
33951         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
33952         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
33953         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
33954         * doc/posix-functions/cos.texi: Mention the 'cos' module.
33955         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
33956         * doc/posix-functions/erf.texi: Mention the 'erf' module.
33957         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
33958         * doc/posix-functions/exp.texi: Mention the 'exp' module.
33959         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
33960         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
33961         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
33962         * doc/posix-functions/j0.texi: Mention the 'j0' module.
33963         * doc/posix-functions/j1.texi: Mention the 'j1' module.
33964         * doc/posix-functions/jn.texi: Mention the 'jn' module.
33965         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
33966         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
33967         * doc/posix-functions/log.texi: Mention the 'log' module.
33968         * doc/posix-functions/log10.texi: Mention the 'log10' module.
33969         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
33970         * doc/posix-functions/logb.texi: Mention the 'logb' module.
33971         * doc/posix-functions/modf.texi: Mention the 'modf' module.
33972         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
33973         * doc/posix-functions/pow.texi: Mention the 'pow' module.
33974         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
33975         * doc/posix-functions/rint.texi: Mention the 'rint' module.
33976         * doc/posix-functions/sin.texi: Mention the 'sin' module.
33977         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
33978         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
33979         * doc/posix-functions/tan.texi: Mention the 'tan' module.
33980         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
33981         * doc/posix-functions/y0.texi: Mention the 'y0' module.
33982         * doc/posix-functions/y1.texi: Mention the 'y1' module.
33983         * doc/posix-functions/yn.texi: Mention the 'yn' module.
33984
33985 2010-01-18  Jim Meyering  <meyering@redhat.com>
33986
33987         ignore-value: relax license to LGPLv2+
33988         * modules/ignore-value (License): Relax to LGPLv2+.
33989
33990         getdate: don't leak when TZ contains two or more '"'s
33991         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
33992         double quote in TZ after the first one.
33993
33994         readtokens: do not leak internal token_lengths buffer
33995         * lib/readtokens.c (readtokens): Free the local, lengths,
33996         when the supplied "token_lengths" parameter is NULL.
33997
33998 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33999
34000         Fix a couple of missing LIBTHREAD link failures on AIX.
34001         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
34002         $(LIBTHREAD).
34003         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
34004
34005         Link test-poll against INET_PTON_LIB.
34006         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
34007         for inet_pton on Solaris 10.
34008
34009 2010-01-17  Bruno Haible  <bruno@clisp.org>
34010
34011         unistdio/*-sprintf: Fix typo in module description.
34012         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
34013         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
34014         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
34015         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
34016         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
34017         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
34018         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
34019         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34020
34021 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34022
34023         gnulib-tool: fix filelist for AIX, HP-UX ksh.
34024         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
34025         variables in shell case patterns, for AIX and HP-UX ksh.
34026
34027         Split large sed scripts, for HP-UX sed.
34028         * modules/stdio: Split sed scripts around 50 sed commands,
34029         to avoid HP-UX limit of 99 commands, in the near future.
34030         * modules/string: Likewise.
34031         * modules/unistd: Likewise.
34032
34033         gnulib-tool: avoid writing in the current directory.
34034         * gnulib-tool (func_emit_lib_Makefile_am)
34035         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
34036         not in the current directory, so concurrent gnulib-tool
34037         instances do not interfere.
34038
34039 2010-01-16  Jim Meyering  <meyering@redhat.com>
34040
34041         doc: update users.txt
34042         * users.txt: Add grep.
34043         (diffutils, gzip): Update URLs.
34044
34045 2010-01-12  Bruno Haible  <bruno@clisp.org>
34046
34047         posix_spawn: Avoid test failure on Cygwin.
34048         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
34049         characters.
34050         Reported by Simon Josefsson.
34051
34052 2010-01-12  Bruno Haible  <bruno@clisp.org>
34053
34054         * tests/test-cond.c (main): When skipping the test, show the reason.
34055
34056 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34057
34058         * lib/striconv.c (str_cd_iconv): Avoid if before free.
34059
34060 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34061
34062         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
34063         VC_LIST_ALWAYS_EXCLUDE_REGEX.
34064
34065 2010-01-12  Eric Blake  <ebb9@byu.net>
34066
34067         build: guarantee AS_VAR_IF
34068         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
34069         (gl_AS_VAR_IF): Move...
34070         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
34071         Reported by Simon Josefsson.
34072
34073 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34074
34075         * lib/stdio.in.h: Fix typo.
34076
34077 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34078
34079         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
34080         libgpg-error.
34081
34082 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34083
34084         * tests/test-xalloc-die.sh: Use $EXEEXT.
34085
34086 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34087             Bruno Haible  <bruno@clisp.org>
34088
34089         getlogin, getlogin_r: Avoid test failure.
34090         * tests/test-getlogin.c: Include <stdio.h>.
34091         (main): Skip the test when the function fails because stdin is not a
34092         tty.
34093         * tests/test-getlogin_r.c: Include <stdio.h>.
34094         (main): Skip the test when the function fails because stdin is not a
34095         tty.
34096
34097 2010-01-11  Eric Blake  <ebb9@byu.net>
34098
34099         tests: avoid more large file warnings
34100         * tests/test-fflush.c: Avoid warning about ftell use.
34101         * tests/test-fseek.c: Avoid warning about fseek use.
34102
34103 2010-01-10  Bruno Haible  <bruno@clisp.org>
34104
34105         nproc: Work better on Linux when /proc and /sys are not mounted.
34106         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
34107         as lower bound when, on glibc/Linux systems,
34108         sysconf (_SC_NPROCESSORS_CONF) returns 1.
34109         Suggested by Pádraig Brady <P@draigbrady.com>.
34110         Reported by Dmitry V. Levin <ldv@altlinux.org>.
34111
34112         nproc: Refactor.
34113         * lib/nproc.c (num_processors_via_affinity_mask): New function,
34114         extracted from num_processors.
34115         (num_processors): Call it.
34116
34117 2010-01-11  Jim Meyering  <meyering@redhat.com>
34118
34119         utimecmp: avoid new warning from upcoming gcc-4.5.0
34120         * lib/utimecmp.c (BILLION): Define using #define rather than an
34121         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
34122
34123 2010-01-11  Eric Blake  <ebb9@byu.net>
34124
34125         math: add portability warnings for classification macros
34126         * modules/math (Depends-on): Add warn-on-use.
34127         (Makefile.am): Provide new substitutions.
34128         * m4/math_h.m4 (gl_MATH_H): Require inline.
34129         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
34130         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
34131         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
34132         implement warnings.
34133
34134         unistd: warn on use of environ without module
34135         * modules/unistd (Depends-on): Add warn-on-use.
34136         (Makefile.am): Provide new substitutions.
34137         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
34138         * lib/unistd.in.h (environ): Wrap with a warning helper function.
34139
34140         stdio: warn on suspicious uses
34141         * modules/stdio (Depends-on): Add warn-on-use.
34142         (Makefile.am): Provide new substitutions.
34143         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
34144         fseeko.
34145         * lib/stdio.in.h (gets): Always warn on use.
34146         (fseek, ftell): Adjust when warnings are issued, and honor
34147         _GL_NO_LARGE_FILES as a way to silence the warning.
34148         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
34149         any warning about large file offsets.
34150         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
34151         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
34152         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
34153         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
34154         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
34155         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
34156         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
34157         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
34158
34159         warn-on-use: new module
34160         * modules/warn-on-use: New file.
34161         * build-aux/warn-on-use.h: Likewise.
34162         * m4/warn-on-use.m4: Likewise.
34163         * MODULES.html.sh (Support for building): Mention it.
34164
34165 2010-01-10  Bruno Haible  <bruno@clisp.org>
34166
34167         Tests for module 'unistr/u32-strdup'.
34168         * modules/unistr/u32-strdup-tests: New file.
34169         * tests/unistr/test-u32-strdup.c: New file.
34170
34171         Tests for module 'unistr/u16-strdup'.
34172         * modules/unistr/u16-strdup-tests: New file.
34173         * tests/unistr/test-u16-strdup.c: New file.
34174
34175         Tests for module 'unistr/u8-strdup'.
34176         * modules/unistr/u8-strdup-tests: New file.
34177         * tests/unistr/test-u8-strdup.c: New file.
34178         * tests/unistr/test-strdup.h: New file.
34179
34180         Tests for module 'unistr/u32-strncmp'.
34181         * modules/unistr/u32-strncmp-tests: New file.
34182         * tests/unistr/test-u32-strncmp.c: New file.
34183
34184         Tests for module 'unistr/u16-strncmp'.
34185         * modules/unistr/u16-strncmp-tests: New file.
34186         * tests/unistr/test-u16-strncmp.c: New file.
34187
34188         Tests for module 'unistr/u8-strncmp'.
34189         * modules/unistr/u8-strncmp-tests: New file.
34190         * tests/unistr/test-u8-strncmp.c: New file.
34191         * tests/unistr/test-strncmp.h: New file.
34192
34193         Tests for module 'unistr/u32-strcoll'.
34194         * modules/unistr/u32-strcoll-tests: New file.
34195         * tests/unistr/test-u32-strcoll.c: New file.
34196
34197         Tests for module 'unistr/u16-strcoll'.
34198         * modules/unistr/u16-strcoll-tests: New file.
34199         * tests/unistr/test-u16-strcoll.c: New file.
34200
34201         Tests for module 'unistr/u8-strcoll'.
34202         * modules/unistr/u8-strcoll-tests: New file.
34203         * tests/unistr/test-u8-strcoll.c: New file.
34204
34205         Tests for module 'unistr/u32-strcmp'.
34206         * modules/unistr/u32-strcmp-tests: New file.
34207         * tests/unistr/test-u32-strcmp.c: New file.
34208         * tests/unistr/test-u32-strcmp.h: New file.
34209
34210         Tests for module 'unistr/u16-strcmp'.
34211         * modules/unistr/u16-strcmp-tests: New file.
34212         * tests/unistr/test-u16-strcmp.c: New file.
34213         * tests/unistr/test-u16-strcmp.h: New file.
34214
34215         Tests for module 'unistr/u8-strcmp'.
34216         * modules/unistr/u8-strcmp-tests: New file.
34217         * tests/unistr/test-u8-strcmp.c: New file.
34218         * tests/unistr/test-u8-strcmp.h: New file.
34219         * tests/unistr/test-strcmp.h: New file.
34220
34221         Tests for module 'unistr/u32-strncat'.
34222         * modules/unistr/u32-strncat-tests: New file.
34223         * tests/unistr/test-u32-strncat.c: New file.
34224
34225         Tests for module 'unistr/u16-strncat'.
34226         * modules/unistr/u16-strncat-tests: New file.
34227         * tests/unistr/test-u16-strncat.c: New file.
34228
34229         Tests for module 'unistr/u8-strncat'.
34230         * modules/unistr/u8-strncat-tests: New file.
34231         * tests/unistr/test-u8-strncat.c: New file.
34232         * tests/unistr/test-strncat.h: New file.
34233
34234         Tests for module 'unistr/u32-strcat'.
34235         * modules/unistr/u32-strcat-tests: New file.
34236         * tests/unistr/test-u32-strcat.c: New file.
34237
34238         Tests for module 'unistr/u16-strcat'.
34239         * modules/unistr/u16-strcat-tests: New file.
34240         * tests/unistr/test-u16-strcat.c: New file.
34241
34242         Tests for module 'unistr/u8-strcat'.
34243         * modules/unistr/u8-strcat-tests: New file.
34244         * tests/unistr/test-u8-strcat.c: New file.
34245         * tests/unistr/test-strcat.h: New file.
34246
34247         Tests for module 'unistr/u32-stpncpy'.
34248         * modules/unistr/u32-stpncpy-tests: New file.
34249         * tests/unistr/test-u32-stpncpy.c: New file.
34250
34251         Tests for module 'unistr/u16-stpncpy'.
34252         * modules/unistr/u16-stpncpy-tests: New file.
34253         * tests/unistr/test-u16-stpncpy.c: New file.
34254
34255         Tests for module 'unistr/u8-stpncpy'.
34256         * modules/unistr/u8-stpncpy-tests: New file.
34257         * tests/unistr/test-u8-stpncpy.c: New file.
34258         * tests/unistr/test-stpncpy.h: New file.
34259
34260         Tests for module 'unistr/u32-strncpy'.
34261         * modules/unistr/u32-strncpy-tests: New file.
34262         * tests/unistr/test-u32-strncpy.c: New file.
34263
34264         Tests for module 'unistr/u16-strncpy'.
34265         * modules/unistr/u16-strncpy-tests: New file.
34266         * tests/unistr/test-u16-strncpy.c: New file.
34267
34268         Tests for module 'unistr/u8-strncpy'.
34269         * modules/unistr/u8-strncpy-tests: New file.
34270         * tests/unistr/test-u8-strncpy.c: New file.
34271         * tests/unistr/test-strncpy.h: New file.
34272
34273         Tests for module 'unistr/u32-stpcpy'.
34274         * modules/unistr/u32-stpcpy-tests: New file.
34275         * tests/unistr/test-u32-stpcpy.c: New file.
34276
34277         Tests for module 'unistr/u16-stpcpy'.
34278         * modules/unistr/u16-stpcpy-tests: New file.
34279         * tests/unistr/test-u16-stpcpy.c: New file.
34280
34281         Tests for module 'unistr/u8-stpcpy'.
34282         * modules/unistr/u8-stpcpy-tests: New file.
34283         * tests/unistr/test-u8-stpcpy.c: New file.
34284         * tests/unistr/test-stpcpy.h: New file.
34285
34286         Tests for module 'unistr/u32-strcpy'.
34287         * modules/unistr/u32-strcpy-tests: New file.
34288         * tests/unistr/test-u32-strcpy.c: New file.
34289
34290         Tests for module 'unistr/u16-strcpy'.
34291         * modules/unistr/u16-strcpy-tests: New file.
34292         * tests/unistr/test-u16-strcpy.c: New file.
34293
34294         Tests for module 'unistr/u8-strcpy'.
34295         * modules/unistr/u8-strcpy-tests: New file.
34296         * tests/unistr/test-u8-strcpy.c: New file.
34297         * tests/unistr/test-strcpy.h: New file.
34298
34299         Tests for module 'unistr/u32-strnlen'.
34300         * modules/unistr/u32-strnlen-tests: New file.
34301         * tests/unistr/test-u32-strnlen.c: New file.
34302
34303         Tests for module 'unistr/u16-strnlen'.
34304         * modules/unistr/u16-strnlen-tests: New file.
34305         * tests/unistr/test-u16-strnlen.c: New file.
34306
34307         Tests for module 'unistr/u8-strnlen'.
34308         * modules/unistr/u8-strnlen-tests: New file.
34309         * tests/unistr/test-u8-strnlen.c: New file.
34310         * tests/unistr/test-strnlen.h: New file.
34311
34312         Tests for module 'unistr/u32-strlen'.
34313         * modules/unistr/u32-strlen-tests: New file.
34314         * tests/unistr/test-u32-strlen.c: New file.
34315
34316         Tests for module 'unistr/u16-strlen'.
34317         * modules/unistr/u16-strlen-tests: New file.
34318         * tests/unistr/test-u16-strlen.c: New file.
34319
34320         Tests for module 'unistr/u8-strlen'.
34321         * modules/unistr/u8-strlen-tests: New file.
34322         * tests/unistr/test-u8-strlen.c: New file.
34323
34324         Tests for module 'unistr/u32-prev'.
34325         * modules/unistr/u32-prev-tests: New file.
34326         * tests/unistr/test-u32-prev.c: New file.
34327
34328         Tests for module 'unistr/u16-prev'.
34329         * modules/unistr/u16-prev-tests: New file.
34330         * tests/unistr/test-u16-prev.c: New file.
34331
34332         Tests for module 'unistr/u8-prev'.
34333         * modules/unistr/u8-prev-tests: New file.
34334         * tests/unistr/test-u8-prev.c: New file.
34335
34336         Tests for module 'unistr/u32-next'.
34337         * modules/unistr/u32-next-tests: New file.
34338         * tests/unistr/test-u32-next.c: New file.
34339
34340         Tests for module 'unistr/u16-next'.
34341         * modules/unistr/u16-next-tests: New file.
34342         * tests/unistr/test-u16-next.c: New file.
34343
34344         Tests for module 'unistr/u8-next'.
34345         * modules/unistr/u8-next-tests: New file.
34346         * tests/unistr/test-u8-next.c: New file.
34347
34348         Tests for module 'unistr/u32-strmbtouc'.
34349         * modules/unistr/u32-strmbtouc-tests: New file.
34350         * tests/unistr/test-u32-strmbtouc.c: New file.
34351
34352         Tests for module 'unistr/u16-strmbtouc'.
34353         * modules/unistr/u16-strmbtouc-tests: New file.
34354         * tests/unistr/test-u16-strmbtouc.c: New file.
34355
34356         Tests for module 'unistr/u8-strmbtouc'.
34357         * modules/unistr/u8-strmbtouc-tests: New file.
34358         * tests/unistr/test-u8-strmbtouc.c: New file.
34359
34360         Tests for module 'unistr/u32-strmblen'.
34361         * modules/unistr/u32-strmblen-tests: New file.
34362         * tests/unistr/test-u32-strmblen.c: New file.
34363
34364         Tests for module 'unistr/u16-strmblen'.
34365         * modules/unistr/u16-strmblen-tests: New file.
34366         * tests/unistr/test-u16-strmblen.c: New file.
34367
34368         Tests for module 'unistr/u8-strmblen'.
34369         * modules/unistr/u8-strmblen-tests: New file.
34370         * tests/unistr/test-u8-strmblen.c: New file.
34371
34372         Tests for module 'unistr/u32-cpy-alloc'.
34373         * modules/unistr/u32-cpy-alloc-tests: New file.
34374         * tests/unistr/test-u32-cpy-alloc.c: New file.
34375
34376         Tests for module 'unistr/u16-cpy-alloc'.
34377         * modules/unistr/u16-cpy-alloc-tests: New file.
34378         * tests/unistr/test-u16-cpy-alloc.c: New file.
34379
34380         Tests for module 'unistr/u8-cpy-alloc'.
34381         * modules/unistr/u8-cpy-alloc-tests: New file.
34382         * tests/unistr/test-u8-cpy-alloc.c: New file.
34383         * tests/unistr/test-cpy-alloc.h: New file.
34384
34385         Tests for module 'unistr/u32-mbsnlen'.
34386         * modules/unistr/u32-mbsnlen-tests: New file.
34387         * tests/unistr/test-u32-mbsnlen.c: New file.
34388
34389         Tests for module 'unistr/u16-mbsnlen'.
34390         * modules/unistr/u16-mbsnlen-tests: New file.
34391         * tests/unistr/test-u16-mbsnlen.c: New file.
34392
34393         Tests for module 'unistr/u8-mbsnlen'.
34394         * modules/unistr/u8-mbsnlen-tests: New file.
34395         * tests/unistr/test-u8-mbsnlen.c: New file.
34396
34397         Tests for module 'unistr/u32-chr'.
34398         * modules/unistr/u32-chr-tests: New file.
34399         * tests/unistr/test-u32-chr.c: New file.
34400
34401         Tests for module 'unistr/u16-chr'.
34402         * modules/unistr/u16-chr-tests: New file.
34403         * tests/unistr/test-u16-chr.c: New file.
34404
34405         Tests for module 'unistr/u8-chr'.
34406         * modules/unistr/u8-chr-tests: New file.
34407         * tests/unistr/test-u8-chr.c: New file.
34408         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
34409
34410         Tests for module 'unistr/u32-cmp2'.
34411         * modules/unistr/u32-cmp2-tests: New file.
34412         * tests/unistr/test-u32-cmp2.c: New file.
34413
34414         Tests for module 'unistr/u16-cmp2'.
34415         * modules/unistr/u16-cmp2-tests: New file.
34416         * tests/unistr/test-u16-cmp2.c: New file.
34417
34418         Tests for module 'unistr/u8-cmp2'.
34419         * modules/unistr/u8-cmp2-tests: New file.
34420         * tests/unistr/test-u8-cmp2.c: New file.
34421         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
34422
34423         Tests for module 'unistr/u32-cmp'.
34424         * modules/unistr/u32-cmp-tests: New file.
34425         * tests/unistr/test-u32-cmp.c: New file.
34426
34427         Tests for module 'unistr/u16-cmp'.
34428         * modules/unistr/u16-cmp-tests: New file.
34429         * tests/unistr/test-u16-cmp.c: New file.
34430
34431         Tests for module 'unistr/u8-cmp'.
34432         * modules/unistr/u8-cmp-tests: New file.
34433         * tests/unistr/test-u8-cmp.c: New file.
34434         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
34435
34436         Tests for module 'unistr/u32-set'.
34437         * modules/unistr/u32-set-tests: New file.
34438         * tests/unistr/test-u32-set.c: New file.
34439
34440         Tests for module 'unistr/u16-set'.
34441         * modules/unistr/u16-set-tests: New file.
34442         * tests/unistr/test-u16-set.c: New file.
34443
34444         Tests for module 'unistr/u8-set'.
34445         * modules/unistr/u8-set-tests: New file.
34446         * tests/unistr/test-u8-set.c: New file.
34447         * tests/unistr/test-set.h: New file.
34448
34449         Tests for module 'unistr/u32-move'.
34450         * modules/unistr/u32-move-tests: New file.
34451         * tests/unistr/test-u32-move.c: New file.
34452
34453         Tests for module 'unistr/u16-move'.
34454         * modules/unistr/u16-move-tests: New file.
34455         * tests/unistr/test-u16-move.c: New file.
34456
34457         Tests for module 'unistr/u8-move'.
34458         * modules/unistr/u8-move-tests: New file.
34459         * tests/unistr/test-u8-move.c: New file.
34460         * tests/unistr/test-move.h: New file.
34461
34462         Tests for module 'unistr/u32-cpy'.
34463         * modules/unistr/u32-cpy-tests: New file.
34464         * tests/unistr/test-u32-cpy.c: New file.
34465
34466         Tests for module 'unistr/u16-cpy'.
34467         * modules/unistr/u16-cpy-tests: New file.
34468         * tests/unistr/test-u16-cpy.c: New file.
34469
34470         Tests for module 'unistr/u8-cpy'.
34471         * modules/unistr/u8-cpy-tests: New file.
34472         * tests/unistr/test-u8-cpy.c: New file.
34473         * tests/unistr/test-cpy.h: New file.
34474
34475 2010-01-09  Bruno Haible  <bruno@clisp.org>
34476
34477         Tests for module 'unistr/u32-uctomb'.
34478         * modules/unistr/u32-uctomb-tests: New file.
34479         * tests/unistr/test-u32-uctomb.c: New file.
34480
34481         Tests for module 'unistr/u16-uctomb'.
34482         * modules/unistr/u16-uctomb-tests: New file.
34483         * tests/unistr/test-u16-uctomb.c: New file.
34484
34485         Tests for module 'unistr/u8-uctomb'.
34486         * modules/unistr/u8-uctomb-tests: New file.
34487         * tests/unistr/test-u8-uctomb.c: New file.
34488
34489         Tests for module 'unistr/u32-mbtoucr'.
34490         * modules/unistr/u32-mbtoucr-tests: New file.
34491         * tests/unistr/test-u32-mbtoucr.c: New file.
34492
34493         Tests for module 'unistr/u16-mbtoucr'.
34494         * modules/unistr/u16-mbtoucr-tests: New file.
34495         * tests/unistr/test-u16-mbtoucr.c: New file.
34496
34497         Tests for module 'unistr/u8-mbtoucr'.
34498         * modules/unistr/u8-mbtoucr-tests: New file.
34499         * tests/unistr/test-u8-mbtoucr.c: New file.
34500
34501         Tests for module 'unistr/u32-mbtouc'.
34502         * modules/unistr/u32-mbtouc-tests: New file.
34503         * tests/unistr/test-u32-mbtouc.c: New file.
34504
34505         Tests for module 'unistr/u16-mbtouc'.
34506         * modules/unistr/u16-mbtouc-tests: New file.
34507         * tests/unistr/test-u16-mbtouc.c: New file.
34508
34509         Tests for module 'unistr/u8-mbtouc'.
34510         * modules/unistr/u8-mbtouc-tests: New file.
34511         * tests/unistr/test-u8-mbtouc.c: New file.
34512
34513         Tests for module 'unistr/u32-mbtouc-unsafe'.
34514         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
34515         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
34516         * tests/unistr/test-u32-mbtouc.h: New file.
34517
34518         Tests for module 'unistr/u16-mbtouc-unsafe'.
34519         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
34520         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
34521         * tests/unistr/test-u16-mbtouc.h: New file.
34522
34523         Tests for module 'unistr/u8-mbtouc-unsafe'.
34524         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
34525         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
34526         * tests/unistr/test-u8-mbtouc.h: New file.
34527
34528         Tests for module 'unistr/u32-mblen'.
34529         * modules/unistr/u32-mblen-tests: New file.
34530         * tests/unistr/test-u32-mblen.c: New file.
34531
34532         Tests for module 'unistr/u16-mblen'.
34533         * modules/unistr/u16-mblen-tests: New file.
34534         * tests/unistr/test-u16-mblen.c: New file.
34535
34536         Tests for module 'unistr/u8-mblen'.
34537         * modules/unistr/u8-mblen-tests: New file.
34538         * tests/unistr/test-u8-mblen.c: New file.
34539
34540         Tests for module 'unistr/u32-to-u16'.
34541         * modules/unistr/u32-to-u16-tests: New file.
34542         * tests/unistr/test-u32-to-u16.c: New file.
34543
34544         Tests for module 'unistr/u32-to-u8'.
34545         * modules/unistr/u32-to-u8-tests: New file.
34546         * tests/unistr/test-u32-to-u8.c: New file.
34547
34548         Tests for module 'unistr/u16-to-u32'.
34549         * modules/unistr/u16-to-u32-tests: New file.
34550         * tests/unistr/test-u16-to-u32.c: New file.
34551
34552         Tests for module 'unistr/u16-to-u8'.
34553         * modules/unistr/u16-to-u8-tests: New file.
34554         * tests/unistr/test-u16-to-u8.c: New file.
34555
34556         Tests for module 'unistr/u8-to-u32'.
34557         * modules/unistr/u8-to-u32-tests: New file.
34558         * tests/unistr/test-u8-to-u32.c: New file.
34559
34560         Tests for module 'unistr/u8-to-u16'.
34561         * modules/unistr/u8-to-u16-tests: New file.
34562         * tests/unistr/test-u8-to-u16.c: New file.
34563
34564         Tests for module 'unistr/u32-check'.
34565         * modules/unistr/u32-check-tests: New file.
34566         * tests/unistr/test-u32-check.c: New file.
34567
34568         Tests for module 'unistr/u16-check'.
34569         * modules/unistr/u16-check-tests: New file.
34570         * tests/unistr/test-u16-check.c: New file.
34571
34572         Tests for module 'unistr/u8-check'.
34573         * modules/unistr/u8-check-tests: New file.
34574         * tests/unistr/test-u8-check.c: New file.
34575
34576         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
34577         (category_equals): New function.
34578         (main): Add more tests.
34579         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
34580
34581         * tests/unictype/test-bidi_byname.c (main): Add more tests.
34582
34583 2010-01-10  Bruno Haible  <bruno@clisp.org>
34584
34585         unistr/u*-strcoll: Try harder to distinguish different strings.
34586         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
34587         compare s1 and s2 to see if they are different.
34588
34589 2010-01-10  Bruno Haible  <bruno@clisp.org>
34590
34591         unistr/u*-stpncpy: Fix the return value.
34592         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
34593         description of the return value consistent with stpncpy in glibc.
34594         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
34595         written non-NUL unit.
34596
34597 2010-01-10  Bruno Haible  <bruno@clisp.org>
34598
34599         unistr/u*-next: Add missing dependencies.
34600         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
34601         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
34602         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
34603
34604 2010-01-10  Bruno Haible  <bruno@clisp.org>
34605
34606         unistr/u8-mbsnlen: Fix return value for incomplete character.
34607         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
34608         u8_mblen.
34609         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
34610         Remove unistr/u8-mblen.
34611         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
34612         u16_mblen.
34613         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
34614         Remove unistr/u16-mblen.
34615
34616 2010-01-10  Bruno Haible  <bruno@clisp.org>
34617
34618         wchar: Fix compilation error when <wchar.h> is used from coreutils.
34619         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
34620         Reported by Brian Gough <bjg@gnu.org> and
34621         Chris Clayton <chris2553@googlemail.com> via
34622         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
34623
34624 2010-01-09  Bruno Haible  <bruno@clisp.org>
34625
34626         unistr/u16-to-u32: Reject invalid input.
34627         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
34628         u16_mbtouc.
34629         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
34630         Remove unistr/u16-mbtouc.
34631
34632         unistr/u16-to-u8: Reject invalid input.
34633         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
34634         u16_mbtouc.
34635         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
34636         Remove unistr/u16-mbtouc.
34637
34638         unistr/u8-to-u32: Reject invalid input.
34639         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
34640         u8_mbtouc.
34641         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
34642         Remove unistr/u8-mbtouc.
34643
34644         unistr/u8-to-u16: Reject invalid input.
34645         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
34646         u8_mbtouc.
34647         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
34648         Remove unistr/u8-mbtouc.
34649
34650 2010-01-09  Bruno Haible  <bruno@clisp.org>
34651
34652         Tests for module 'getlogin'.
34653         * modules/getlogin-tests: New file.
34654         * tests/test-getlogin.c: New file.
34655
34656         New module 'getlogin'.
34657         * lib/unistd.in.h (getlogin): New declaration.
34658         * lib/getlogin.c: New file.
34659         * m4/getlogin.m4: New file.
34660         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
34661         HAVE_GETLOGIN.
34662         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
34663         HAVE_GETLOGIN.
34664         * modules/getlogin: New file.
34665         * doc/posix-functions/getlogin.texi: Mention the new module.
34666         Reported by John W. Eaton <jwe@gnu.org>.
34667
34668 2010-01-09  Bruno Haible  <bruno@clisp.org>
34669
34670         getlogin_r: Support for native Windows.
34671         * lib/getlogin_r.c: Include <windows.h>
34672         (getlogin_r): Implement for native Windows.
34673         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
34674         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
34675         via John W. Eaton <jwe@gnu.org>.
34676
34677 2010-01-09  Bruno Haible  <bruno@clisp.org>
34678
34679         getlogin_r: Small fixes.
34680         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
34681         succeeds.
34682         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
34683         before testing whether getlogin_r is declared. No need to set
34684         HAVE_DECL_GETLOGIN_R to 1.
34685         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
34686
34687 2010-01-09  Bruno Haible  <bruno@clisp.org>
34688
34689         * lib/unistd.in.h (getlogin_r): Add comment.
34690
34691 2010-01-09  Bruno Haible  <bruno@clisp.org>
34692
34693         Tests for module 'getlogin_r'.
34694         * modules/getlogin_r-tests: New file.
34695         * tests/test-getlogin_r.c: New file.
34696
34697 2010-01-09  Jim Meyering  <meyering@redhat.com>
34698
34699         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
34700         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
34701         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
34702
34703 2010-01-08  Simon Josefsson  <simon@josefsson.org>
34704
34705         * lib/dup2.c (rpl_dup2): Improve comment.
34706
34707 2010-01-08  Eric Blake  <ebb9@byu.net>
34708
34709         maint.mk: allow packages to add makefile @@ exceptions
34710         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
34711         (sc_makefile_check): Rename...
34712         (sc_makefile_at_at_check): ...to this, and use hook.
34713
34714         dup2: work around mingw bug
34715         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
34716         Reported by Simon Josefsson.
34717
34718 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
34719
34720         glob: Fix C++ compilation.
34721         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
34722         C++.
34723
34724 2010-01-07  Bruno Haible  <bruno@clisp.org>
34725
34726         Fix indentation of wctype.in.h, broken since 2007-01-06.
34727         * lib/wctype.in.h: Fix indentation of preprocessor directives.
34728
34729 2010-01-07  Bruno Haible  <bruno@clisp.org>
34730
34731         mbslen: Avoid collision with system function.
34732         * lib/string.in.h [MirBSD]: Include <wchar.h>.
34733         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
34734         * m4/mbslen.m4: New file.
34735         * modules/mbslen (Files): Add it.
34736         (configure.ac): Invoke gl_MBSLEN.
34737         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
34738         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
34739         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
34740         via Ian Beckwith <ianb@erislabs.net>.
34741
34742 2010-01-07  Bruno Haible  <bruno@clisp.org>
34743
34744         dirent: Document the last fix.
34745         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
34746
34747 2010-01-07  Bruno Haible  <bruno@clisp.org>
34748
34749         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
34750         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
34751         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
34752         va_list are defined.
34753         * doc/posix-headers/stdio.texi: Document the bug of missing types.
34754         Reported by Eric Blake.
34755
34756 2010-01-07  Bruno Haible  <bruno@clisp.org>
34757
34758         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
34759         * modules/xlist (Depends-on): Add 'list',
34760         * modules/xoset (Depends-on): Add 'oset'.
34761         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34762
34763 2010-01-07  Bruno Haible  <bruno@clisp.org>
34764
34765         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
34766         * doc/posix-functions/strncasecmp.texi: Likewise.
34767
34768 2010-01-07  Bruno Haible  <bruno@clisp.org>
34769
34770         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
34771
34772 2010-01-07  John W. Eaton  <jwe@octave.org>
34773
34774         wctype: allow C++ use
34775         * lib/wctype.in.h: Add extern "C" block for C++.
34776
34777 2010-01-06  Eric Blake  <ebb9@byu.net>
34778
34779         maint.mk: detect incorrect GFDL usage
34780         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
34781
34782 2010-01-06  Jim Meyering  <meyering@redhat.com>
34783         and Eric Blake  <ebb9@byu.net>
34784
34785         maint.mk: ignore multi-line copyright in NEWS
34786         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
34787
34788 2010-01-06  Eric Blake  <ebb9@byu.net>
34789
34790         select: add missing dependency
34791         * modules/select-tests (Depends-on): Move sockets dependency...
34792         * modules/select (Depends-on): ...here.
34793         Reported by Ian Beckwith.
34794
34795         doc: regenerate INSTALL
34796         * doc/INSTALL: Reflect recent autoconf update.
34797         * doc/INSTALL.ISO: Likewise.
34798         * doc/INSTALL.UTF-8: Likewise.
34799
34800         pread: fix compilation on glibc
34801         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
34802         Reported by Ralf Wildenhues.
34803
34804         dirent: fix test failure
34805         * lib/dirent.in.h (includes): Guarantee ino_t.
34806         Reported by Ralf Wildenhues.
34807
34808 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
34809
34810         linkat, renameat: avoid bad free
34811         * lib/at-func2.c (at_func2): Fix typo.
34812         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
34813
34814 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34815
34816         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
34817         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
34818         to avoid failure of symlink test later.
34819
34820 2010-01-06  Eric Blake  <ebb9@byu.net>
34821
34822         stdio, unistd: guarantee ssize_t
34823         * lib/unistd.in.h (includes): Ensure that types required by POSIX
34824         2008 are exposed when needed.
34825         * lib/stdio.in.h (includes): Likewise.
34826         Reported by Ralf Wildenhues.
34827
34828 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
34829
34830         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
34831         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
34832         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
34833
34834 2010-01-06  Jim Meyering  <meyering@redhat.com>
34835
34836         readtokens: this module *does* require xalloc.h
34837         It uses only functions that were omitted by the old syntax-check rule.
34838         * lib/readtokens.c: Include "xalloc.h" once again.
34839         * modules/readtokens (Depends-on): Add xalloc.
34840         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
34841
34842 2010-01-05  Eric Blake  <ebb9@byu.net>
34843
34844         maint: support 'make announcement' from a VPATH build
34845         * top/maint.mk (announcement): Look for correct NEWS file.
34846
34847 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
34848
34849         utimens (fdutimens): ignore a negative FD, per contract
34850         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
34851         when we have a valid file descriptor.  Otherwise, using a brand
34852         new glibc (with just-patched futimens that now fails with EBADF)
34853         would cause this function to fail with ENOSYS.
34854         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
34855         See also http://bugzilla.redhat.com/552320.
34856
34857 2010-01-05  Eric Blake  <ebb9@byu.net>
34858
34859         strcase: document what it provides
34860         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
34861         gnulib module.
34862         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
34863         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
34864
34865 2010-01-05  Jim Meyering  <meyering@redhat.com>
34866
34867         maint: remove useless inclusions of "xalloc.h"
34868         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
34869         * lib/readtokens.c: Likewise.
34870         * lib/same.c: Likewise.
34871         * modules/getloadavg (Depends-on): Remove xalloc.
34872         * modules/readtokens: Likewise.
34873         * modules/same: Likewise.
34874
34875         maint.mk: include 4 more function names in alloca.h-checking regexp
34876         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
34877         regexp.  Before, we would give a false-positive (saying alloca.h
34878         is included unnecessarily) when the only uses involved omitted symbols.
34879
34880         xalloc.h: use consistent formatting
34881         * lib/xalloc.h: Move declarations to start in the first column.
34882
34883 2010-01-05  Eric Blake  <ebb9@byu.net>
34884
34885         mkdir: avoid xalloc
34886         * lib/mkdir.c (includes): Drop unused header.
34887         Reported by John W. Eaton.
34888
34889 2010-01-04  Jim Meyering  <meyering@redhat.com>
34890
34891         nl_langinfo: avoid configure-time syntax error
34892         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
34893         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
34894         the empty string.  Don't let that provoke a shell syntax error.
34895
34896         regcomp, regexec, fnmatch: avoid array bounds read error
34897         * lib/regcomp.c (build_equiv_class): From glibc:
34898         Use only the low 24 bits of a findidx return value as an index
34899         into the weights array.  Patch by Ulrich Drepper:
34900         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
34901         * lib/regexec.c (check_node_accept_bytes): Likewise.
34902         * lib/fnmatch_loop.c (FCT): Likewise.
34903
34904         regcomp: skip collseq lookup when there are no rules
34905         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
34906         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
34907
34908         regcomp: recognize ill-formed { } expressions
34909         * lib/regcomp.c (parse_dup_op): From glibc:
34910         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
34911
34912         regcomp: fix typo in comment
34913         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
34914         s/satisfy/satisfies/.
34915
34916         regcomp: sync from glibc: remove dead store
34917         * lib/regcomp.c (duplicate_node_closure): Remove useless
34918         search_duplicated_node call and dead store.
34919
34920         regcomp: sync from glibc; always use nl_langinfo
34921         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
34922         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
34923         * modules/regex (Depends-on): Add nl_langinfo.
34924
34925 2010-01-04  Eric Blake  <ebb9@byu.net>
34926
34927         fdopendir: fix configure test
34928         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
34929
34930 2010-01-01  Bruno Haible  <bruno@clisp.org>
34931
34932         wchar: Remove unused configure check.
34933         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
34934
34935 2010-01-01  Eric Blake  <ebb9@byu.net>
34936
34937         headers: make check of system header explicit
34938         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
34939         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
34940         ourselves.
34941         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34942         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34943         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34944         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
34945         internals.
34946         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
34947         missing.
34948         Suggested by Bruno Haible.
34949
34950 2010-01-01  Jim Meyering  <meyering@redhat.com>
34951
34952         ChangeLog: tweak to eliminate unnecessary copyright line
34953         * ChangeLog: Remove a copyright line that was mistakenly updated
34954         by today's update-copyright run.  Reported by Eric Blake.
34955
34956         test-update-copyright: don't let envvar setting cause test failure
34957         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34958
34959 2010-01-01  Bruno Haible  <bruno@clisp.org>
34960
34961         localename: Avoid gcc warning.
34962         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
34963         function if it is not used.
34964
34965 2010-01-01  Jim Meyering  <meyering@redhat.com>
34966
34967         update nearly all FSF copyright year lists to include 2010
34968         Use the same procedure as for 2009, outlined in
34969         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
34970
34971         version-etc: set COPYRIGHT_YEAR to 2010
34972         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
34973
34974 2009-12-31  Eric Blake  <ebb9@byu.net>
34975
34976         doc: correct availability of cygwin 1.5.x getopt
34977         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
34978         variables.
34979         * doc/posix-functions/opterr.texi (opterr): Likewise.
34980         * doc/posix-functions/optind.texi (optind): Likewise.
34981         * doc/posix-functions/optopt.texi (optopt): Likewise.
34982         * doc/posix-functions/tzname.texi (tzname): Likewise.
34983
34984         openat: update maintainer
34985         * modules/openat (Maintainer): Add myself.
34986
34987         utimens: avoid shadowing warning
34988         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
34989         buffers into one, to avoid shadowing, as well as avoiding a
34990         redundant stat.
34991         Reported by Jim Meyering.
34992
34993         test-dup2: avoid compiler warning
34994         * tests/test-dup2.c (is_inheritable): Only define if used.
34995
34996 2010-01-01  Bruno Haible  <bruno@clisp.org>
34997
34998         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
34999         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
35000         defined, use wctomb instead of wcrtomb.
35001
35002 2010-01-01  Bruno Haible  <bruno@clisp.org>
35003
35004         iconv: Reject native Solaris iconv.
35005         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
35006         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
35007
35008 2009-12-31  Bruno Haible  <bruno@clisp.org>
35009
35010         * tests/test-signal.c (main): Remove test of 'SIG'.
35011
35012 2009-12-31  Bruno Haible  <bruno@clisp.org>
35013
35014         spawn: Fix incomplete fix.
35015         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35016         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35017         warnings for GNULIB_POSIXCHECK again.
35018         Reported by Eric Blake.
35019
35020 2009-12-31  Bruno Haible  <bruno@clisp.org>
35021
35022         Avoid namespace pollution on glibc systems.
35023         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
35024         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
35025         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
35026         glibc systems.
35027
35028 2009-12-31  Bruno Haible  <bruno@clisp.org>
35029
35030         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
35031         (gl_REPLACE_WCHAR_H): Turn into a no-op.
35032         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
35033         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
35034         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
35035         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
35036         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
35037
35038 2009-12-31  Bruno Haible  <bruno@clisp.org>
35039
35040         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35041         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
35042         afterwards.
35043
35044 2009-12-31  Bruno Haible  <bruno@clisp.org>
35045
35046         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
35047         SYS_UTSNAME_H.
35048
35049 2009-12-31  Bruno Haible  <bruno@clisp.org>
35050
35051         spawn: Fix misapplied patch.
35052         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35053         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35054         warnings for GNULIB_POSIXCHECK.
35055
35056 2009-12-31  Bruno Haible  <bruno@clisp.org>
35057
35058         times: Update after sys_times changed.
35059         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
35060         * modules/times (Files): Add it.
35061         (configure.ac): Invoke gl_FUNC_TIMES.
35062
35063 2009-12-31  Bruno Haible  <bruno@clisp.org>
35064
35065         Use AC_C_INLINE where necessary.
35066         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
35067         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
35068         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
35069         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
35070         * m4/mbfile.m4 (gl_MBFILE): Likewise.
35071         * m4/mbiter.m4 (gl_MBITER): Likewise.
35072         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35073         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
35074         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
35075         * modules/u64 (configure.ac): Likewise.
35076
35077 2009-12-31  Bruno Haible  <bruno@clisp.org>
35078
35079         Use AC_C_INLINE instead of module 'inline' where possible.
35080         * modules/inline (Description): Clarify purpose.
35081         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
35082         * modules/count-one-bits (Depends-on): Remove inline.
35083         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
35084         * modules/openat (Depends-on): Remove inline.
35085         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
35086         instead of depending on module 'inline'.
35087         * modules/filevercmp (Depends-on, configure.ac): Likewise.
35088         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
35089         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
35090         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
35091         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
35092         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
35093         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
35094         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
35095         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
35096         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
35097         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
35098         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
35099         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
35100         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
35101         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
35102         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
35103         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
35104         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
35105         Likewise.
35106         * modules/unictype/property-ascii-hex-digit (Depends-on,
35107         configure.ac): Likewise.
35108         * modules/unictype/property-bidi-arabic-digit (Depends-on,
35109         configure.ac): Likewise.
35110         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
35111         configure.ac): Likewise.
35112         * modules/unictype/property-bidi-block-separator (Depends-on,
35113         configure.ac): Likewise.
35114         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
35115         configure.ac): Likewise.
35116         * modules/unictype/property-bidi-common-separator (Depends-on,
35117         configure.ac): Likewise.
35118         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
35119         Likewise.
35120         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
35121         configure.ac): Likewise.
35122         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
35123         configure.ac): Likewise.
35124         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
35125         configure.ac): Likewise.
35126         * modules/unictype/property-bidi-european-digit (Depends-on,
35127         configure.ac): Likewise.
35128         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
35129         configure.ac): Likewise.
35130         * modules/unictype/property-bidi-left-to-right (Depends-on,
35131         configure.ac): Likewise.
35132         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
35133         configure.ac): Likewise.
35134         * modules/unictype/property-bidi-other-neutral (Depends-on,
35135         configure.ac): Likewise.
35136         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
35137         Likewise.
35138         * modules/unictype/property-bidi-segment-separator (Depends-on,
35139         configure.ac): Likewise.
35140         * modules/unictype/property-bidi-whitespace (Depends-on,
35141         configure.ac): Likewise.
35142         * modules/unictype/property-combining (Depends-on, configure.ac):
35143         Likewise.
35144         * modules/unictype/property-composite (Depends-on, configure.ac):
35145         Likewise.
35146         * modules/unictype/property-currency-symbol (Depends-on,
35147         configure.ac): Likewise.
35148         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
35149         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
35150         Likewise.
35151         * modules/unictype/property-default-ignorable-code-point (Depends-on,
35152         configure.ac): Likewise.
35153         * modules/unictype/property-deprecated (Depends-on, configure.ac):
35154         Likewise.
35155         * modules/unictype/property-diacritic (Depends-on, configure.ac):
35156         Likewise.
35157         * modules/unictype/property-extender (Depends-on, configure.ac):
35158         Likewise.
35159         * modules/unictype/property-format-control (Depends-on, configure.ac):
35160         Likewise.
35161         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
35162         Likewise.
35163         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
35164         Likewise.
35165         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
35166         Likewise.
35167         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
35168         Likewise.
35169         * modules/unictype/property-hyphen (Depends-on, configure.ac):
35170         Likewise.
35171         * modules/unictype/property-id-continue (Depends-on, configure.ac):
35172         Likewise.
35173         * modules/unictype/property-id-start (Depends-on, configure.ac):
35174         Likewise.
35175         * modules/unictype/property-ideographic (Depends-on, configure.ac):
35176         Likewise.
35177         * modules/unictype/property-ids-binary-operator (Depends-on,
35178         configure.ac): Likewise.
35179         * modules/unictype/property-ids-trinary-operator (Depends-on,
35180         configure.ac): Likewise.
35181         * modules/unictype/property-ignorable-control (Depends-on,
35182         configure.ac): Likewise.
35183         * modules/unictype/property-iso-control (Depends-on, configure.ac):
35184         Likewise.
35185         * modules/unictype/property-join-control (Depends-on, configure.ac):
35186         Likewise.
35187         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
35188         Likewise.
35189         * modules/unictype/property-line-separator (Depends-on, configure.ac):
35190         Likewise.
35191         * modules/unictype/property-logical-order-exception (Depends-on,
35192         configure.ac): Likewise.
35193         * modules/unictype/property-lowercase (Depends-on, configure.ac):
35194         Likewise.
35195         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
35196         * modules/unictype/property-non-break (Depends-on, configure.ac):
35197         Likewise.
35198         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
35199         Likewise.
35200         * modules/unictype/property-numeric (Depends-on, configure.ac):
35201         Likewise.
35202         * modules/unictype/property-other-alphabetic (Depends-on,
35203         configure.ac): Likewise.
35204         * modules/unictype/property-other-default-ignorable-code-point
35205         (Depends-on, configure.ac): Likewise.
35206         * modules/unictype/property-other-grapheme-extend (Depends-on,
35207         configure.ac): Likewise.
35208         * modules/unictype/property-other-id-continue (Depends-on,
35209         configure.ac): Likewise.
35210         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
35211         Likewise.
35212         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
35213         Likewise.
35214         * modules/unictype/property-other-math (Depends-on, configure.ac):
35215         Likewise.
35216         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
35217         Likewise.
35218         * modules/unictype/property-paired-punctuation (Depends-on,
35219         configure.ac): Likewise.
35220         * modules/unictype/property-paragraph-separator (Depends-on,
35221         configure.ac): Likewise.
35222         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
35223         Likewise.
35224         * modules/unictype/property-pattern-white-space (Depends-on,
35225         configure.ac): Likewise.
35226         * modules/unictype/property-private-use (Depends-on, configure.ac):
35227         Likewise.
35228         * modules/unictype/property-punctuation (Depends-on, configure.ac):
35229         Likewise.
35230         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
35231         Likewise.
35232         * modules/unictype/property-radical (Depends-on, configure.ac):
35233         Likewise.
35234         * modules/unictype/property-sentence-terminal (Depends-on,
35235         configure.ac): Likewise.
35236         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
35237         Likewise.
35238         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
35239         * modules/unictype/property-terminal-punctuation (Depends-on,
35240         configure.ac): Likewise.
35241         * modules/unictype/property-titlecase (Depends-on, configure.ac):
35242         Likewise.
35243         * modules/unictype/property-unassigned-code-value (Depends-on,
35244         configure.ac): Likewise.
35245         * modules/unictype/property-unified-ideograph (Depends-on,
35246         configure.ac): Likewise.
35247         * modules/unictype/property-uppercase (Depends-on, configure.ac):
35248         Likewise.
35249         * modules/unictype/property-variation-selector (Depends-on,
35250         configure.ac): Likewise.
35251         * modules/unictype/property-white-space (Depends-on, configure.ac):
35252         Likewise.
35253         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
35254         Likewise.
35255         * modules/unictype/property-xid-start (Depends-on, configure.ac):
35256         Likewise.
35257         * modules/unictype/property-zero-width (Depends-on, configure.ac):
35258         Likewise.
35259         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
35260         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
35261         Likewise.
35262
35263 2009-12-31  Bruno Haible  <bruno@clisp.org>
35264
35265         Remove unnecessary AC_C_INLINE invocation.
35266         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
35267         since 2009-08-21.
35268
35269 2009-12-31  Jim Meyering  <meyering@redhat.com>
35270
35271         maint.mk: don't require explicit gpg_key_ID in cfg.mk
35272         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
35273         With this change, we can all remove the gpg_key_ID = ... definition
35274         from our respective cfg.mk files.
35275
35276         maint.mk: create announcement template in ~/, not in /tmp
35277         * top/maint.mk (emit_upload_commands): Adjust.
35278         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
35279         Remove temporary file, .ci-msg.
35280
35281 2009-12-31  Eric Blake  <ebb9@byu.net>
35282
35283         link-warning: always build headers with link warnings
35284         * modules/arpa_inet (Makefile.am): Always build replacement
35285         header.
35286         * modules/ctype (Makefile.am): Likewise.
35287         * modules/dirent (Makefile.am): Likewise.
35288         * modules/inttypes (Makefile.am): Likewise.
35289         * modules/langinfo (Makefile.am): Likewise.
35290         * modules/locale (Makefile.am): Likewise.
35291         * modules/spawn (Makefile.am): Likewise.
35292         * modules/sys_file (Makefile.am): Likewise.
35293         * modules/sys_ioctl (Makefile.am): Likewise.
35294         * modules/sys_select (Makefile.am): Likewise.
35295         * modules/sys_socket (Makefile.am): Likewise.
35296         * modules/sys_times (Makefile.am): Likewise.
35297         * modules/sys_utsname (Makefile.am): Likewise.
35298         * modules/sys_wait (Makefile.am): Likewise.
35299         * modules/wchar (Makefile.am): Likewise.
35300         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
35301         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
35302         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
35303         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
35304         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
35305         Likewise.
35306         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35307         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35308         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
35309         Likewise.
35310         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
35311         Likewise.
35312         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
35313         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
35314         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
35315         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35316         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35317         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35318         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35319         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
35320         (gl_WCHAR_H_DEFAULTS): Likewise.
35321
35322 2009-12-31  Eric Blake  <ebb9@byu.net>
35323
35324         signal, spawn: use link warnings
35325         * lib/signal.in.h (sigset_t): Make unconditional.
35326         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
35327         (sigpending, sigprocmask, sigaction): Add link warnings.
35328         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
35329         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
35330         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
35331         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
35332         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
35333         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
35334         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
35335         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
35336         (posix_spawn_file_actions_destroy)
35337         (posix_spawn_file_actions_addopen)
35338         (posix_spawn_file_actions_addclose)
35339         (posix_spawn_file_actions_adddup2): Likewise.
35340         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
35341         * tests/test-signal.c (main): Enhance test.
35342
35343         spawn: improve wrapper support
35344         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
35345         (gl_SPAWN_H_DEFAULTS): New defaults.
35346         * modules/spawn (Makefile.am): Substitute them.
35347         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
35348         Only declare if missing or broken.
35349
35350         sys_times, sys_utsname: use include_next
35351         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
35352         header.
35353         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
35354         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35355         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35356         * modules/sys_times (Depends-on): Add include_next.
35357         (Makefile.am): Substitute additional values.
35358         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35359         * lib/sys_times.in.h (includes): Include native header, if
35360         available.
35361         * lib/sys_utsname.in.h (includes): Likewise.
35362         * tests/test-sys_times.c (main): Enhance test.
35363
35364         fdutimensat: revert prior patch
35365         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
35366         utimens.h.
35367         Reported by Bruno Haible.
35368
35369 2009-12-30  Eric Blake  <ebb9@byu.net>
35370
35371         sys_wait: drop link-warning dependency
35372         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
35373         link-warning efforts.
35374         * lib/sys_wait.in.h: Likewise.
35375
35376         fdutimensat: remove bogus dependency
35377         * modules/fdutimensat (Depends-on): Drop inline.
35378
35379         unistd: fix typo
35380         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
35381
35382 2009-12-30  Bruno Haible  <bruno@clisp.org>
35383
35384         Fix compilation error with Solaris cc.
35385         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
35386         * lib/unicase/u16-is-invariant.c: Likewise.
35387         * lib/unicase/u32-is-invariant.c: Likewise.
35388         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
35389
35390 2009-12-30  Bruno Haible  <bruno@clisp.org>
35391
35392         Fix test crash.
35393         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
35394         locales.
35395         Reported by Simon Josefsson <simon@josefsson.org>.
35396
35397 2009-12-30  Bruno Haible  <bruno@clisp.org>
35398
35399         Fix compilation error on most platforms.
35400         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
35401         Reported by Simon Josefsson <simon@josefsson.org>
35402         and Nelson H. F. Beebe <beebe@math.utah.edu>.
35403
35404 2009-12-30  Eric Blake  <ebb9@byu.net>
35405
35406         futimens, utimensat: work around ntfs-3g bug
35407         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
35408         a ctime bug is present, and expand workaround to cover ntfs-3g.
35409         * lib/utimens.c (fdutimens, lutimens): Likewise.
35410         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
35411         (validate_timespec): Adjust return value.
35412         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
35413         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35414         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
35415
35416 2009-12-29  Eric Blake  <ebb9@byu.net>
35417
35418         link-warning: make usage consistent
35419         * modules/ctype (Depends-on): Add link-warning.
35420         (Makefile.am): Update rules accordingly.
35421         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35422         * modules/locale (Depends-on, Makefile.am): Likewise.
35423         * modules/sys_file (Makefile.am): Likewise.
35424         * modules/getopt-posix (Makefile.am): Delete unused link warning
35425         efforts.
35426         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
35427         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
35428         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
35429         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
35430
35431         stdio: remove unused variables
35432         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
35433         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
35434         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
35435
35436         tests: test more substitute headers
35437         * modules/ctype-tests: New file.
35438         * modules/dirent-tests: Likewise.
35439         * modules/spawn-tests: Likewise.
35440         * modules/sys_file-tests: Likewise.
35441         * modules/sys_ioctl-tests: Likewise.
35442         * modules/sys_wait-tests: Likewise.
35443         * tests/test-ctype.c: Likewise.
35444         * tests/test-dirent.c: Likewise.
35445         * tests/test-spawn.c: Likewise.
35446         * tests/test-sys_file.c: Likewise.
35447         * tests/test-sys_ioctl.c: Likewise.
35448         * tests/test-sys_wait.c: Likewise.
35449         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
35450         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
35451         whether or not flock is in use.
35452
35453         tests: remove License section from module
35454         * modules/arpa_inet-tests: Remove unneeded section.
35455         * modules/byteswap-tests: Likewise.
35456         * modules/ceilf-tests: Likewise.
35457         * modules/ceill-tests: Likewise.
35458         * modules/crypto/des-tests: Likewise.
35459         * modules/crypto/gc-arcfour-tests: Likewise.
35460         * modules/crypto/gc-arctwo-tests: Likewise.
35461         * modules/crypto/gc-des-tests: Likewise.
35462         * modules/crypto/gc-hmac-md5-tests: Likewise.
35463         * modules/crypto/gc-hmac-sha1-tests: Likewise.
35464         * modules/crypto/gc-md2-tests: Likewise.
35465         * modules/crypto/gc-md4-tests: Likewise.
35466         * modules/crypto/gc-md5-tests: Likewise.
35467         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
35468         * modules/crypto/gc-rijndael-tests: Likewise.
35469         * modules/crypto/gc-sha1-tests: Likewise.
35470         * modules/crypto/gc-tests: Likewise.
35471         * modules/crypto/md2-tests: Likewise.
35472         * modules/crypto/md4-tests: Likewise.
35473         * modules/fcntl-h-tests: Likewise.
35474         * modules/floorf-tests: Likewise.
35475         * modules/floorl-tests: Likewise.
35476         * modules/frexp-nolibm-tests: Likewise.
35477         * modules/frexp-tests: Likewise.
35478         * modules/frexpl-nolibm-tests: Likewise.
35479         * modules/frexpl-tests: Likewise.
35480         * modules/getaddrinfo-tests: Likewise.
35481         * modules/inttypes-tests: Likewise.
35482         * modules/isfinite-tests: Likewise.
35483         * modules/isinf-tests: Likewise.
35484         * modules/ldexpl-tests: Likewise.
35485         * modules/locale-tests: Likewise.
35486         * modules/math-tests: Likewise.
35487         * modules/netdb-tests: Likewise.
35488         * modules/netinet_in-tests: Likewise.
35489         * modules/printf-frexp-tests: Likewise.
35490         * modules/printf-frexpl-tests: Likewise.
35491         * modules/priv-set-tests: Likewise.
35492         * modules/random_r-tests: Likewise.
35493         * modules/round-tests: Likewise.
35494         * modules/roundf-tests: Likewise.
35495         * modules/roundl-tests: Likewise.
35496         * modules/search-tests: Likewise.
35497         * modules/select-tests: Likewise.
35498         * modules/signal-tests: Likewise.
35499         * modules/stdbool-tests: Likewise.
35500         * modules/stddef-tests: Likewise.
35501         * modules/stdint-tests: Likewise.
35502         * modules/stdio-tests: Likewise.
35503         * modules/stdlib-tests: Likewise.
35504         * modules/string-tests: Likewise.
35505         * modules/strings-tests: Likewise.
35506         * modules/sys_select-tests: Likewise.
35507         * modules/sys_socket-tests: Likewise.
35508         * modules/sys_stat-tests: Likewise.
35509         * modules/sys_time-tests: Likewise.
35510         * modules/sys_utsname-tests: Likewise.
35511         * modules/sysexits-tests: Likewise.
35512         * modules/time-tests: Likewise.
35513         * modules/trunc-tests: Likewise.
35514         * modules/truncf-tests: Likewise.
35515         * modules/truncl-tests: Likewise.
35516         * modules/tsearch-tests: Likewise.
35517         * modules/unistd-tests: Likewise.
35518         * modules/wchar-tests: Likewise.
35519         * modules/wctype-tests: Likewise.
35520
35521         tests: fix license on several tests
35522         * tests/test-des.c: Update to GPLv3+.
35523         * tests/test-flock.c: Likewise.
35524         * tests/test-fsync.c: Likewise.
35525         * tests/test-futimens.h: Likewise.
35526         * tests/test-gc-arcfour.c: Likewise.
35527         * tests/test-gc-arctwo.c: Likewise.
35528         * tests/test-gc-des.c: Likewise.
35529         * tests/test-gc-hmac-md5.c: Likewise.
35530         * tests/test-gc-hmac-sha1.c: Likewise.
35531         * tests/test-gc-md2.c: Likewise.
35532         * tests/test-gc-md4.c: Likewise.
35533         * tests/test-gc-md5.c: Likewise.
35534         * tests/test-gc-pbkdf2-sha1.c: Likewise.
35535         * tests/test-gc-rijndael.c: Likewise.
35536         * tests/test-gc-sha1.c: Likewise.
35537         * tests/test-gc.c: Likewise.
35538         * tests/test-getcwd.c: Likewise.
35539         * tests/test-link.c: Likewise.
35540         * tests/test-link.h: Likewise.
35541         * tests/test-lutimens.h: Likewise.
35542         * tests/test-md2.c: Likewise.
35543         * tests/test-md4.c: Likewise.
35544         * tests/test-mkdir.h: Likewise.
35545         * tests/test-rename.c: Likewise.
35546         * tests/test-rename.h: Likewise.
35547         * tests/test-safe-alloc.c: Likewise.
35548         * tests/test-utimens-common.h: Likewise.
35549         * tests/test-utimens.h: Likewise.
35550
35551         maint: sync license texts
35552         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
35553         * doc/gpl-3.0.texi: Revert copyright year update.
35554         * doc/lgpl-3.0.texi: Likewise.
35555
35556 2009-12-29  Jim Meyering  <meyering@redhat.com>
35557
35558         update nearly all FSF copyright year lists to include 2009
35559         The files named by the following are exempted:
35560             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
35561               test -f "$dst" && { echo "$dst"; continue; }
35562               test -d "$dst" || continue
35563               echo "$dst"/$(basename "$src")
35564             done > exempt
35565             git ls-files tests/unictype >> exempt
35566         In the remaining files, convert to all-interval notation if
35567         - there is already at least one year interval like 2000-2003
35568         - the file is maintained by me
35569         - the file is in lib/uni*/, where that style already prevails
35570         Otherwise, use update-copyright's default.
35571
35572 2009-12-29  Simon Josefsson  <simon@josefsson.org>
35573         and Eric Blake  <ebb9@byu.net>
35574
35575         tests: don't require debug system() to pass
35576         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
35577         * tests/test-rmdir.h (test_rmdir_func): Likewise.
35578         * tests/test-unlink.h (test_unlink_func): Likewise.
35579         * tests/test-fstatat.c (main): ...into callers.
35580         * tests/test-lstat.c (main): Likewise.
35581         * tests/test-rmdir.c (main): Likewise.
35582         * tests/test-unlink.c (main): Likewise.
35583         * tests/test-unlinkat.c (main): Likewise.
35584         * tests/test-areadlink-with-size.c (main): Don't require a
35585         debug-only system call to pass, aiding cross-testing to mingw.
35586         * tests/test-areadlink.c (main): Likewise.
35587         * tests/test-areadlinkat-with-size.c (main): Likewise.
35588         * tests/test-areadlinkat.c (main): Likewise.
35589         * tests/test-canonicalize-lgpl.c (main): Likewise.
35590         * tests/test-canonicalize.c (main): Likewise.
35591         * tests/test-chown.c (main): Likewise.
35592         * tests/test-fchownat.c (main): Likewise.
35593         * tests/test-lchown.c (main): Likewise.
35594         * tests/test-fdutimensat.c (main): Likewise.
35595         * tests/test-futimens.c (main): Likewise.
35596         * tests/test-link.c (main): Likewise.
35597         * tests/test-linkat.c (main): Likewise.
35598         * tests/test-mkdir.c (main): Likewise.
35599         * tests/test-mkdirat.c (main): Likewise.
35600         * tests/test-mkfifo.c (main): Likewise.
35601         * tests/test-mkfifoat.c (main): Likewise.
35602         * tests/test-mknod.c (main): Likewise.
35603         * tests/test-readlink.c (main): Likewise.
35604         * tests/test-remove.c (main): Likewise.
35605         * tests/test-rename.c (main): Likewise.
35606         * tests/test-renameat.c (main): Likewise.
35607         * tests/test-symlink.c (main): Likewise.
35608         * tests/test-symlinkat.c (main): Likewise.
35609         * tests/test-utimens.c (main): Likewise.
35610         * tests/test-utimensat.c (main): Likewise.
35611
35612 2009-12-29  Simon Josefsson  <simon@josefsson.org>
35613
35614         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
35615         on $(UNUSED_PARAMETER_H) to avoid build failure.
35616
35617 2009-12-28  Jim Meyering  <meyering@redhat.com>
35618
35619         update-copyright: you may specify a max. line length other than 72
35620         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
35621
35622         maint: use consistent FSF copyright line syntax
35623         * lib/posixtm.c: Add missing comma in FSF copyright line.
35624         * lib/posixtm.h: Likewise.
35625         * lib/getugroups.c: Add missing ", Inc.".
35626
35627         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
35628         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
35629         FSF copyright line.  Remove trailing blanks.
35630
35631 2009-12-28  Eric Blake  <ebb9@byu.net>
35632
35633         test-dup2: reduce dependencies
35634         * modules/cloexec (Configure.ac): Set witness.
35635         * modules/dup2-tests (Depends-on): Drop cloexec.
35636         * tests/test-dup2.c (main): Skip portion of test if cloexec module
35637         not present.
35638         Suggested by Bruno Haible.
35639
35640 2009-12-26  Bruno Haible  <bruno@clisp.org>
35641
35642         Remove an unneeded dependency.
35643         * modules/fseterr (Depends-on): Remove dup2.
35644
35645 2009-12-26  Eric Blake  <ebb9@byu.net>
35646
35647         tests: use macros.h in more places
35648         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
35649         (ASSERT_STREAM): Provide default of stderr.
35650         * tests/test-dirent-safer.c: Include macros.h, using alternate
35651         stream for assertions.
35652         * tests/test-dup-safer.c: Likewise.
35653         * tests/test-freopen-safer.c: Likewise.
35654         * tests/test-getopt.c: Likewise.
35655         * tests/test-openat-safer.c: Likewise.
35656         * tests/test-pipe.c: Likewise.
35657         * tests/test-popen-safer.c: Likewise.
35658         * modules/dirent-safer-tests (Files): Include macros.h.
35659         * modules/unistd-safer-tests (Files): Likewise.
35660         * modules/freopen-safer-tests (Files): Likewise.
35661         * modules/getopt-posix-tests (Files): Likewise.
35662         * modules/openat-safer-tests (Files): Likewise.
35663         * modules/pipe-tests (Files): Likewise.
35664
35665 2009-12-26  Bruno Haible  <bruno@clisp.org>
35666
35667         javacomp: Portability fix.
35668         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
35669         that it also works on Solaris.
35670
35671 2009-12-26  Bruno Haible  <bruno@clisp.org>
35672
35673         localename: Fix storage allocation of gl_locale_name_thread's result.
35674         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
35675         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
35676         all platforms that have 'uselocale'.
35677         (gl_locale_name_thread_unsafe): New function, extracted from
35678         gl_locale_name_thread.
35679         (gl_locale_name_thread): Call struniq on all platforms that have
35680         'uselocale'.
35681         * tests/test-localename.c (test_locale_name_thread): Check that the
35682         resulting strings are permanently allocated.
35683         * modules/localename-tests (Depends-on): Add strdup.
35684
35685 2009-12-26  Bruno Haible  <bruno@clisp.org>
35686
35687         * tests/test-localename.c (categories): Fill in the strings.
35688
35689 2009-12-26  Jim Meyering  <meyering@redhat.com>
35690
35691         isdir: complete the removal of m4/isdir.m4
35692         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
35693
35694         isdir: clean up, since at least grep still uses it
35695         * lib/isdir.c: Include "isdir.h".
35696         (S_ISDIR): Remove now-unneeded definition.
35697         * modules/isdir (Files): Add lib/isdir.h.
35698         * lib/isdir.h: New file, with declaration.
35699         * m4/isdir.m4: Remove file -- unneeded.
35700
35701 2009-12-25  Bruno Haible  <bruno@clisp.org>
35702
35703         selinux-h: Make generated .h files standalone.
35704         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
35705         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
35706         * lib/se-selinux.in.h: Likewise.
35707         * modules/selinux-h (Depends-on): Add unused-parameter.
35708         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
35709         selinux/selinux.h and selinux/context.h.
35710         Suggested by Eric Blake.
35711
35712 2009-12-25  Bruno Haible  <bruno@clisp.org>
35713
35714         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
35715         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
35716         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
35717         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
35718         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
35719
35720 2009-12-24  Bruno Haible  <bruno@clisp.org>
35721
35722         openat: Fix warning.
35723         * lib/openat-proc.c: Include <unistd.h>.
35724
35725 2009-12-24  Bruno Haible  <bruno@clisp.org>
35726
35727         New module 'unused-parameter'.
35728         * build-aux/unused-parameter.h: New file, extracted from earlier
35729         gnulib-common.m4.
35730         * modules/unused-parameter: New file.
35731         * lib/unistr.h: Include unused-parameter.h.
35732         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
35733         _GL_UNUSED.
35734         * modules/unistr/base (Depends-on): Add unused-parameter.
35735
35736 2009-12-24  Bruno Haible  <bruno@clisp.org>
35737
35738         Add missing dependencies to 'extensions' module.
35739         * m4/extensions.m4: Add comment.
35740         * modules/accept4 (Depends-on): Add extensions.
35741         * modules/dup3 (Depends-on): Likewise.
35742         * modules/fcntl (Depends-on): Likewise.
35743         * modules/futimens (Depends-on): Likewise.
35744         * modules/mknod (Depends-on): Likewise.
35745         * modules/pipe2 (Depends-on): Likewise.
35746         * modules/stat-time (Depends-on): Likewise.
35747         * modules/strcasestr-simple (Depends-on): Likewise.
35748         * modules/strsignal (Depends-on): Likewise.
35749         * modules/utimensat (Depends-on): Likewise.
35750         * modules/localcharset (Depends-on): Likewise. Needed because of
35751         gl_FCNTL_O_FLAGS.
35752         * modules/wcrtomb (Depends-on): Likewise. Needed because of
35753         AC_TYPE_MBSTATE_T.
35754         * modules/wcsnrtombs (Depends-on): Likewise.
35755         * modules/wcsrtombs (Depends-on): Likewise.
35756
35757 2009-12-24  Bruno Haible  <bruno@clisp.org>
35758
35759         binary-io: Avoid gcc warning due to SET_BINARY.
35760         * lib/binary-io.h (SET_BINARY): Cast the result to void.
35761         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
35762
35763 2009-12-24  Bruno Haible  <bruno@clisp.org>
35764
35765         Avoid future namespace pollution on glibc systems.
35766         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
35767         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
35768         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
35769         glibc systems.
35770
35771 2009-12-24  Bruno Haible  <bruno@clisp.org>
35772
35773         Refactor common macros used in tests.
35774         * tests/macros.h: New file.
35775         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
35776         and/or <stdlib.h>, if appropriate.
35777         (ASSERT, SIZEOF): Remove macros.
35778         * tests/test-areadlink-with-size.c: Likewise.
35779         * tests/test-areadlinkat.c: Likewise.
35780         * tests/test-areadlinkat-with-size.c: Likewise.
35781         * tests/test-argmatch.c: Likewise.
35782         * tests/test-argv-iter.c: Likewise.
35783         * tests/test-array-mergesort.c: Likewise.
35784         * tests/test-array_list.c: Likewise.
35785         * tests/test-array_oset.c: Likewise.
35786         * tests/test-avltree_list.c: Likewise.
35787         * tests/test-avltree_oset.c: Likewise.
35788         * tests/test-avltreehash_list.c: Likewise.
35789         * tests/test-base64.c: Likewise.
35790         * tests/test-binary-io.c: Likewise.
35791         * tests/test-bitrotate.c: Likewise.
35792         * tests/test-btowc.c: Likewise.
35793         * tests/test-byteswap.c: Likewise.
35794         * tests/test-c-ctype.c: Likewise.
35795         * tests/test-c-stack.c: Likewise.
35796         * tests/test-c-strcasecmp.c: Likewise.
35797         * tests/test-c-strcasestr.c: Likewise.
35798         * tests/test-c-strncasecmp.c: Likewise.
35799         * tests/test-c-strstr.c: Likewise.
35800         * tests/test-canonicalize-lgpl.c: Likewise.
35801         * tests/test-canonicalize.c: Likewise.
35802         * tests/test-carray_list.c: Likewise.
35803         * tests/test-ceilf1.c: Likewise.
35804         * tests/test-ceilf2.c: Likewise.
35805         * tests/test-ceill.c: Likewise.
35806         * tests/test-chown.c: Likewise.
35807         * tests/test-cloexec.c: Likewise.
35808         * tests/test-copy-acl.c: Likewise.
35809         * tests/test-copy-file.c: Likewise.
35810         * tests/test-count-one-bits.c: Likewise.
35811         * tests/test-dprintf-posix.c: Likewise.
35812         * tests/test-dup2.c: Likewise.
35813         * tests/test-dup3.c: Likewise.
35814         * tests/test-duplocale.c: Likewise.
35815         * tests/test-fbufmode.c: Likewise.
35816         * tests/test-fchdir.c: Likewise.
35817         * tests/test-fchownat.c: Likewise.
35818         * tests/test-fcntl-safer.c: Likewise.
35819         * tests/test-fcntl.c: Likewise.
35820         * tests/test-fdopendir.c: Likewise.
35821         * tests/test-fdutimensat.c: Likewise.
35822         * tests/test-fflush2.c: Likewise.
35823         * tests/test-file-has-acl.c: Likewise.
35824         * tests/test-filevercmp.c: Likewise.
35825         * tests/test-flock.c: Likewise.
35826         * tests/test-floorf1.c: Likewise.
35827         * tests/test-floorf2.c: Likewise.
35828         * tests/test-floorl.c: Likewise.
35829         * tests/test-fnmatch.c: Likewise.
35830         * tests/test-fopen.h: Likewise.
35831         * tests/test-fpending.c: Likewise.
35832         * tests/test-fprintf-posix.c: Likewise.
35833         * tests/test-fpurge.c: Likewise.
35834         * tests/test-freadable.c: Likewise.
35835         * tests/test-freadahead.c: Likewise.
35836         * tests/test-freading.c: Likewise.
35837         * tests/test-freadptr.c: Likewise.
35838         * tests/test-freadptr2.c: Likewise.
35839         * tests/test-freadseek.c: Likewise.
35840         * tests/test-freopen.c: Likewise.
35841         * tests/test-frexp.c: Likewise.
35842         * tests/test-frexpl.c: Likewise.
35843         * tests/test-fseek.c: Likewise.
35844         * tests/test-fseeko.c: Likewise.
35845         * tests/test-fstatat.c: Likewise.
35846         * tests/test-fstrcmp.c: Likewise.
35847         * tests/test-fsync.c: Likewise.
35848         * tests/test-ftell.c: Likewise.
35849         * tests/test-ftello.c: Likewise.
35850         * tests/test-func.c: Likewise.
35851         * tests/test-futimens.c: Likewise.
35852         * tests/test-fwritable.c: Likewise.
35853         * tests/test-fwriting.c: Likewise.
35854         * tests/test-getcwd.c: Likewise.
35855         * tests/test-getdate.c: Likewise.
35856         * tests/test-getdelim.c: Likewise.
35857         * tests/test-getdtablesize.c: Likewise.
35858         * tests/test-getgroups.c: Likewise.
35859         * tests/test-getline.c: Likewise.
35860         * tests/test-getndelim2.c: Likewise.
35861         * tests/test-glob.c: Likewise.
35862         * tests/test-hash.c: Likewise.
35863         * tests/test-i-ring.c: Likewise.
35864         * tests/test-iconv-utf.c: Likewise.
35865         * tests/test-iconv.c: Likewise.
35866         * tests/test-idpriv-drop.c: Likewise.
35867         * tests/test-idpriv-droptemp.c: Likewise.
35868         * tests/test-inet_ntop.c: Likewise.
35869         * tests/test-inet_pton.c: Likewise.
35870         * tests/test-isblank.c: Likewise.
35871         * tests/test-isfinite.c: Likewise.
35872         * tests/test-isinf.c: Likewise.
35873         * tests/test-isnan.c: Likewise.
35874         * tests/test-isnand.h: Likewise.
35875         * tests/test-isnanf.h: Likewise.
35876         * tests/test-isnanl.h: Likewise.
35877         * tests/test-lchown.c: Likewise.
35878         * tests/test-ldexpl.c: Likewise.
35879         * tests/test-link.c: Likewise.
35880         * tests/test-linkat.c: Likewise.
35881         * tests/test-linked_list.c: Likewise.
35882         * tests/test-linkedhash_list.c: Likewise.
35883         * tests/test-localename.c: Likewise.
35884         * tests/test-lseek.c: Likewise.
35885         * tests/test-lstat.c: Likewise.
35886         * tests/test-mbmemcasecmp.c: Likewise.
35887         * tests/test-mbmemcasecoll.c: Likewise.
35888         * tests/test-mbrtowc.c: Likewise.
35889         * tests/test-mbscasecmp.c: Likewise.
35890         * tests/test-mbscasestr1.c: Likewise.
35891         * tests/test-mbscasestr2.c: Likewise.
35892         * tests/test-mbscasestr3.c: Likewise.
35893         * tests/test-mbscasestr4.c: Likewise.
35894         * tests/test-mbschr.c: Likewise.
35895         * tests/test-mbscspn.c: Likewise.
35896         * tests/test-mbsinit.c: Likewise.
35897         * tests/test-mbsncasecmp.c: Likewise.
35898         * tests/test-mbsnrtowcs.c: Likewise.
35899         * tests/test-mbspbrk.c: Likewise.
35900         * tests/test-mbspcasecmp.c: Likewise.
35901         * tests/test-mbsrchr.c: Likewise.
35902         * tests/test-mbsrtowcs.c: Likewise.
35903         * tests/test-mbsspn.c: Likewise.
35904         * tests/test-mbsstr1.c: Likewise.
35905         * tests/test-mbsstr2.c: Likewise.
35906         * tests/test-mbsstr3.c: Likewise.
35907         * tests/test-memchr.c: Likewise.
35908         * tests/test-memchr2.c: Likewise.
35909         * tests/test-memcmp.c: Likewise.
35910         * tests/test-memmem.c: Likewise.
35911         * tests/test-memrchr.c: Likewise.
35912         * tests/test-mkdir.c: Likewise.
35913         * tests/test-mkdirat.c: Likewise.
35914         * tests/test-mkfifo.c: Likewise.
35915         * tests/test-mkfifoat.c: Likewise.
35916         * tests/test-mknod.c: Likewise.
35917         * tests/test-nanosleep.c: Likewise.
35918         * tests/test-nl_langinfo.c: Likewise.
35919         * tests/test-obstack-printf.c: Likewise.
35920         * tests/test-open.c: Likewise.
35921         * tests/test-openat.c: Likewise.
35922         * tests/test-pipe-filter-gi1.c: Likewise.
35923         * tests/test-pipe-filter-gi2-main.c: Likewise.
35924         * tests/test-pipe-filter-ii1.c: Likewise.
35925         * tests/test-pipe-filter-ii2-main.c: Likewise.
35926         * tests/test-pipe2.c: Likewise.
35927         * tests/test-popen.h: Likewise.
35928         * tests/test-posixtm.c: Likewise.
35929         * tests/test-pread.c: Likewise.
35930         * tests/test-printf-frexp.c: Likewise.
35931         * tests/test-printf-frexpl.c: Likewise.
35932         * tests/test-printf-posix.c: Likewise.
35933         * tests/test-priv-set.c: Likewise.
35934         * tests/test-quotearg.c: Likewise.
35935         * tests/test-random_r.c: Likewise.
35936         * tests/test-rawmemchr.c: Likewise.
35937         * tests/test-rbtree_list.c: Likewise.
35938         * tests/test-rbtree_oset.c: Likewise.
35939         * tests/test-rbtreehash_list.c: Likewise.
35940         * tests/test-readlink.c: Likewise.
35941         * tests/test-remove.c: Likewise.
35942         * tests/test-rename.c: Likewise.
35943         * tests/test-renameat.c: Likewise.
35944         * tests/test-rmdir.c: Likewise.
35945         * tests/test-round1.c: Likewise.
35946         * tests/test-roundf1.c: Likewise.
35947         * tests/test-roundl.c: Likewise.
35948         * tests/test-safe-alloc.c: Likewise.
35949         * tests/test-sameacls.c: Likewise.
35950         * tests/test-set-mode-acl.c: Likewise.
35951         * tests/test-setenv.c: Likewise.
35952         * tests/test-sigaction.c: Likewise.
35953         * tests/test-signbit.c: Likewise.
35954         * tests/test-sleep.c: Likewise.
35955         * tests/test-snprintf-posix.c: Likewise.
35956         * tests/test-snprintf.c: Likewise.
35957         * tests/test-sprintf-posix.c: Likewise.
35958         * tests/test-stat-time.c: Likewise.
35959         * tests/test-stat.c: Likewise.
35960         * tests/test-strcasestr.c: Likewise.
35961         * tests/test-strchrnul.c: Likewise.
35962         * tests/test-strerror.c: Likewise.
35963         * tests/test-striconv.c: Likewise.
35964         * tests/test-striconveh.c: Likewise.
35965         * tests/test-striconveha.c: Likewise.
35966         * tests/test-strsignal.c: Likewise.
35967         * tests/test-strstr.c: Likewise.
35968         * tests/test-strtod.c: Likewise.
35969         * tests/test-strverscmp.c: Likewise.
35970         * tests/test-symlink.c: Likewise.
35971         * tests/test-symlinkat.c: Likewise.
35972         * tests/test-trunc1.c: Likewise.
35973         * tests/test-trunc2.c: Likewise.
35974         * tests/test-truncf1.c: Likewise.
35975         * tests/test-truncf2.c: Likewise.
35976         * tests/test-truncl.c: Likewise.
35977         * tests/test-uname.c: Likewise.
35978         * tests/test-unlink.c: Likewise.
35979         * tests/test-unlinkat.c: Likewise.
35980         * tests/test-unsetenv.c: Likewise.
35981         * tests/test-usleep.c: Likewise.
35982         * tests/test-utimens.c: Likewise.
35983         * tests/test-utimensat.c: Likewise.
35984         * tests/test-vasnprintf-posix.c: Likewise.
35985         * tests/test-vasnprintf-posix2.c: Likewise.
35986         * tests/test-vasnprintf.c: Likewise.
35987         * tests/test-vasprintf-posix.c: Likewise.
35988         * tests/test-vasprintf.c: Likewise.
35989         * tests/test-vdprintf-posix.c: Likewise.
35990         * tests/test-vfprintf-posix.c: Likewise.
35991         * tests/test-vprintf-posix.c: Likewise.
35992         * tests/test-vsnprintf-posix.c: Likewise.
35993         * tests/test-vsnprintf.c: Likewise.
35994         * tests/test-vsprintf-posix.c: Likewise.
35995         * tests/test-wcrtomb.c: Likewise.
35996         * tests/test-wcsnrtombs.c: Likewise.
35997         * tests/test-wcsrtombs.c: Likewise.
35998         * tests/test-wctype.c: Likewise.
35999         * tests/test-wcwidth.c: Likewise.
36000         * tests/test-xfprintf-posix.c: Likewise.
36001         * tests/test-xmemdup0.c: Likewise.
36002         * tests/test-xprintf-posix.c: Likewise.
36003         * tests/test-xvasprintf.c: Likewise.
36004         * tests/unicase/test-locale-language.c: Likewise.
36005         * tests/unicase/test-mapping-part1.h: Likewise.
36006         * tests/unicase/test-predicate-part1.h: Likewise.
36007         * tests/unicase/test-u8-casecmp.c: Likewise.
36008         * tests/unicase/test-u8-casecoll.c: Likewise.
36009         * tests/unicase/test-u8-casefold.c: Likewise.
36010         * tests/unicase/test-u8-is-cased.c: Likewise.
36011         * tests/unicase/test-u8-is-casefolded.c: Likewise.
36012         * tests/unicase/test-u8-is-lowercase.c: Likewise.
36013         * tests/unicase/test-u8-is-titlecase.c: Likewise.
36014         * tests/unicase/test-u8-is-uppercase.c: Likewise.
36015         * tests/unicase/test-u8-tolower.c: Likewise.
36016         * tests/unicase/test-u8-totitle.c: Likewise.
36017         * tests/unicase/test-u8-toupper.c: Likewise.
36018         * tests/unicase/test-u16-casecmp.c: Likewise.
36019         * tests/unicase/test-u16-casecoll.c: Likewise.
36020         * tests/unicase/test-u16-casefold.c: Likewise.
36021         * tests/unicase/test-u16-is-cased.c: Likewise.
36022         * tests/unicase/test-u16-is-casefolded.c: Likewise.
36023         * tests/unicase/test-u16-is-lowercase.c: Likewise.
36024         * tests/unicase/test-u16-is-titlecase.c: Likewise.
36025         * tests/unicase/test-u16-is-uppercase.c: Likewise.
36026         * tests/unicase/test-u16-tolower.c: Likewise.
36027         * tests/unicase/test-u16-totitle.c: Likewise.
36028         * tests/unicase/test-u16-toupper.c: Likewise.
36029         * tests/unicase/test-u32-casecmp.c: Likewise.
36030         * tests/unicase/test-u32-casecoll.c: Likewise.
36031         * tests/unicase/test-u32-casefold.c: Likewise.
36032         * tests/unicase/test-u32-is-cased.c: Likewise.
36033         * tests/unicase/test-u32-is-casefolded.c: Likewise.
36034         * tests/unicase/test-u32-is-lowercase.c: Likewise.
36035         * tests/unicase/test-u32-is-titlecase.c: Likewise.
36036         * tests/unicase/test-u32-is-uppercase.c: Likewise.
36037         * tests/unicase/test-u32-tolower.c: Likewise.
36038         * tests/unicase/test-u32-totitle.c: Likewise.
36039         * tests/unicase/test-u32-toupper.c: Likewise.
36040         * tests/unicase/test-ulc-casecmp.c: Likewise.
36041         * tests/unicase/test-ulc-casecoll.c: Likewise.
36042         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
36043         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
36044         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
36045         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
36046         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
36047         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
36048         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
36049         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
36050         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
36051         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
36052         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
36053         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
36054         * tests/unictype/test-bidi_byname.c: Likewise.
36055         * tests/unictype/test-bidi_name.c: Likewise.
36056         * tests/unictype/test-bidi_of.c: Likewise.
36057         * tests/unictype/test-bidi_test.c: Likewise.
36058         * tests/unictype/test-block_list.c: Likewise.
36059         * tests/unictype/test-block_of.c: Likewise.
36060         * tests/unictype/test-block_test.c: Likewise.
36061         * tests/unictype/test-categ_and.c: Likewise.
36062         * tests/unictype/test-categ_and_not.c: Likewise.
36063         * tests/unictype/test-categ_byname.c: Likewise.
36064         * tests/unictype/test-categ_name.c: Likewise.
36065         * tests/unictype/test-categ_none.c: Likewise.
36066         * tests/unictype/test-categ_of.c: Likewise.
36067         * tests/unictype/test-categ_or.c: Likewise.
36068         * tests/unictype/test-categ_test_withtable.c: Likewise.
36069         * tests/unictype/test-combining.c: Likewise.
36070         * tests/unictype/test-decdigit.c: Likewise.
36071         * tests/unictype/test-digit.c: Likewise.
36072         * tests/unictype/test-mirror.c: Likewise.
36073         * tests/unictype/test-numeric.c: Likewise.
36074         * tests/unictype/test-pr_byname.c: Likewise.
36075         * tests/unictype/test-pr_test.c: Likewise.
36076         * tests/unictype/test-predicate-part1.h: Likewise.
36077         * tests/unictype/test-scripts.c: Likewise.
36078         * tests/unictype/test-sy_c_ident.c: Likewise.
36079         * tests/unictype/test-sy_java_ident.c: Likewise.
36080         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
36081         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
36082         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
36083         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
36084         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
36085         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
36086         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
36087         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
36088         * tests/uninorm/test-canonical-decomposition.c: Likewise.
36089         * tests/uninorm/test-compat-decomposition.c: Likewise.
36090         * tests/uninorm/test-composition.c: Likewise.
36091         * tests/uninorm/test-decomposing-form.c: Likewise.
36092         * tests/uninorm/test-decomposition.c: Likewise.
36093         * tests/uninorm/test-u8-nfc.c: Likewise.
36094         * tests/uninorm/test-u8-nfd.c: Likewise.
36095         * tests/uninorm/test-u8-nfkc.c: Likewise.
36096         * tests/uninorm/test-u8-nfkd.c: Likewise.
36097         * tests/uninorm/test-u8-normcmp.c: Likewise.
36098         * tests/uninorm/test-u8-normcoll.c: Likewise.
36099         * tests/uninorm/test-u16-nfc.c: Likewise.
36100         * tests/uninorm/test-u16-nfd.c: Likewise.
36101         * tests/uninorm/test-u16-nfkc.c: Likewise.
36102         * tests/uninorm/test-u16-nfkd.c: Likewise.
36103         * tests/uninorm/test-u16-normcmp.c: Likewise.
36104         * tests/uninorm/test-u16-normcoll.c: Likewise.
36105         * tests/uninorm/test-u32-nfc.c: Likewise.
36106         * tests/uninorm/test-u32-nfd.c: Likewise.
36107         * tests/uninorm/test-u32-nfkc.c: Likewise.
36108         * tests/uninorm/test-u32-nfkd.c: Likewise.
36109         * tests/uninorm/test-u32-normalize-big.c: Likewise.
36110         * tests/uninorm/test-u32-normcmp.c: Likewise.
36111         * tests/uninorm/test-u32-normcoll.c: Likewise.
36112         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
36113         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
36114         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
36115         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
36116         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
36117         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
36118         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
36119         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
36120         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
36121         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
36122         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
36123         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
36124         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
36125         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
36126         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
36127         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
36128         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
36129         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
36130         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
36131         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
36132         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
36133         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
36134         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
36135         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
36136         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
36137         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
36138         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
36139         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
36140         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
36141         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
36142         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
36143         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
36144         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
36145         * tests/uniwidth/test-u8-strwidth.c: Likewise.
36146         * tests/uniwidth/test-u8-width.c: Likewise.
36147         * tests/uniwidth/test-u16-strwidth.c: Likewise.
36148         * tests/uniwidth/test-u16-width.c: Likewise.
36149         * tests/uniwidth/test-u32-strwidth.c: Likewise.
36150         * tests/uniwidth/test-u32-width.c: Likewise.
36151         * tests/uniwidth/test-uc_width.c: Likewise.
36152         * tests/uniwidth/test-uc_width2.c: Likewise.
36153         * modules/acl-tests (Files): Add tests/macros.h.
36154         * modules/areadlink-tests (Files): Likewise.
36155         * modules/areadlink-with-size-tests (Files): Likewise.
36156         * modules/areadlinkat-tests (Files): Likewise.
36157         * modules/areadlinkat-with-size-tests (Files): Likewise.
36158         * modules/argmatch-tests (Files): Likewise.
36159         * modules/argv-iter-tests (Files): Likewise.
36160         * modules/array-list-tests (Files): Likewise.
36161         * modules/array-mergesort-tests (Files): Likewise.
36162         * modules/array-oset-tests (Files): Likewise.
36163         * modules/avltree-list-tests (Files): Likewise.
36164         * modules/avltree-oset-tests (Files): Likewise.
36165         * modules/avltreehash-list-tests (Files): Likewise.
36166         * modules/base64-tests (Files): Likewise.
36167         * modules/binary-io-tests (Files): Likewise.
36168         * modules/bitrotate-tests (Files): Likewise.
36169         * modules/btowc-tests (Files): Likewise.
36170         * modules/byteswap-tests (Files): Likewise.
36171         * modules/c-ctype-tests (Files): Likewise.
36172         * modules/c-stack-tests (Files): Likewise.
36173         * modules/c-strcase-tests (Files): Likewise.
36174         * modules/c-strcasestr-tests (Files): Likewise.
36175         * modules/c-strstr-tests (Files): Likewise.
36176         * modules/canonicalize-lgpl-tests (Files): Likewise.
36177         * modules/canonicalize-tests (Files): Likewise.
36178         * modules/carray-list-tests (Files): Likewise.
36179         * modules/ceilf-tests (Files): Likewise.
36180         * modules/ceill-tests (Files): Likewise.
36181         * modules/chown-tests (Files): Likewise.
36182         * modules/cloexec-tests (Files): Likewise.
36183         * modules/copy-file-tests (Files): Likewise.
36184         * modules/count-one-bits-tests (Files): Likewise.
36185         * modules/dprintf-posix-tests (Files): Likewise.
36186         * modules/dup2-tests (Files): Likewise.
36187         * modules/dup3-tests (Files): Likewise.
36188         * modules/duplocale-tests (Files): Likewise.
36189         * modules/fbufmode-tests (Files): Likewise.
36190         * modules/fchdir-tests (Files): Likewise.
36191         * modules/fcntl-safer-tests (Files): Likewise.
36192         * modules/fcntl-tests (Files): Likewise.
36193         * modules/fdopendir-tests (Files): Likewise.
36194         * modules/fdutimensat-tests (Files): Likewise.
36195         * modules/fflush-tests (Files): Likewise.
36196         * modules/filevercmp-tests (Files): Likewise.
36197         * modules/flock-tests (Files): Likewise.
36198         * modules/floorf-tests (Files): Likewise.
36199         * modules/floorl-tests (Files): Likewise.
36200         * modules/fnmatch-tests (Files): Likewise.
36201         * modules/fopen-safer-tests (Files): Likewise.
36202         * modules/fopen-tests (Files): Likewise.
36203         * modules/fpending-tests (Files): Likewise.
36204         * modules/fprintf-posix-tests (Files): Likewise.
36205         * modules/fpurge-tests (Files): Likewise.
36206         * modules/freadable-tests (Files): Likewise.
36207         * modules/freadahead-tests (Files): Likewise.
36208         * modules/freading-tests (Files): Likewise.
36209         * modules/freadptr-tests (Files): Likewise.
36210         * modules/freadseek-tests (Files): Likewise.
36211         * modules/freopen-tests (Files): Likewise.
36212         * modules/frexp-nolibm-tests (Files): Likewise.
36213         * modules/frexp-tests (Files): Likewise.
36214         * modules/frexpl-nolibm-tests (Files): Likewise.
36215         * modules/frexpl-tests (Files): Likewise.
36216         * modules/fseek-tests (Files): Likewise.
36217         * modules/fseeko-tests (Files): Likewise.
36218         * modules/fstrcmp-tests (Files): Likewise.
36219         * modules/fsync-tests (Files): Likewise.
36220         * modules/ftell-tests (Files): Likewise.
36221         * modules/ftello-tests (Files): Likewise.
36222         * modules/func-tests (Files): Likewise.
36223         * modules/futimens-tests (Files): Likewise.
36224         * modules/fwritable-tests (Files): Likewise.
36225         * modules/fwriting-tests (Files): Likewise.
36226         * modules/getcwd-tests (Files): Likewise.
36227         * modules/getdate-tests (Files): Likewise.
36228         * modules/getdelim-tests (Files): Likewise.
36229         * modules/getdtablesize-tests (Files): Likewise.
36230         * modules/getgroups-tests (Files): Likewise.
36231         * modules/getline-tests (Files): Likewise.
36232         * modules/getndelim2-tests (Files): Likewise.
36233         * modules/glob-tests (Files): Likewise.
36234         * modules/hash-tests (Files): Likewise.
36235         * modules/i-ring-tests (Files): Likewise.
36236         * modules/iconv-tests (Files): Likewise.
36237         * modules/iconv_open-utf-tests (Files): Likewise.
36238         * modules/idpriv-drop-tests (Files): Likewise.
36239         * modules/idpriv-droptemp-tests (Files): Likewise.
36240         * modules/inet_ntop-tests (Files): Likewise.
36241         * modules/inet_pton-tests (Files): Likewise.
36242         * modules/isblank-tests (Files): Likewise.
36243         * modules/isfinite-tests (Files): Likewise.
36244         * modules/isinf-tests (Files): Likewise.
36245         * modules/isnan-tests (Files): Likewise.
36246         * modules/isnand-nolibm-tests (Files): Likewise.
36247         * modules/isnand-tests (Files): Likewise.
36248         * modules/isnanf-nolibm-tests (Files): Likewise.
36249         * modules/isnanf-tests (Files): Likewise.
36250         * modules/isnanl-nolibm-tests (Files): Likewise.
36251         * modules/isnanl-tests (Files): Likewise.
36252         * modules/lchown-tests (Files): Likewise.
36253         * modules/ldexpl-tests (Files): Likewise.
36254         * modules/link-tests (Files): Likewise.
36255         * modules/linkat-tests (Files): Likewise.
36256         * modules/linked-list-tests (Files): Likewise.
36257         * modules/linkedhash-list-tests (Files): Likewise.
36258         * modules/localename-tests (Files): Likewise.
36259         * modules/lseek-tests (Files): Likewise.
36260         * modules/lstat-tests (Files): Likewise.
36261         * modules/mbmemcasecmp-tests (Files): Likewise.
36262         * modules/mbmemcasecoll-tests (Files): Likewise.
36263         * modules/mbrtowc-tests (Files): Likewise.
36264         * modules/mbscasecmp-tests (Files): Likewise.
36265         * modules/mbscasestr-tests (Files): Likewise.
36266         * modules/mbschr-tests (Files): Likewise.
36267         * modules/mbscspn-tests (Files): Likewise.
36268         * modules/mbsinit-tests (Files): Likewise.
36269         * modules/mbsncasecmp-tests (Files): Likewise.
36270         * modules/mbsnrtowcs-tests (Files): Likewise.
36271         * modules/mbspbrk-tests (Files): Likewise.
36272         * modules/mbspcasecmp-tests (Files): Likewise.
36273         * modules/mbsrchr-tests (Files): Likewise.
36274         * modules/mbsrtowcs-tests (Files): Likewise.
36275         * modules/mbsspn-tests (Files): Likewise.
36276         * modules/mbsstr-tests (Files): Likewise.
36277         * modules/memchr-tests (Files): Likewise.
36278         * modules/memchr2-tests (Files): Likewise.
36279         * modules/memcmp-tests (Files): Likewise.
36280         * modules/memmem-tests (Files): Likewise.
36281         * modules/memrchr-tests (Files): Likewise.
36282         * modules/mkdir-tests (Files): Likewise.
36283         * modules/mkfifo-tests (Files): Likewise.
36284         * modules/mkfifoat-tests (Files): Likewise.
36285         * modules/mknod-tests (Files): Likewise.
36286         * modules/nanosleep-tests (Files): Likewise.
36287         * modules/nl_langinfo-tests (Files): Likewise.
36288         * modules/obstack-printf-tests (Files): Likewise.
36289         * modules/open-tests (Files): Likewise.
36290         * modules/openat-tests (Files): Likewise.
36291         * modules/pipe-filter-gi-tests (Files): Likewise.
36292         * modules/pipe-filter-ii-tests (Files): Likewise.
36293         * modules/pipe2-tests (Files): Likewise.
36294         * modules/popen-safer-tests (Files): Likewise.
36295         * modules/popen-tests (Files): Likewise.
36296         * modules/posixtm-tests (Files): Likewise.
36297         * modules/pread-tests (Files): Likewise.
36298         * modules/printf-frexp-tests (Files): Likewise.
36299         * modules/printf-frexpl-tests (Files): Likewise.
36300         * modules/printf-posix-tests (Files): Likewise.
36301         * modules/priv-set-tests (Files): Likewise.
36302         * modules/quotearg-tests (Files): Likewise.
36303         * modules/random_r-tests (Files): Likewise.
36304         * modules/rawmemchr-tests (Files): Likewise.
36305         * modules/rbtree-list-tests (Files): Likewise.
36306         * modules/rbtree-oset-tests (Files): Likewise.
36307         * modules/rbtreehash-list-tests (Files): Likewise.
36308         * modules/readlink-tests (Files): Likewise.
36309         * modules/remove-tests (Files): Likewise.
36310         * modules/rename-tests (Files): Likewise.
36311         * modules/renameat-tests (Files): Likewise.
36312         * modules/rmdir-tests (Files): Likewise.
36313         * modules/round-tests (Files): Likewise.
36314         * modules/roundf-tests (Files): Likewise.
36315         * modules/roundl-tests (Files): Likewise.
36316         * modules/safe-alloc-tests (Files): Likewise.
36317         * modules/setenv-tests (Files): Likewise.
36318         * modules/sigaction-tests (Files): Likewise.
36319         * modules/signbit-tests (Files): Likewise.
36320         * modules/sleep-tests (Files): Likewise.
36321         * modules/snprintf-posix-tests (Files): Likewise.
36322         * modules/snprintf-tests (Files): Likewise.
36323         * modules/sprintf-posix-tests (Files): Likewise.
36324         * modules/stat-tests (Files): Likewise.
36325         * modules/stat-time-tests (Files): Likewise.
36326         * modules/strcasestr-tests (Files): Likewise.
36327         * modules/strchrnul-tests (Files): Likewise.
36328         * modules/strerror-tests (Files): Likewise.
36329         * modules/striconv-tests (Files): Likewise.
36330         * modules/striconveh-tests (Files): Likewise.
36331         * modules/striconveha-tests (Files): Likewise.
36332         * modules/strsignal-tests (Files): Likewise.
36333         * modules/strstr-tests (Files): Likewise.
36334         * modules/strtod-tests (Files): Likewise.
36335         * modules/strverscmp-tests (Files): Likewise.
36336         * modules/symlink-tests (Files): Likewise.
36337         * modules/symlinkat-tests (Files): Likewise.
36338         * modules/trunc-tests (Files): Likewise.
36339         * modules/truncf-tests (Files): Likewise.
36340         * modules/truncl-tests (Files): Likewise.
36341         * modules/uname-tests (Files): Likewise.
36342         * modules/unicase/cased-tests (Files): Likewise.
36343         * modules/unicase/ignorable-tests (Files): Likewise.
36344         * modules/unicase/locale-language-tests (Files): Likewise.
36345         * modules/unicase/tolower-tests (Files): Likewise.
36346         * modules/unicase/totitle-tests (Files): Likewise.
36347         * modules/unicase/toupper-tests (Files): Likewise.
36348         * modules/unicase/u8-casecmp-tests (Files): Likewise.
36349         * modules/unicase/u8-casecoll-tests (Files): Likewise.
36350         * modules/unicase/u8-casefold-tests (Files): Likewise.
36351         * modules/unicase/u8-is-cased-tests (Files): Likewise.
36352         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
36353         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
36354         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
36355         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
36356         * modules/unicase/u8-tolower-tests (Files): Likewise.
36357         * modules/unicase/u8-totitle-tests (Files): Likewise.
36358         * modules/unicase/u8-toupper-tests (Files): Likewise.
36359         * modules/unicase/u16-casecmp-tests (Files): Likewise.
36360         * modules/unicase/u16-casecoll-tests (Files): Likewise.
36361         * modules/unicase/u16-casefold-tests (Files): Likewise.
36362         * modules/unicase/u16-is-cased-tests (Files): Likewise.
36363         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
36364         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
36365         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
36366         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
36367         * modules/unicase/u16-tolower-tests (Files): Likewise.
36368         * modules/unicase/u16-totitle-tests (Files): Likewise.
36369         * modules/unicase/u16-toupper-tests (Files): Likewise.
36370         * modules/unicase/u32-casecmp-tests (Files): Likewise.
36371         * modules/unicase/u32-casecoll-tests (Files): Likewise.
36372         * modules/unicase/u32-casefold-tests (Files): Likewise.
36373         * modules/unicase/u32-is-cased-tests (Files): Likewise.
36374         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
36375         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
36376         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
36377         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
36378         * modules/unicase/u32-tolower-tests (Files): Likewise.
36379         * modules/unicase/u32-totitle-tests (Files): Likewise.
36380         * modules/unicase/u32-toupper-tests (Files): Likewise.
36381         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
36382         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
36383         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
36384         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
36385         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
36386         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
36387         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
36388         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
36389         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
36390         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
36391         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
36392         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
36393         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
36394         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
36395         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
36396         * modules/unictype/bidicategory-name-tests (Files): Likewise.
36397         * modules/unictype/bidicategory-of-tests (Files): Likewise.
36398         * modules/unictype/bidicategory-test-tests (Files): Likewise.
36399         * modules/unictype/block-list-tests (Files): Likewise.
36400         * modules/unictype/block-of-tests (Files): Likewise.
36401         * modules/unictype/block-test-tests (Files): Likewise.
36402         * modules/unictype/category-C-tests (Files): Likewise.
36403         * modules/unictype/category-Cc-tests (Files): Likewise.
36404         * modules/unictype/category-Cf-tests (Files): Likewise.
36405         * modules/unictype/category-Cn-tests (Files): Likewise.
36406         * modules/unictype/category-Co-tests (Files): Likewise.
36407         * modules/unictype/category-Cs-tests (Files): Likewise.
36408         * modules/unictype/category-L-tests (Files): Likewise.
36409         * modules/unictype/category-Ll-tests (Files): Likewise.
36410         * modules/unictype/category-Lm-tests (Files): Likewise.
36411         * modules/unictype/category-Lo-tests (Files): Likewise.
36412         * modules/unictype/category-Lt-tests (Files): Likewise.
36413         * modules/unictype/category-Lu-tests (Files): Likewise.
36414         * modules/unictype/category-M-tests (Files): Likewise.
36415         * modules/unictype/category-Mc-tests (Files): Likewise.
36416         * modules/unictype/category-Me-tests (Files): Likewise.
36417         * modules/unictype/category-Mn-tests (Files): Likewise.
36418         * modules/unictype/category-N-tests (Files): Likewise.
36419         * modules/unictype/category-Nd-tests (Files): Likewise.
36420         * modules/unictype/category-Nl-tests (Files): Likewise.
36421         * modules/unictype/category-No-tests (Files): Likewise.
36422         * modules/unictype/category-P-tests (Files): Likewise.
36423         * modules/unictype/category-Pc-tests (Files): Likewise.
36424         * modules/unictype/category-Pd-tests (Files): Likewise.
36425         * modules/unictype/category-Pe-tests (Files): Likewise.
36426         * modules/unictype/category-Pf-tests (Files): Likewise.
36427         * modules/unictype/category-Pi-tests (Files): Likewise.
36428         * modules/unictype/category-Po-tests (Files): Likewise.
36429         * modules/unictype/category-Ps-tests (Files): Likewise.
36430         * modules/unictype/category-S-tests (Files): Likewise.
36431         * modules/unictype/category-Sc-tests (Files): Likewise.
36432         * modules/unictype/category-Sk-tests (Files): Likewise.
36433         * modules/unictype/category-Sm-tests (Files): Likewise.
36434         * modules/unictype/category-So-tests (Files): Likewise.
36435         * modules/unictype/category-Z-tests (Files): Likewise.
36436         * modules/unictype/category-Zl-tests (Files): Likewise.
36437         * modules/unictype/category-Zp-tests (Files): Likewise.
36438         * modules/unictype/category-Zs-tests (Files): Likewise.
36439         * modules/unictype/category-and-not-tests (Files): Likewise.
36440         * modules/unictype/category-and-tests (Files): Likewise.
36441         * modules/unictype/category-byname-tests (Files): Likewise.
36442         * modules/unictype/category-name-tests (Files): Likewise.
36443         * modules/unictype/category-none-tests (Files): Likewise.
36444         * modules/unictype/category-of-tests (Files): Likewise.
36445         * modules/unictype/category-or-tests (Files): Likewise.
36446         * modules/unictype/category-test-withtable-tests (Files): Likewise.
36447         * modules/unictype/combining-class-tests (Files): Likewise.
36448         * modules/unictype/ctype-alnum-tests (Files): Likewise.
36449         * modules/unictype/ctype-alpha-tests (Files): Likewise.
36450         * modules/unictype/ctype-blank-tests (Files): Likewise.
36451         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
36452         * modules/unictype/ctype-digit-tests (Files): Likewise.
36453         * modules/unictype/ctype-graph-tests (Files): Likewise.
36454         * modules/unictype/ctype-lower-tests (Files): Likewise.
36455         * modules/unictype/ctype-print-tests (Files): Likewise.
36456         * modules/unictype/ctype-punct-tests (Files): Likewise.
36457         * modules/unictype/ctype-space-tests (Files): Likewise.
36458         * modules/unictype/ctype-upper-tests (Files): Likewise.
36459         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
36460         * modules/unictype/decimal-digit-tests (Files): Likewise.
36461         * modules/unictype/digit-tests (Files): Likewise.
36462         * modules/unictype/mirror-tests (Files): Likewise.
36463         * modules/unictype/numeric-tests (Files): Likewise.
36464         * modules/unictype/property-alphabetic-tests (Files): Likewise.
36465         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
36466         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
36467         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
36468         Likewise.
36469         * modules/unictype/property-bidi-block-separator-tests (Files):
36470         Likewise.
36471         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
36472         Likewise.
36473         * modules/unictype/property-bidi-common-separator-tests (Files):
36474         Likewise.
36475         * modules/unictype/property-bidi-control-tests (Files): Likewise.
36476         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
36477         Likewise.
36478         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
36479         Likewise.
36480         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
36481         Likewise.
36482         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
36483         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
36484         Likewise.
36485         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
36486         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
36487         Likewise.
36488         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
36489         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
36490         * modules/unictype/property-bidi-segment-separator-tests (Files):
36491         Likewise.
36492         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
36493         * modules/unictype/property-byname-tests (Files): Likewise.
36494         * modules/unictype/property-combining-tests (Files): Likewise.
36495         * modules/unictype/property-composite-tests (Files): Likewise.
36496         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
36497         * modules/unictype/property-dash-tests (Files): Likewise.
36498         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
36499         * modules/unictype/property-default-ignorable-code-point-tests (Files):
36500         Likewise.
36501         * modules/unictype/property-deprecated-tests (Files): Likewise.
36502         * modules/unictype/property-diacritic-tests (Files): Likewise.
36503         * modules/unictype/property-extender-tests (Files): Likewise.
36504         * modules/unictype/property-format-control-tests (Files): Likewise.
36505         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
36506         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
36507         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
36508         * modules/unictype/property-hex-digit-tests (Files): Likewise.
36509         * modules/unictype/property-hyphen-tests (Files): Likewise.
36510         * modules/unictype/property-id-continue-tests (Files): Likewise.
36511         * modules/unictype/property-id-start-tests (Files): Likewise.
36512         * modules/unictype/property-ideographic-tests (Files): Likewise.
36513         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
36514         * modules/unictype/property-ids-trinary-operator-tests (Files):
36515         Likewise.
36516         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
36517         * modules/unictype/property-iso-control-tests (Files): Likewise.
36518         * modules/unictype/property-join-control-tests (Files): Likewise.
36519         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
36520         * modules/unictype/property-line-separator-tests (Files): Likewise.
36521         * modules/unictype/property-logical-order-exception-tests (Files):
36522         Likewise.
36523         * modules/unictype/property-lowercase-tests (Files): Likewise.
36524         * modules/unictype/property-math-tests (Files): Likewise.
36525         * modules/unictype/property-non-break-tests (Files): Likewise.
36526         * modules/unictype/property-not-a-character-tests (Files): Likewise.
36527         * modules/unictype/property-numeric-tests (Files): Likewise.
36528         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
36529         * modules/unictype/property-other-default-ignorable-code-point-tests
36530         (Files): Likewise.
36531         * modules/unictype/property-other-grapheme-extend-tests (Files):
36532         Likewise.
36533         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
36534         * modules/unictype/property-other-id-start-tests (Files): Likewise.
36535         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
36536         * modules/unictype/property-other-math-tests (Files): Likewise.
36537         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
36538         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
36539         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
36540         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
36541         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
36542         * modules/unictype/property-private-use-tests (Files): Likewise.
36543         * modules/unictype/property-punctuation-tests (Files): Likewise.
36544         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
36545         * modules/unictype/property-radical-tests (Files): Likewise.
36546         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
36547         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
36548         * modules/unictype/property-space-tests (Files): Likewise.
36549         * modules/unictype/property-terminal-punctuation-tests (Files):
36550         Likewise.
36551         * modules/unictype/property-test-tests (Files): Likewise.
36552         * modules/unictype/property-titlecase-tests (Files): Likewise.
36553         * modules/unictype/property-unassigned-code-value-tests (Files):
36554         Likewise.
36555         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
36556         * modules/unictype/property-uppercase-tests (Files): Likewise.
36557         * modules/unictype/property-variation-selector-tests (Files): Likewise.
36558         * modules/unictype/property-white-space-tests (Files): Likewise.
36559         * modules/unictype/property-xid-continue-tests (Files): Likewise.
36560         * modules/unictype/property-xid-start-tests (Files): Likewise.
36561         * modules/unictype/property-zero-width-tests (Files): Likewise.
36562         * modules/unictype/scripts-tests (Files): Likewise.
36563         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
36564         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
36565         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
36566         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
36567         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
36568         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
36569         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
36570         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
36571         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
36572         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
36573         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
36574         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
36575         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
36576         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
36577         * modules/uninorm/composition-tests (Files): Likewise.
36578         * modules/uninorm/decomposing-form-tests (Files): Likewise.
36579         * modules/uninorm/decomposition-tests (Files): Likewise.
36580         * modules/uninorm/filter-tests (Files): Likewise.
36581         * modules/uninorm/nfc-tests (Files): Likewise.
36582         * modules/uninorm/nfd-tests (Files): Likewise.
36583         * modules/uninorm/nfkc-tests (Files): Likewise.
36584         * modules/uninorm/nfkd-tests (Files): Likewise.
36585         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
36586         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
36587         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
36588         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
36589         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
36590         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
36591         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
36592         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
36593         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
36594         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
36595         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
36596         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
36597         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
36598         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
36599         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
36600         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
36601         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
36602         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
36603         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
36604         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
36605         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
36606         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
36607         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
36608         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
36609         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
36610         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
36611         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
36612         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
36613         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
36614         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
36615         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
36616         * modules/uniwidth/u8-width-tests (Files): Likewise.
36617         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
36618         * modules/uniwidth/u16-width-tests (Files): Likewise.
36619         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
36620         * modules/uniwidth/u32-width-tests (Files): Likewise.
36621         * modules/uniwidth/width-tests (Files): Likewise.
36622         * modules/unlink-tests (Files): Likewise.
36623         * modules/unsetenv-tests (Files): Likewise.
36624         * modules/usleep-tests (Files): Likewise.
36625         * modules/utimens-tests (Files): Likewise.
36626         * modules/utimensat-tests (Files): Likewise.
36627         * modules/vasnprintf-posix-tests (Files): Likewise.
36628         * modules/vasnprintf-tests (Files): Likewise.
36629         * modules/vasprintf-posix-tests (Files): Likewise.
36630         * modules/vasprintf-tests (Files): Likewise.
36631         * modules/vdprintf-posix-tests (Files): Likewise.
36632         * modules/vfprintf-posix-tests (Files): Likewise.
36633         * modules/vprintf-posix-tests (Files): Likewise.
36634         * modules/vsnprintf-posix-tests (Files): Likewise.
36635         * modules/vsnprintf-tests (Files): Likewise.
36636         * modules/vsprintf-posix-tests (Files): Likewise.
36637         * modules/wcrtomb-tests (Files): Likewise.
36638         * modules/wcsnrtombs-tests (Files): Likewise.
36639         * modules/wcsrtombs-tests (Files): Likewise.
36640         * modules/wctype-tests (Files): Likewise.
36641         * modules/wcwidth-tests (Files): Likewise.
36642         * modules/xmemdup0-tests (Files): Likewise.
36643         * modules/xprintf-posix-tests (Files): Likewise.
36644         * modules/xvasprintf-tests (Files): Likewise.
36645
36646 2009-12-24  Eric Blake  <ebb9@byu.net>
36647
36648         test-nanosleep: fix typo
36649         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
36650         patch.
36651         Reported by Bruno Haible.
36652
36653 2009-12-24  Bruno Haible  <bruno@clisp.org>
36654
36655         Reduce namespace pollution on glibc systems.
36656         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
36657         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
36658         systems.
36659         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
36660         <getopt.h> on glibc systems.
36661         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
36662         systems.
36663         * lib/fcntl.c: Include <unistd.h> here instead.
36664
36665 2009-12-24  Bruno Haible  <bruno@clisp.org>
36666
36667         * lib/stdlib.in.h (includes): Fix typo in today's commit.
36668
36669 2009-12-24  Eric Blake  <ebb9@byu.net>
36670
36671         tests: add signature checks
36672         * tests/signature.h (SIGNATURE_CHECK): New file.
36673         * modules/atexit-tests (Files): Use it.
36674         * modules/btowc-tests (Files): Likewise.
36675         * modules/canonicalize-lgpl-tests (Files): Likewise.
36676         * modules/ceilf-tests (Files): Likewise.
36677         * modules/ceill-tests (Files): Likewise.
36678         * modules/chown-tests (Files): Likewise.
36679         * modules/dprintf-posix-tests (Files): Likewise.
36680         * modules/dup2-tests (Files): Likewise.
36681         * modules/dup3-tests (Files): Likewise.
36682         * modules/duplocale-tests (Files): Likewise.
36683         * modules/fchdir-tests (Files): Likewise.
36684         * modules/fcntl-tests (Files): Likewise.
36685         * modules/fdopendir-tests (Files): Likewise.
36686         * modules/fflush-tests (Files): Likewise.
36687         * modules/flock-tests (Files): Likewise.
36688         * modules/floorf-tests (Files): Likewise.
36689         * modules/floorl-tests (Files): Likewise.
36690         * modules/fnmatch-tests (Files): Likewise.
36691         * modules/fopen-tests (Files): Likewise.
36692         * modules/fprintf-posix-tests (Files): Likewise.
36693         * modules/freopen-tests (Files): Likewise.
36694         * modules/frexp-nolibm-tests (Files): Likewise.
36695         * modules/frexp-tests (Files): Likewise.
36696         * modules/frexpl-nolibm-tests (Files): Likewise.
36697         * modules/frexpl-tests (Files): Likewise.
36698         * modules/fseek-tests (Files): Likewise.
36699         * modules/fseeko-tests (Files): Likewise.
36700         * modules/fsync-tests (Files): Likewise.
36701         * modules/ftell-tests (Files): Likewise.
36702         * modules/ftello-tests (Files): Likewise.
36703         * modules/futimens-tests (Files): Likewise.
36704         * modules/getaddrinfo-tests (Files): Likewise.
36705         * modules/getcwd-tests (Files): Likewise.
36706         * modules/getdelim-tests (Files): Likewise.
36707         * modules/getdtablesize-tests (Files): Likewise.
36708         * modules/getgroups-tests (Files): Likewise.
36709         * modules/gethostname-tests (Files): Likewise.
36710         * modules/getline-tests (Files): Likewise.
36711         * modules/getopt-posix-tests (Files): Likewise.
36712         * modules/gettimeofday-tests (Files): Likewise.
36713         * modules/glob-tests (Files): Likewise.
36714         * modules/iconv-tests (Files): Likewise.
36715         * modules/inet_ntop-tests (Files): Likewise.
36716         * modules/inet_pton-tests (Files): Likewise.
36717         * modules/isblank-tests (Files): Likewise.
36718         * modules/lchown-tests (Files): Likewise.
36719         * modules/ldexpl-tests (Files): Likewise.
36720         * modules/link-tests (Files): Likewise.
36721         * modules/linkat-tests (Files): Likewise.
36722         * modules/lseek-tests (Files): Likewise.
36723         * modules/lstat-tests (Files): Likewise.
36724         * modules/mbrtowc-tests (Files): Likewise.
36725         * modules/mbsinit-tests (Files): Likewise.
36726         * modules/mbsnrtowcs-tests (Files): Likewise.
36727         * modules/mbsrtowcs-tests (Files): Likewise.
36728         * modules/memchr-tests (Files): Likewise.
36729         * modules/memcmp-tests (Files): Likewise.
36730         * modules/memmem-tests (Files): Likewise.
36731         * modules/memrchr-tests (Files): Likewise.
36732         * modules/mkdir-tests (Files): Likewise.
36733         * modules/mkfifo-tests (Files): Likewise.
36734         * modules/mkfifoat-tests (Files): Likewise.
36735         * modules/mknod-tests (Files): Likewise.
36736         * modules/nanosleep-tests (Files): Likewise.
36737         * modules/nl_langinfo-tests (Files): Likewise.
36738         * modules/obstack-printf-tests (Files): Likewise.
36739         * modules/open-tests (Files): Likewise.
36740         * modules/openat-tests (Files): Likewise.
36741         * modules/perror-tests (Files): Likewise.
36742         * modules/pipe2-tests (Files): Likewise.
36743         * modules/poll-tests (Files): Likewise.
36744         * modules/popen-tests (Files): Likewise.
36745         * modules/posix_spawn-tests (Files): Likewise.
36746         * modules/posix_spawnp-tests (Files): Likewise.
36747         * modules/pread-tests (Files): Likewise.
36748         * modules/printf-posix-tests (Files): Likewise.
36749         * modules/pty-tests (Files): Likewise.
36750         * modules/random_r-tests (Files): Likewise.
36751         * modules/rawmemchr-tests (Files): Likewise.
36752         * modules/readlink-tests (Files): Likewise.
36753         * modules/remove-tests (Files): Likewise.
36754         * modules/rename-tests (Files): Likewise.
36755         * modules/renameat-tests (Files): Likewise.
36756         * modules/rmdir-tests (Files): Likewise.
36757         * modules/round-tests (Files): Likewise.
36758         * modules/roundf-tests (Files): Likewise.
36759         * modules/roundl-tests (Files): Likewise.
36760         * modules/select-tests (Files): Likewise.
36761         * modules/setenv-tests (Files): Likewise.
36762         * modules/sigaction-tests (Files): Likewise.
36763         * modules/sleep-tests (Files): Likewise.
36764         * modules/snprintf-posix-tests (Files): Likewise.
36765         * modules/snprintf-tests (Files): Likewise.
36766         * modules/sprintf-posix-tests (Files): Likewise.
36767         * modules/stat-tests (Files): Likewise.
36768         * modules/strcasestr-tests (Files): Likewise.
36769         * modules/strchrnul-tests (Files): Likewise.
36770         * modules/strerror-tests (Files): Likewise.
36771         * modules/strsignal-tests (Files): Likewise.
36772         * modules/strstr-tests (Files): Likewise.
36773         * modules/strtod-tests (Files): Likewise.
36774         * modules/strverscmp-tests (Files): Likewise.
36775         * modules/symlink-tests (Files): Likewise.
36776         * modules/symlinkat-tests (Files): Likewise.
36777         * modules/times-tests (Files): Likewise.
36778         * modules/trunc-tests (Files): Likewise.
36779         * modules/truncf-tests (Files): Likewise.
36780         * modules/truncl-tests (Files): Likewise.
36781         * modules/tsearch-tests (Files): Likewise.
36782         * modules/uname-tests (Files): Likewise.
36783         * modules/unlink-tests (Files): Likewise.
36784         * modules/unsetenv-tests (Files): Likewise.
36785         * modules/usleep-tests (Files): Likewise.
36786         * modules/utimensat-tests (Files): Likewise.
36787         * modules/vasprintf-tests (Files): Likewise.
36788         * modules/vdprintf-posix-tests (Files): Likewise.
36789         * modules/vfprintf-posix-tests (Files): Likewise.
36790         * modules/vprintf-posix-tests (Files): Likewise.
36791         * modules/vsnprintf-posix-tests (Files): Likewise.
36792         * modules/vsnprintf-tests (Files): Likewise.
36793         * modules/vsprintf-posix-tests (Files): Likewise.
36794         * modules/wcrtomb-tests (Files): Likewise.
36795         * modules/wcsnrtombs-tests (Files): Likewise.
36796         * modules/wcsrtombs-tests (Files): Likewise.
36797         * modules/wcwidth-tests (Files): Likewise.
36798         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
36799         * tests/test-isinf.c (isinf): Likewise.
36800         * tests/test-isnan.c (isnan): Likewise.
36801         * tests/test-signbit.c (signbit): Likewise.
36802         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
36803         declaration, either as macro or with correct signature.
36804         (select): Ensure function under test is declared with correct
36805         signature in correct header.
36806         * tests/test-atexit.c (atexit): Likewise.
36807         * tests/test-btowc.c (btowc): Likewise.
36808         * tests/test-canonicalize-lgpl.c (realpath)
36809         (canonicalize_file_name): Likewise.
36810         * tests/test-ceilf1.c (ceilf): Likewise.
36811         * tests/test-ceill.c (ceill): Likewise.
36812         * tests/test-chown.c (chown): Likewise.
36813         * tests/test-dprintf-posix.c (dprintf): Likewise.
36814         * tests/test-dup2.c (dup2): Likewise.
36815         * tests/test-dup3.c (dup3): Likewise.
36816         * tests/test-duplocale.c (duplocale): Likewise.
36817         * tests/test-fchdir.c (fchdir): Likewise.
36818         * tests/test-fchownat.c (fchownat): Likewise.
36819         * tests/test-fcntl.c (fcntl): Likewise.
36820         * tests/test-fdopendir.c (fdopendir): Likewise.
36821         * tests/test-fflush.c (fflush): Likewise.
36822         * tests/test-flock.c (flock): Likewise.
36823         * tests/test-floorf1.c (floorf): Likewise.
36824         * tests/test-floorl.c (floorl): Likewise.
36825         * tests/test-fnmatch.c (fnmatch): Likewise.
36826         * tests/test-fopen.c (fopen): Likewise.
36827         * tests/test-fprintf-posix.c (fprintf): Likewise.
36828         * tests/test-freopen.c (freopen): Likewise.
36829         * tests/test-frexp.c (frexp): Likewise.
36830         * tests/test-frexpl.c (frexpl): Likewise.
36831         * tests/test-fseek.c (fseek): Likewise.
36832         * tests/test-fseeko.c (fseeko): Likewise.
36833         * tests/test-fstatat.c (fstatat): Likewise.
36834         * tests/test-fsync.c (fsync): Likewise.
36835         * tests/test-ftell.c (ftell): Likewise.
36836         * tests/test-ftello.c (ftello): Likewise.
36837         * tests/test-futimens.c (futimens): Likewise.
36838         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
36839         (gai_strerror): Likewise.
36840         * tests/test-getcwd.c (getcwd): Likewise.
36841         * tests/test-getdelim.c (getdelim): Likewise.
36842         * tests/test-getdtablesize.c (getdtablesize): Likewise.
36843         * tests/test-getgroups.c (getgroups): Likewise.
36844         * tests/test-gethostname.c (gethostname): Likewise.
36845         * tests/test-getline.c (getline): Likewise.
36846         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
36847         Likewise.
36848         * tests/test-gettimeofday.c (gettimeofday): Likewise.
36849         * tests/test-glob.c (glob, globfree): Likewise.
36850         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
36851         * tests/test-inet_ntop.c (inet_ntop): Likewise.
36852         * tests/test-inet_pton.c (inet_pton): Likewise.
36853         * tests/test-isblank.c (isblank): Likewise.
36854         * tests/test-lchown.c (lchown): Likewise.
36855         * tests/test-ldexpl.c (ldexpl): Likewise.
36856         * tests/test-link.c (link): Likewise.
36857         * tests/test-linkat.c (linkat): Likewise.
36858         * tests/test-lseek.c (lseek): Likewise.
36859         * tests/test-lstat.c (lstat): Likewise.
36860         * tests/test-mbrtowc.c (mbrtowc): Likewise.
36861         * tests/test-mbsinit.c (mbsinit): Likewise.
36862         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
36863         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
36864         * tests/test-memchr.c (memchr): Likewise.
36865         * tests/test-memcmp.c (memcmp): Likewise.
36866         * tests/test-memmem.c (memmem): Likewise.
36867         * tests/test-memrchr.c (memrchr): Likewise.
36868         * tests/test-mkdir.c (mkdir): Likewise.
36869         * tests/test-mkdirat.c (mkdirat): Likewise.
36870         * tests/test-mkfifo.c (mkfifo): Likewise.
36871         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
36872         * tests/test-mknod.c (mknod): Likewise.
36873         * tests/test-nanosleep.c (nanosleep): Likewise.
36874         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
36875         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
36876         Likewise.
36877         * tests/test-open.c (open): Likewise.
36878         * tests/test-openat.c (openat): Likewise.
36879         * tests/test-perror.c (perror): Likewise.
36880         * tests/test-pipe2.c (pipe2): Likewise.
36881         * tests/test-poll.c (poll): Likewise.
36882         * tests/test-popen.c (popen, pclose): Likewise.
36883         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
36884         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
36885         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
36886         (posix_spawn_file_actions_destroy)
36887         (posix_spawn_file_actions_addclose)
36888         (posix_spawn_file_actions_addopen)
36889         (posix_spawn_file_actions_adddup2): Likewise.
36890         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
36891         * tests/test-pread.c (pread): Likewise.
36892         * tests/test-printf-posix.c (printf): Likewise.
36893         * tests/test-pty.c (openpty, forkpty): Likewise.
36894         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
36895         (random_r): Likewise.
36896         * tests/test-rawmemchr.c (rawmemchr): Likewise.
36897         * tests/test-readlink.c (readlink): Likewise.
36898         * tests/test-remove.c (remove): Likewise.
36899         * tests/test-rename.c (rename): Likewise.
36900         * tests/test-renameat.c (renameat): Likewise.
36901         * tests/test-rmdir.c (rmdir): Likewise.
36902         * tests/test-round1.c (round): Likewise.
36903         * tests/test-roundf1.c (roundf): Likewise.
36904         * tests/test-roundl.c (roundl): Likewise.
36905         * tests/test-setenv.c (setenv): Likewise.
36906         * tests/test-sigaction.c (sigaction): Likewise.
36907         * tests/test-sleep.c (sleep): Likewise.
36908         * tests/test-snprintf.c (snprintf): Likewise.
36909         * tests/test-sprintf-posix.c (sprintf): Likewise.
36910         * tests/test-stat.c (stat): Likewise.
36911         * tests/test-stpncpy.c (stpncpy): Likewise.
36912         * tests/test-strcasestr.c (strcasestr): Likewise.
36913         * tests/test-strchrnul.c (strchrnul): Likewise.
36914         * tests/test-strerror.c (strerror): Likewise.
36915         * tests/test-strsignal.c (strsignal): Likewise.
36916         * tests/test-strstr.c (strstr): Likewise.
36917         * tests/test-strtod.c (strtod): Likewise.
36918         * tests/test-strverscmp.c (strverscmp): Likewise.
36919         * tests/test-symlink.c (symlink): Likewise.
36920         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
36921         * tests/test-times.c (times): Likewise.
36922         * tests/test-trunc1.c (trunc): Likewise.
36923         * tests/test-truncf1.c (truncf): Likewise.
36924         * tests/test-truncl.c (truncl): Likewise.
36925         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
36926         Likewise.
36927         * tests/test-uname.c (uname): Likewise.
36928         * tests/test-unlink.c (unlink): Likewise.
36929         * tests/test-unlinkat.c (unlinkat): Likewise.
36930         * tests/test-unsetenv.c (unsetenv): Likewise.
36931         * tests/test-usleep.c (usleep): Likewise.
36932         * tests/test-utimensat.c (utimensat): Likewise.
36933         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
36934         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
36935         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
36936         * tests/test-vprintf-posix.c (vprintf): Likewise.
36937         * tests/test-vsnprintf.c (vsnprintf): Likewise.
36938         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
36939         * tests/test-wcrtomb.c (wcrtomb): Likewise.
36940         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
36941         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
36942         * tests/test-wcwidth.c (wcwidth): Likewise.
36943
36944         build: pull in conditional headers during GNULIB_POSIXCHECK
36945         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
36946         definitions from any conditionally-included headers.
36947         * lib/stdlib.in.h (includes): Likewise.
36948         * lib/unistd.in.h (includes): Likewise.
36949
36950 2009-12-24  Bruno Haible  <bruno@clisp.org>
36951
36952         * tests/test-argv-iter.c: Include header file being tested immediately
36953         after config.h.
36954         * tests/test-base64.c: Likewise.
36955         * tests/test-flock.c: Likewise.
36956         * tests/test-fsync.c: Likewise.
36957         * tests/test-getdate.c: Likewise.
36958         * tests/test-getndelim2.c: Likewise.
36959         * tests/test-isfinite.c: Likewise.
36960         * tests/test-isinf.c: Likewise.
36961         * tests/test-strerror.c: Likewise.
36962         * tests/test-strsignal.c: Likewise.
36963
36964 2009-12-23  Eric Blake  <ebb9@byu.net>
36965
36966         unistd: work around cygwin bug
36967         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
36968         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
36969         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36970
36971 2009-12-23  Bruno Haible  <bruno@clisp.org>
36972
36973         localename: More tests.
36974         * tests/test-localename.c (SIZEOF): New macro.
36975         (categories): New variable.
36976         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
36977         test_locale_name_default): Add test w.r.t. thread locale.
36978         (test_locale_name_thread): New function.
36979         (main): Invoke it.
36980
36981         localename: Make aware of thread locale.
36982         * lib/localename.h (gl_locale_name_thread): New declaration.
36983         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
36984         behaviour with respect to thread locale.
36985         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
36986         <langinfo.h>, glthread/lock.h.
36987         (SIZE_BITS): New macro.
36988         (string_hash): New function.
36989         (struct hash_node): New type.
36990         (HASH_TABLE_SIZE): New macro.
36991         (struniq_hash_table, struniq_lock): New variables.
36992         (struniq): New function.
36993         (gl_locale_name_thread): New function.
36994         (gl_locale_name): Invoke it.
36995         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
36996         * modules/localename (Depends-on): Add lock.
36997         Reported by Mike Gran <spk121@yahoo.com>.
36998
36999 2009-12-23  Eric Blake  <ebb9@byu.net>
37000
37001         va-args: new module
37002         * modules/va-args: New file.
37003         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
37004         * MODULES.html.sh (Core language properties): Mention it.
37005
37006         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
37007         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
37008         named alias for __attribute__((__unused__)).
37009         * lib/chown.c: Update client.
37010         * lib/fchmodat.c: Likewise.
37011         * lib/fts.c: Likewise.
37012         * lib/getdate.y: Likewise.
37013         * lib/getgroups.c: Likewise.
37014         * lib/getopt.c: Likewise.
37015         * lib/getugroups.c: Likewise.
37016         * lib/mkdir.c: Likewise.
37017         * lib/mkfifo.c: Likewise.
37018         * lib/mkfifoat.c: Likewise.
37019         * lib/mknod.c: Likewise.
37020         * lib/mknodat.c: Likewise.
37021         * lib/readlink.c: Likewise.
37022         * lib/se-context.in.h: Likewise.
37023         * lib/se-selinux.in.h: Likewise.
37024         * lib/sockets.c: Likewise.
37025         * lib/symlink.c: Likewise.
37026         * lib/symlinkat.c: Likewise.
37027         * lib/unicodeio.c: Likewise.
37028         * lib/unistr.h: Likewise.
37029         * tests/test-areadlink.c: Likewise.
37030         * tests/test-areadlinkat.c: Likewise.
37031         * tests/test-filenamecat.c: Likewise.
37032         * tests/test-fseeko.c: Likewise.
37033         * tests/test-ftello.c: Likewise.
37034         * tests/test-getdate.c: Likewise.
37035         * tests/test-getgroups.c: Likewise.
37036         * tests/test-gethostname.c: Likewise.
37037         * tests/test-quotearg.c: Likewise.
37038         * tests/test-version-etc.c: Likewise.
37039         * tests/test-xalloc-die.c: Likewise.
37040         * tests/test-xfprintf-posix.c: Likewise.
37041         * tests/test-xprintf-posix.c: Likewise.
37042         * tests/test-xvasprintf.c: Likewise.
37043
37044         tests: avoid compiler warnings
37045         * tests/test-fcntl.c (main): Delete unused parameters.
37046         * tests/test-freopen-safer.c (main): Likewise.
37047         * tests/test-xalloc-die.c (main): Mark unused parameters.
37048         * tests/test-fseeko.c (main): Likewise.
37049         * tests/test-ftello.c (main): Likewise.
37050         * tests/test-nanosleep.c (main): Avoid declaration warning.
37051         * tests/test-sleep.c (main): Likewise.
37052         * tests/test-unsetenv.c (main): Silence warning about string
37053         literal.
37054         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
37055
37056 2009-12-23  Bruno Haible  <bruno@clisp.org>
37057
37058         * tests/test-localename.c (test_locale_name): New function, extracted
37059         from main. Also test mixed situations.
37060         (test_locale_name_posix, test_locale_name_environ,
37061         test_locale_name_default): New functions.
37062         (main): Invoke them all.
37063         * modules/localename-tests (configure.ac): Test for newlocale.
37064
37065 2009-12-23  Bruno Haible  <bruno@clisp.org>
37066
37067         unistd: Ensure getcwd gets declared before being overridden.
37068         * lib/unistd.in.h: Conditionally include <io.h>.
37069
37070 2009-12-22  Bruno Haible  <bruno@clisp.org>
37071
37072         wchar: Diagnose broken combination of glibc and gcc versions and flags.
37073         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
37074         (gl_WCHAR_H): Invoke it.
37075         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
37076         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
37077         Reported by Karl Berry <karl@freefriends.org>.
37078
37079 2009-12-22  Eric Blake  <ebb9@byu.net>
37080
37081         math, unistd: avoid redundant includes
37082         * lib/math.in.h (isnan): No need to re-include <math.h>.
37083         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
37084
37085         getsubopt: work around cygwin bug
37086         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
37087         avoid conflicting with system getsubopt.
37088         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
37089         bug.
37090
37091         getopt: synchronize from glibc
37092         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
37093         parameter order.  Adjust all callers.
37094         (_getopt_internal_r, main): Adjust quoting in error messages.
37095         Drop considerations for outdated POSIX 1003.2 error message.
37096         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
37097         callers.
37098         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
37099
37100         test-getopt: test stderr behavior
37101         * modules/getopt-posix-tests (Depends-on): Add dup2.
37102         * tests/test-getopt.c (ASSERT): Avoid stderr.
37103         (main): Move stderr to a temporary file.
37104         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
37105         Instead, add parameter to inform caller if output occurred.
37106         (test_getopt): Adjust all existing tests to expect silence, and
37107         add new tests of leading ":".
37108         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37109         glibc shortcomings with leading "-:" or "+:" in optstring.
37110         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37111         Likewise.
37112         * doc/posix-functions/getopt.texi (getopt): Likewise.
37113
37114         test-getopt: enhance test
37115         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
37116         supports optind=0.
37117         * tests/test-getopt.c (OPTIND_MIN): Move...
37118         * tests/test-getopt.h (OPTIND_MIN): ...here.
37119         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
37120         Require that optind=0 works, since modern BSD supports it in
37121         addition to optreset, and since coreutils expects it.
37122         (test_getopt_long_only): New test.
37123         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37124         glibc shortcomings with 'W;', and enforcement of optind=0.
37125         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37126         Likewise.
37127
37128 2009-12-21  Bruno Haible  <bruno@clisp.org>
37129
37130         localename: Improvements for MacOS X and Cygwin.
37131         * lib/localename.h (gl_locale_name_environ): New declaration.
37132         * lib/localename.c (gl_locale_name_environ): New function, extracted from
37133         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
37134         (gl_locale_name_posix): Invoke it.
37135         (gl_locale_name_default): Add comments. Use Windows native API also on
37136         Cygwin.
37137
37138 2009-12-21  Bruno Haible  <bruno@clisp.org>
37139
37140         Update list of Win32 locale ids.
37141         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
37142         (LANG_SAMI): Renamed from LANG_SAAMI.
37143         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
37144         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
37145         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
37146         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
37147         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
37148         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
37149         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
37150         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
37151         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
37152         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
37153         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
37154         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
37155         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
37156         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
37157         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
37158         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
37159         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
37160         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
37161         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
37162         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
37163         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
37164         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
37165         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
37166         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
37167         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
37168         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
37169         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
37170         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
37171         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
37172         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
37173         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
37174         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
37175         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
37176         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
37177         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
37178         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
37179         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
37180         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
37181         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
37182         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
37183         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
37184         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
37185         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
37186         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
37187         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
37188         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
37189         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
37190         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
37191         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
37192         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
37193         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
37194         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
37195         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
37196         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
37197         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
37198         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
37199         Add more languages and countries for Sami, Sorbian. Add more countries
37200         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
37201         for Pashto. Change country for Syriac, Tswana.
37202
37203 2009-12-21  Eric Blake  <ebb9@byu.net>
37204
37205         test-utimens: avoid spurious failure
37206         * tests/test-chown.h (nap): Factor...
37207         * tests/nap.h: ...into new file.
37208         * tests/test-lchown.h (nap): Avoid duplication.
37209         * tests/test-utimens-common.h (nap): Use shared implementation,
37210         necessary on file systems with 1-second resolution.
37211         * modules/chown-tests (Files): Include new file.
37212         * modules/fdutimensat-tests (Files): Likewise.
37213         * modules/futimens-tests (Files): Likewise.
37214         * modules/lchown-tests (Files): Likewise.
37215         * modules/openat-tests (Files): Likewise.
37216         * modules/utimens-tests (Files): Likewise.
37217         * modules/utimensat-tests (Files): Likewise.
37218
37219 2009-12-19  Eric Blake  <ebb9@byu.net>
37220
37221         futimens, utimensat: work around Linux bug
37222         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
37223         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37224         * lib/utimensat.c (rpl_utimensat): Work around it.
37225         * lib/futimens.c (rpl_futimens): Adjust comment.
37226
37227         utimens: work around Linux ctime bug
37228         * lib/utimens.c (detect_ctime_bug): New helper function.
37229         (update_timespec): Differentiate between workaround needed for
37230         this bug vs. what is needed for systems that lack utimensat.
37231         (fdutimens, lutimens): Work around bug.
37232
37233         utimens: check for ctime update
37234         * tests/test-utimens-common.h (check_ctime): Define.
37235         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
37236         * tests/test-futimens.h (test_futimens): Likewise.
37237         * tests/test-lutimens.h (test_lutimens): Likewise.
37238         * doc/posix-functions/futimens.texi (futimens): Document the bug.
37239         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37240
37241 2009-12-19  Bruno Haible  <bruno@clisp.org>
37242
37243         dprintf-posix: Check against memory leak fixed on 2009-12-15.
37244         * tests/test-dprintf-posix2.sh: New file.
37245         * tests/test-dprintf-posix2.c: New file.
37246         * modules/dprintf-posix-tests (Files): Add them.
37247         (configure.ac): Check for getrlimit and setrlimit.
37248         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37249
37250 2009-12-19  Bruno Haible  <bruno@clisp.org>
37251
37252         fprintf-posix: Check against memory leak fixed on 2009-12-15.
37253         * tests/test-fprintf-posix3.sh: New file.
37254         * tests/test-fprintf-posix3.c: New file.
37255         * modules/fprintf-posix-tests (Files): Add them.
37256         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37257
37258 2009-12-19  Eric Blake  <ebb9@byu.net>
37259
37260         dirfd: fix prototype
37261         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
37262         * lib/dirfd.c (dirfd): Likewise.
37263
37264         canonicalize: reduce memory usage
37265         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
37266         allocation to size.
37267         Reported by Solar Designer <solar@openwall.com>.
37268
37269 2009-12-19  Bruno Haible  <bruno@clisp.org>
37270
37271         New module attribute 'Applicability'.
37272         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
37273         * gnulib-tool: New option --extract-applicability.
37274         (func_usage): Document it.
37275         (sed_extract_prog): Recognize it.
37276         (func_get_applicability): New function.
37277         (func_import): Generalize handling of 'link-warning' module.
37278         * modules/link-warning (Applicability): New section.
37279         * modules/arg-nonnull (Applicability): New section.
37280         Repoted by Simon Josefsson <simon@josefsson.org>.
37281
37282 2009-12-19  Bruno Haible  <bruno@clisp.org>
37283
37284         fflush: tweak
37285         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
37286         * lib/fseeko.c (rpl_fseeko): Likewise.
37287
37288 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
37289
37290         * lib/gl_list.h: Fix typo in comment.
37291
37292 2009-12-16  Eric Blake  <ebb9@byu.net>
37293
37294         fcntl: use to simplify other modules
37295         * modules/cloexec (Depends-on): Add fcntl.
37296         * modules/fchdir (Depends-on): Likewise.
37297         * modules/fd-safer-flag (Depends-on): Likewise.
37298         * modules/unistd-safer (Depends-on): Likewise.
37299         * modules/dup3 (configure.ac): Set module indicator.
37300         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
37301         missing.
37302         * lib/fchdir.c (_gl_register_dup): Fix comment.
37303         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
37304         * lib/dup-safer.c (dup_safer): Likewise.
37305         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
37306         * lib/dup3.c (dup3): Likewise.
37307         * tests/test-fchdir.c (main): Enhance test.
37308         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
37309
37310         fcntl: port portions of fcntl to mingw
37311         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
37312         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
37313         replacement for mingw.
37314         * modules/fcntl (Description): Update.
37315         (Depends-on): Add dup2.
37316         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
37317         * modules/fcntl-h (Makefile.am): Substitute it.
37318         * lib/fcntl.in.h (fcntl): Update declaration.
37319         (F_DUPFD, F_GETFD): New macros, when needed.
37320         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
37321         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
37322         * tests/test-fcntl.c (check_flags, main): Enhance test for items
37323         we now guarantee.
37324
37325         fcntl: work around cygwin bug in F_DUPFD
37326         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
37327         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
37328         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
37329         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
37330         * doc/posix-functions/fcntl.texi (fcntl): Document it.
37331
37332         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
37333         * modules/fcntl (Files): List new files.
37334         (configure.ac): Run a test.
37335         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
37336         * lib/fcntl.c (rpl_fcntl): Likewise.
37337         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
37338         (gl_FCNTL_H): Always replace fcntl.h.
37339         * modules/fcntl-h (Makefile.am): Substitute witnesses.
37340         * lib/fcntl.in.h (fcntl): Declare replacement.
37341         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
37342         needed, plus a witness.
37343         * doc/posix-functions/fcntl.texi (fcntl): Document this.
37344         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
37345         * tests/test-fcntl.c: New file.
37346         * modules/fcntl-tests: Likewise.
37347
37348         binary-io: avoid potential compilation warning
37349         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
37350         directives.
37351
37352         fflush: avoid compilation error on NetBSD
37353         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
37354         between off_t and fpos_t, since the latter is sometimes a struct.
37355         * lib/fseeko.c (rpl_fseeko): Likewise.
37356         Reported by Alexander Nasonov <alnsn@yandex.ru>.
37357
37358 2009-12-15  Eric Blake  <ebb9@byu.net>
37359
37360         fcntl-h, stdio, sys_ioctl: fix declarations
37361         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
37362         function must not take arguments.
37363         * lib/sys_ioctl.in.h (ioctl): Likewise.
37364         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
37365         (open): Add a link warning.
37366
37367 2009-12-15  Jim Meyering  <meyering@redhat.com>
37368
37369         areadlink, areadlink-with-size: relax license to LGPLv2+
37370         * modules/areadlink (License): Relax to LGPLv2+.
37371         * modules/areadlink-with-size (License): Likewise.
37372
37373 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
37374             Bruno Haible  <bruno@clisp.org>
37375
37376         *printf: Fix memory leak.
37377         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
37378         * lib/vfprintf.c (vfprintf): Likewise.
37379         * lib/dprintf.c (dprintf): Likewise.
37380         * lib/vdprintf.c (vdprintf): Likewise.
37381
37382 2009-12-14  Eric Blake  <ebb9@byu.net>
37383
37384         accept4: adjust module dependencies
37385         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
37386
37387         utimens: one more try at avoiding compiler warning
37388         * lib/utimens.c (lutimens): Lower scope of result.
37389
37390 2009-12-13  Bruno Haible  <bruno@clisp.org>
37391
37392         Move the malloc checking from module 'list' to new module 'xlist'.
37393         * modules/xlist: New file.
37394         * lib/gl_xlist.h: New file.
37395         * lib/gl_xlist.c: New file.
37396         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
37397         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
37398         gl_list_add_last, gl_list_add_before, gl_list_add_after,
37399         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
37400         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
37401         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
37402         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
37403         gl_sortedlist_nx_add): New declarations.
37404         (struct gl_list_implementation): Rename and change methods accordingly.
37405         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
37406         (gl_list_nx_create): Renamed from gl_list_create.
37407         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37408         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37409         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37410         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37411         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37412         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37413         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37414         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37415         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
37416         gl_list_create_empty.
37417         (gl_list_nx_create): Renamed from gl_list_create.
37418         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37419         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37420         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37421         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37422         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37423         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37424         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37425         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37426         * lib/gl_array_list.c: Don't include xalloc.h.
37427         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
37428         NULL upon out-of-memory.
37429         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
37430         out-of-memory.
37431         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
37432         Change return type to 'int'.
37433         (gl_array_nx_set_at): Renamed from gl_array_set_at.
37434         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37435         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
37436         upon out-of-memory.
37437         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
37438         upon out-of-memory.
37439         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
37440         upon out-of-memory.
37441         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
37442         upon out-of-memory.
37443         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
37444         out-of-memory.
37445         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
37446         Update.
37447         (gl_array_list_implementation): Update.
37448         * lib/gl_carray_list.c: Don't include xalloc.h.
37449         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
37450         Return NULL upon out-of-memory.
37451         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
37452         out-of-memory.
37453         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
37454         Change return type to 'int'.
37455         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
37456         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37457         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
37458         upon out-of-memory.
37459         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
37460         upon out-of-memory.
37461         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
37462         out-of-memory.
37463         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
37464         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
37465         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
37466         Update.
37467         (gl_carray_list_implementation): Update.
37468         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
37469         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
37470         gl_linked_create_empty. Return NULL upon out-of-memory.
37471         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
37472         out-of-memory.
37473         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
37474         Change return type to 'int'. Return -1 upon out-of-memory.
37475         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
37476         out-of-memory.
37477         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
37478         upon out-of-memory.
37479         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
37480         upon out-of-memory.
37481         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
37482         NULL upon out-of-memory.
37483         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
37484         upon out-of-memory.
37485         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
37486         out-of-memory.
37487         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
37488         Update.
37489         * lib/gl_linked_list.c: Don't include xalloc.h.
37490         (gl_linked_list_implementation): Update.
37491         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
37492         (add_to_bucket): Change return type to 'int'.
37493         (gl_linkedhash_list_implementation): Update.
37494         * lib/gl_anytree_list1.h (free_subtree): New function.
37495         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
37496         gl_tree_create_empty. Return NULL upon out-of-memory.
37497         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
37498         Change return type to 'int'. Return -1 upon out-of-memory.
37499         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
37500         out-of-memory.
37501         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
37502         (gl_tree_remove_node): New function, moved here from
37503         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
37504         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
37505         Update.
37506         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
37507         malloc, not xmalloc. Return NULL upon out-of-memory.
37508         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
37509         out-of-memory.
37510         (gl_tree_remove_node_from_tree): New function, extracted from
37511         gl_tree_remove_node.
37512         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
37513         upon out-of-memory.
37514         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
37515         out-of-memory.
37516         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
37517         upon out-of-memory.
37518         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
37519         upon out-of-memory.
37520         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
37521         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
37522         not xmalloc. Return NULL upon out-of-memory.
37523         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
37524         out-of-memory.
37525         (gl_tree_remove_node_from_tree): New function, extracted from
37526         gl_tree_remove_node.
37527         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
37528         upon out-of-memory.
37529         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
37530         out-of-memory.
37531         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
37532         upon out-of-memory.
37533         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
37534         upon out-of-memory.
37535         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
37536         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
37537         gl_anytree_list1.h before gl_anyavltree_list2.h.
37538         (gl_avltree_list_implementation): Update.
37539         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
37540         gl_anytree_list1.h before gl_anyavltree_list2.h.
37541         (gl_rbtree_list_implementation): Update.
37542         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
37543         Change return type to 'int'. Return -1 upon out-of-memory. Use
37544         __builtin_expect.
37545         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
37546         (gl_avltreehash_list_implementation): Update.
37547         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
37548         (gl_rbtreehash_list_implementation): Update.
37549         * modules/array-list (Depends-on): Remove xalloc.
37550         * modules/carray-list (Depends-on): Likewise.
37551         * modules/linked-list (Depends-on): Likewise.
37552         * modules/linkedhash-list (Depends-on): Likewise.
37553         * modules/avltree-list (Depends-on): Likewise.
37554         * modules/rbtree-list (Depends-on): Likewise.
37555         * modules/avltreehash-list (Depends-on): Likewise.
37556         * modules/rbtreehash-list (Depends-on): Likewise.
37557
37558         * modules/xsublist: New file.
37559         * lib/gl_xsublist.h: New file.
37560         * lib/gl_xsublist.c: New file.
37561         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
37562         (gl_sublist_nx_create): New declaration.
37563         * lib/gl_sublist.c: Don't include xalloc.h.
37564         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
37565         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
37566         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
37567         Change return type to 'int'. Return -1 upon out-of-memory.
37568         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
37569         upon out-of-memory.
37570         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
37571         NULL upon out-of-memory.
37572         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
37573         upon out-of-memory.
37574         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
37575         NULL upon out-of-memory.
37576         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
37577         NULL upon out-of-memory.
37578         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
37579         upon out-of-memory.
37580         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
37581         (gl_sublist_list_implementation): Update.
37582         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
37583         upon out-of-memory.
37584         * modules/sublist (Depends-on): Remove xalloc.
37585
37586         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
37587         * tests/test-carray_list.c: Likewise.
37588         * tests/test-linked_list.c: Likewise.
37589         * tests/test-linkedhash_list.c: Likewise.
37590         * tests/test-avltree_list.c: Likewise.
37591         * tests/test-rbtree_list.c: Likewise.
37592         * tests/test-avltreehash_list.c: Likewise.
37593         * tests/test-rbtreehash_list.c: Likewise.
37594         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
37595         * modules/carray-list-tests (Makefile.am): Likewise.
37596         * modules/linked-list-tests (Makefile.am): Likewise.
37597         * modules/linkedhash-list-tests (Makefile.am): Likewise.
37598         * modules/avltree-list-tests (Makefile.am): Likewise.
37599         * modules/rbtree-list-tests (Makefile.am): Likewise.
37600         * modules/avltreehash-list-tests (Makefile.am): Likewise.
37601         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
37602
37603         * NEWS: Mention the changes.
37604
37605         * lib/clean-temp.c: Include gl_xlist.h.
37606         * modules/clean-temp (Depends-on): Add xlist.
37607
37608         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
37609         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
37610
37611         * tests/test-array_oset.c: Include gl_xlist.h.
37612         * modules/array-oset-tests (Depends-on): Add xlist.
37613
37614         Reported by José E. Marchesi <jemarch@gnu.org>.
37615
37616 2009-12-13  Bruno Haible  <bruno@clisp.org>
37617
37618         Move the malloc checking from module 'oset' to new module 'xoset'.
37619         * modules/xoset: New file.
37620         * lib/gl_xoset.h: New file.
37621         * lib/gl_xoset.c: New file.
37622         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
37623         declarations.
37624         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
37625         (struct gl_oset_implementation): Rename and change methods accordingly.
37626         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
37627         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
37628         'int'. Mark as __warn_unused_result__.
37629         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
37630         gl_oset_create_empty.
37631         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
37632         'int'.
37633         * lib/gl_array_oset.c: Don't include xalloc.h.
37634         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
37635         malloc, not xmalloc.
37636         (grow): Change return type to 'int'. Don't call xalloc_die.
37637         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
37638         to 'int'.
37639         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
37640         'int'.
37641         (gl_array_oset_implementation): Update.
37642         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
37643         gl_tree_create_empty.
37644         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
37645         'int'.
37646         * lib/gl_avltree_oset.c: Don't include xalloc.h.
37647         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37648         xmalloc.
37649         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37650         not xmalloc.
37651         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37652         xmalloc.
37653         (gl_avltree_oset_implementation): Update.
37654         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
37655         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37656         xmalloc.
37657         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37658         not xmalloc.
37659         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37660         xmalloc.
37661         (gl_rbtree_oset_implementation): Update.
37662         * modules/array-oset (Depends-on): Remove xalloc.
37663         * modules/avltree-oset (Depends-on): Likewise.
37664         * modules/rbtree-oset (Depends-on): Likewise.
37665         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
37666         * tests/test-avltree_oset.c: Likewise.
37667         * tests/test-rbtree_oset.c: Likewise.
37668         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
37669         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
37670         * modules/rbtree-oset-tests (Makefile.am): Likewise.
37671         * NEWS: Mention the change.
37672
37673 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
37674
37675         maint.mk: allow a project to override release-prep commands
37676         * top/maint.mk (alpha, beta, stable): Move release-preparatory
37677         commands into a new rule.
37678         (release-prep): New rule.
37679         (release-prep-hook): New overridable variable.
37680
37681 2009-12-13  Bruno Haible  <bruno@clisp.org>
37682
37683         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
37684
37685 2009-12-13  Jim Meyering  <meyering@redhat.com>
37686
37687         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
37688         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
37689
37690 2009-12-12  Bruno Haible  <bruno@clisp.org>
37691
37692         duplocale: Tweak.
37693         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
37694
37695 2009-12-12  Karl Berry  <karl@gnu.org>
37696
37697         * config/srclist.txt (strtoll.c): tab changes, no more sync.
37698
37699 2009-12-12  Bruno Haible  <bruno@clisp.org>
37700
37701         * m4/po.m4: Undo incorrect untabification.
37702
37703 2009-12-12  Bruno Haible  <bruno@clisp.org>
37704
37705         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
37706         * modules/c-strtod (Depends-on): Add locale.
37707         * modules/c-strtold (Depends-on): Likewise.
37708
37709 2009-12-12  Bruno Haible  <bruno@clisp.org>
37710
37711         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
37712
37713 2009-12-11  Eric Blake  <ebb9@byu.net>
37714
37715         setenv: relax requirement in light of POSIX ruling
37716         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
37717         not NULL.
37718         * tests/test-setenv.c (main): Relax test.
37719         * tests/test-unsetenv.c (main): Likewise.
37720         * doc/posix-functions/setenv.texi (setenv): Document this.
37721         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37722
37723 2009-12-11  Bruno Haible  <bruno@clisp.org>
37724
37725         New module 'fd-safer-flag'.
37726         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
37727         * lib/dup-safer.c (dup_safer_flag): Remove function.
37728         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
37729         * lib/fd-safer.c (fd_safer_flag): Remove function.
37730         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
37731         * modules/cloexec (configure.ac): Drop indicator macro.
37732         * modules/fd-safer-flag: New file.
37733         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
37734         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
37735         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
37736
37737 2009-12-11  Bruno Haible  <bruno@clisp.org>
37738
37739         Tests for module 'nl_langinfo'.
37740         * modules/nl_langinfo-tests: New file.
37741         * tests/test-nl_langinfo.sh: New file.
37742         * tests/test-nl_langinfo.c: New file.
37743
37744         New module 'nl_langinfo'.
37745         * lib/nl_langinfo.c: New file.
37746         * m4/nl_langinfo.m4: New file.
37747         * modules/nl_langinfo: New file.
37748         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
37749
37750 2009-12-11  Bruno Haible  <bruno@clisp.org>
37751
37752         Tests for module 'langinfo'.
37753         * modules/langinfo-tests: New file.
37754         * tests/test-langinfo.c: New file.
37755
37756         New module 'langinfo'.
37757         * lib/langinfo.in.h: New file.
37758         * m4/langinfo_h.m4: New file.
37759         * modules/langinfo: New file.
37760         * doc/posix-headers/langinfo.texi: Mention the new module.
37761
37762 2009-12-11  Bruno Haible  <bruno@clisp.org>
37763
37764         * lib/config.charset: Untabify.
37765
37766 2009-12-11  Bruno Haible  <bruno@clisp.org>
37767
37768         * modules/unistd-safer (configure.ac): Drop indicator macro.
37769
37770 2009-12-11  Bruno Haible  <bruno@clisp.org>
37771
37772         Move pipe2-safer code to its own file.
37773         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
37774         * lib/pipe-safer.c (pipe2_safer): Remove function.
37775         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
37776         (Makefile.am): Add it to lib_SOURCES.
37777
37778 2009-12-10  Bruno Haible  <bruno@clisp.org>
37779
37780         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
37781
37782 2009-12-10  Bruno Haible  <bruno@clisp.org>
37783
37784         Declare which arguments expect non-NULL values, for GCC and clang.
37785         * build-aux/arg-nonnull.h: New file.
37786         * modules/arg-nonnull: New file.
37787         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
37788         (inet_ntop, inet_pton): Use it.
37789         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
37790         (closedir, dirfd, opendir, scandir, alphasort): Use it.
37791         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
37792         (open, openat): Use it.
37793         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
37794         (fnmatch): Use it.
37795         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
37796         (getopt, getopt_long, getopt_long_only): Use it.
37797         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
37798         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
37799         Use it.
37800         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
37801         (iconv_open): Use it.
37802         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
37803         (strtoimax, strtoumax): Use it.
37804         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
37805         (duplocale): Use it.
37806         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
37807         (frexp, frexpl): Use it.
37808         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
37809         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
37810         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
37811         (tsearch, tfind, tdelete, twalk): Use it.
37812         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
37813         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
37814         sigpending): Use it.
37815         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
37816         (posix_spawn, posix_spawnp, posix_spawnattr_init,
37817         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
37818         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
37819         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
37820         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
37821         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
37822         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
37823         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
37824         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
37825         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
37826         Use it.
37827         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
37828         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
37829         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
37830         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
37831         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
37832         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
37833         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
37834         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
37835         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
37836         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
37837         strtoull, unsetenv): Use it.
37838         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
37839         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
37840         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
37841         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
37842         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
37843         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
37844         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
37845         (strcasecmp, strncasecmp): Use it.
37846         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
37847         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
37848         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
37849         rpl_setsockopt): Use it.
37850         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
37851         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
37852         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
37853         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
37854         (gettimeofday): Use it.
37855         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
37856         (times): Use it.
37857         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
37858         (uname): Use it.
37859         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
37860         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
37861         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
37862         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
37863         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
37864         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
37865         unlinkat, write): Use it.
37866         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
37867         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
37868         * lib/argv-iter.h: Include arg-nonnull.h.
37869         (_ATTRIBUTE_NONNULL_): Remove macro.
37870         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
37871         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
37872         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
37873         optimization.
37874         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
37875         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
37876         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
37877         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
37878         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
37879         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
37880         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
37881         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
37882         * modules/arpa_inet (Depends-on): Add arg-nonnull.
37883         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
37884         * modules/dirent (Depends-on): Add arg-nonnull.
37885         (Makefile.am): Insert arg-nonnull.h into dirent.h.
37886         * modules/fcntl-h (Depends-on): Add arg-nonnull.
37887         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
37888         * modules/fnmatch (Depends-on): Add arg-nonnull.
37889         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
37890         * modules/getopt-posix (Depends-on): Add arg-nonnull.
37891         (Makefile.am): Insert arg-nonnull.h into getopt.h.
37892         * modules/glob (Depends-on): Add arg-nonnull.
37893         (Makefile.am): Insert arg-nonnull.h into glob.h.
37894         * modules/iconv_open (Depends-on): Add arg-nonnull.
37895         (Makefile.am): Insert arg-nonnull.h into iconv.h.
37896         * modules/inttypes (Depends-on): Add arg-nonnull.
37897         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
37898         * modules/locale (Depends-on): Add arg-nonnull.
37899         (Makefile.am): Insert arg-nonnull.h into locale.h.
37900         * modules/math (Depends-on): Add arg-nonnull.
37901         (Makefile.am): Insert arg-nonnull.h into math.h.
37902         * modules/netdb (Depends-on): Add arg-nonnull.
37903         (Makefile.am): Insert arg-nonnull.h into netdb.h.
37904         * modules/search (Depends-on): Add arg-nonnull.
37905         (Makefile.am): Insert arg-nonnull.h into search.h.
37906         * modules/signal (Depends-on): Add arg-nonnull.
37907         (Makefile.am): Insert arg-nonnull.h into signal.h.
37908         * modules/spawn (Depends-on): Add arg-nonnull.
37909         (Makefile.am): Insert arg-nonnull.h into spawn.h.
37910         * modules/stdio (Depends-on): Add arg-nonnull.
37911         (Makefile.am): Insert arg-nonnull.h into stdio.h.
37912         * modules/stdlib (Depends-on): Add arg-nonnull.
37913         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
37914         * modules/string (Depends-on): Add arg-nonnull.
37915         (Makefile.am): Insert arg-nonnull.h into string.h.
37916         * modules/strings (Depends-on): Add arg-nonnull.
37917         (Makefile.am): Insert arg-nonnull.h into strings.h.
37918         * modules/sys_socket (Depends-on): Add arg-nonnull.
37919         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
37920         * modules/sys_stat (Depends-on): Add arg-nonnull.
37921         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
37922         * modules/sys_time (Depends-on): Add arg-nonnull.
37923         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
37924         * modules/sys_times (Depends-on): Add arg-nonnull.
37925         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
37926         * modules/sys_utsname (Depends-on): Add arg-nonnull.
37927         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
37928         * modules/time (Depends-on): Add arg-nonnull.
37929         (Makefile.am): Insert arg-nonnull.h into time.h.
37930         * modules/unistd (Depends-on): Add arg-nonnull.
37931         (Makefile.am): Insert arg-nonnull.h into unistd.h.
37932         * modules/wchar (Depends-on): Add arg-nonnull.
37933         (Makefile.am): Insert arg-nonnull.h into wchar.h.
37934         * modules/argv-iter (Depends-on): Add arg-nonnull.
37935         * tests/test-canonicalize.c (null_ptr): New function.
37936         (main): Use it.
37937         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
37938         (main): Use it.
37939         * tests/test-memmem.c (null_ptr): New function.
37940         (main): Use it.
37941         Reported by Jim Meyering.
37942
37943 2009-12-10  Bruno Haible  <bruno@clisp.org>
37944
37945         Use spaces for indentation, not tabs.
37946         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
37947         * m4/*.m4: Untabify.
37948         * build-aux/*.h: Untabify.
37949         * tests/**/*.[hc]: Untabify.
37950         * README: New section "Indent with spaces, not TABs", based on
37951         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
37952         * NEWS: Mention the change.
37953
37954 2009-12-10  Bruno Haible  <bruno@clisp.org>
37955
37956         pty test: Fix link error.
37957         * modules/pty-tests (Makefile.am): Add the default LDADD value to
37958         test_pty_LDADD.
37959
37960 2009-12-07  Simon Josefsson  <simon@josefsson.org>
37961
37962         * modules/pty: New file.
37963         * modules/pty-tests: New file.
37964         * m4/pty.m4: New file.
37965         * tests/test-pty.c: New file.
37966         * doc/glibc-headers/pty.texi: Modified.
37967         * doc/glibc-functions/forkpty.texi: Modified.
37968         * doc/glibc-functions/openpty.texi: Modified.
37969
37970 2009-12-10  Bruno Haible  <bruno@clisp.org>
37971
37972         Avoid syntax error in C++ mode.
37973         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
37974
37975 2009-12-10  Bruno Haible  <bruno@clisp.org>
37976
37977         Use sed with option -e.
37978         * gnulib-tool (func_version, func_emit_copyright_notice,
37979         func_emit_initmacro_end, func_import, func_create_testdir): Pass
37980         option -e to sed.
37981         * modules/link-warning (Makefile.am): Likewise.
37982
37983 2009-12-10  Jim Meyering  <meyering@redhat.com>
37984
37985         mgetgroups: do not write bytes beyond end of malloc'd buffer
37986         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
37987         username, we call getgroups with a one-element-shorter buffer,
37988         but still told it the length was original, max_n_groups.
37989
37990 2009-12-09  Eric Blake  <ebb9@byu.net>
37991
37992         cloexec: relax license
37993         * modules/cloexec (Maintainer): Add myself.
37994         (License): Use LGPL, not GPL.
37995
37996         link-warning: optimize generation
37997         * modules/link-warning (Makefile.am): Reduce process usage.
37998
37999 2009-12-09  Bruno Haible  <bruno@clisp.org>
38000
38001         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
38002         workaround was added on 2009-11-17.
38003
38004 2009-12-09  Jim Meyering  <meyering@redhat.com>
38005             Bruno Haible  <bruno@clisp.org>
38006
38007         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
38008         * modules/link-warning (Makefile.am): Make the comment-removing sed
38009         command more robust in the face of bootstrap-prepended comment lines.
38010
38011 2009-12-09  Bruno Haible  <bruno@clisp.org>
38012
38013         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
38014         most one group.
38015
38016 2009-12-09  Simon Josefsson <simon@josefsson.org>
38017             Bruno Haible  <bruno@clisp.org>
38018
38019         * build-aux/link-warning.h: Add copyright notice.
38020         * modules/link-warning (Makefile.am): Generate link-warning.h from
38021         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
38022         * NEWS: Mention change in link-warning module.
38023         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
38024         * modules/dirent (Makefile.am): Add dependency to dirent.h.
38025         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
38026         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
38027         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
38028         * modules/math (Makefile.am): Add dependency to math.h.
38029         * modules/search (Makefile.am): Add dependency to search.h.
38030         * modules/signal (Makefile.am): Add dependency to signal.h.
38031         * modules/spawn (Makefile.am): Add dependency to spawn.h.
38032         * modules/stdio (Makefile.am): Add dependency to stdio.h.
38033         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
38034         * modules/string (Makefile.am): Add dependency to string.h.
38035         * modules/strings (Makefile.am): Add dependency to strings.h.
38036         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
38037         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
38038         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
38039         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
38040         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
38041         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
38042         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
38043         * modules/unistd (Makefile.am): Add dependency to unistd.h.
38044         * modules/wchar (Makefile.am): Add dependency to wchar.h.
38045
38046 2009-12-09  Bruno Haible  <bruno@clisp.org>
38047
38048         fchdir: Optimize away rpl_fstat when possible.
38049         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
38050         REPLACE_OPEN_DIRECTORY.
38051         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
38052
38053 2009-12-09  Bruno Haible  <bruno@clisp.org>
38054
38055         * lib/fchdir.c: Update comment.
38056
38057 2009-12-09  Bruno Haible  <bruno@clisp.org>
38058
38059         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
38060
38061 2009-12-08  Eric Blake  <ebb9@byu.net>
38062
38063         fchdir: avoid memory leak on re-registration.
38064         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
38065
38066 2009-12-08  Jim Meyering  <meyering@redhat.com>
38067
38068         init.sh: avoid Solaris 10 /bin/sh portability problem
38069         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
38070         sourced script:
38071           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
38072           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
38073           bar
38074         tests/init.sh relied on that, accepting a --set-path=DIR argument,
38075         and two tests used that idiom.
38076         * tests/init.sh: Update suggested usage comments.
38077         (path_prepend_): New function, to be used in place
38078         of the --src-path=DIR option.
38079         (setup_): Move PATH-prepending code into path_prepend_.
38080         * tests/test-pread.sh: Adapt to new usage.
38081         * tests/test-xalloc-die.sh: Likewise.
38082
38083 2009-12-08  Simon Josefsson  <simon@josefsson.org>
38084
38085         * doc/gnulib.texi (Glibc pty.h): Add.
38086         * doc/glibc-functions/forkpty.texi: Add.
38087         * doc/glibc-functions/openpty.texi: Add.
38088         Suggested by Bruno Haible.
38089
38090 2009-12-08  Eric Blake  <ebb9@byu.net>
38091
38092         fchdir: fix logic bugs
38093         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
38094         * tests/test-fchdir.c (main): Enhance test.
38095         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
38096         is in use.
38097
38098         dup2: fix logic bugs
38099         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
38100         REPLACE_DUP2 to decide when rpl_dup2 is needed.
38101         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
38102         exists.
38103         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
38104
38105 2009-12-07  Eric Blake  <ebb9@byu.net>
38106
38107         unlink: fix m4 detection
38108         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
38109
38110         unistd-safer: add unit test
38111         * modules/unistd-safer-tests: New file.
38112         * tests/test-dup-safer.c: Likewise.
38113         * tests/test-cloexec.c (setmode): Avoid compiler warning.
38114         * tests/test-dup2.c (setmode): Likewise.
38115         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
38116
38117         cloexec: preserve text vs. binary across dup_cloexec
38118         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
38119         mode.
38120         * modules/dup2-tests (Depends-on): Add binary-io.
38121         * modules/cloexec-tests (Depends-on): Likewise.
38122         * tests/test-dup2.c (setmode, is_mode): New helpers.
38123         (main): Add tests that translation mode is preserved.
38124         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
38125         Reported by Bruno Haible.
38126
38127         mgetgroups: reduce duplicate listings
38128         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
38129         resulting array.
38130         * tests/test-chown.h (test_chown): Simplify client.
38131         * tests/test-lchown.h (test_lchown): Likewise.
38132
38133 2009-12-06  Bruno Haible  <bruno@clisp.org>
38134
38135         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
38136         value.
38137
38138 2009-12-06  Bruno Haible  <bruno@clisp.org>
38139
38140         * lib/progname.c: Include stdio.h, stdlib.h.
38141         (set_program_name): Reject a NULL argument.
38142
38143 2009-12-05  Eric Blake  <ebb9@byu.net>
38144
38145         pipe2-safer: new module
38146         * modules/pipe2-safer: New file.
38147         * lib/unistd-safer.h (pipe2_safer): New prototype.
38148         * lib/unistd--.h (pipe2): New wrapper.
38149         * lib/pipe-safer.c (pipe2_safer): New function.
38150         * modules/pipe (Depends-on): Add pipe2-safer.
38151         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
38152
38153         stdlib-safer: preserve cloexec flag for mkostemp[s]
38154         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
38155         fd_safer_flag.
38156
38157         unistd-safer: allow preservation of cloexec status via flag
38158         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
38159         prototypes.
38160         * lib/dup-safer.c (dup_safer_flag): New function.
38161         * lib/fd-safer.c (fd_safer_flag): Likewise.
38162         * modules/cloexec (configure.ac): Set witness.
38163
38164         test-dup2: enhance test
38165         * modules/dup2-tests (Depends-on): Add cloexec.
38166         * tests/test-dup2.c (main): Enhance test.
38167
38168         cloexec: add dup_cloexec
38169         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
38170         header and comments.
38171         * lib/cloexec.c (set_cloexec_flag): Add comments.
38172         (dup_cloexec): New function, with mingw implementation borrowed
38173         from...
38174         * lib/w32spawn.h (dup_noinherit): ...here.
38175         * modules/execute (Depends-on): Add cloexec.
38176         * modules/pipe (Depends-on): Likewise.
38177         * modules/cloexec (Depends-on): Add dup2.
38178         * modules/cloexec-tests (Files): New file.
38179         * tests/test-cloexec.c: Likewise.
38180
38181         test-xalloc-die: fix test for mingw
38182         * modules/xalloc-die-tests (Files): Add tests/init.sh.
38183         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
38184         directory and .exe suffix off argv[0] output.
38185
38186         test-fseeko: fix test for mingw
38187         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
38188         than undefining fseek, so test will pass on mingw.
38189
38190 2009-12-05  Bruno Haible  <bruno@clisp.org>
38191
38192         * lib/progname.h (set_program_name): Clarify specification.
38193         * lib/progname.c (set_program_name): Likewise.
38194         Reported by Jim Meyering.
38195
38196 2009-12-05  Jim Meyering  <meyering@redhat.com>
38197
38198         maint.mk: backslash-escape parens in default regexp
38199         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
38200         backslash-escape the literal parentheses.
38201
38202         maint.mk: news-date-check: use grep -E
38203         * top/maint.mk (today): Define a Make variable, not a...
38204         (news-date-check): ...shell variable.
38205         (news-date-regexp): Use the Make variable.
38206         Use grep's -E option.  Change the failing diagnostic to mention
38207         the variable, $(news-date-regexp).
38208
38209 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
38210
38211         maintainer-makefile: allow customization of NEWS entry format
38212         * top/maint.mk (news-date-regexp): New overridable variable.
38213         (news-date-check): Use it.
38214
38215 2009-12-04  Eric Blake  <ebb9@byu.net>
38216
38217         mgetgroups: add xgetgroups, and avoid ENOSYS failures
38218         * lib/mgetgroups.h (xgetgroups): New prototype.
38219         * lib/mgetgroups.c (xgetgroups): New wrapper.
38220         (mgetgroups): Handle ENOSYS.
38221         * modules/mgetgroups (Depends-on): Add realloc.
38222         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
38223
38224         mgetgroups: avoid argument promotion issues with -1
38225         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
38226         for invalid gid_t.
38227         * tests/test-chown.h (getegid, test_chown): Likewise.
38228         * tests/test-lchown.h (getegid, test_lchown): Likewise.
38229
38230 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
38231
38232         exclude: Fix header file problems.
38233         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
38234
38235 2009-12-01  Jim Meyering  <meyering@redhat.com>
38236
38237         fts: fts_open: do not let an empty string cause immediate failure
38238         This is required in support of GNU rm, for which the command
38239         "rm A '' B" must process and remove both A and B, in spite of
38240         the empty string argument.
38241         * lib/fts.c (fts_open): Do not let the presence of an empty string
38242         cause fts_open to fail immediately.  Most fts-using tools must be
38243         able to process all arguments, in order, and can be expected to
38244         diagnose such arguments themselves.
38245
38246 2009-11-30  Eric Blake  <ebb9@byu.net>
38247
38248         utimens: fix compilation error
38249         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
38250         Declare variable at right scope.
38251
38252 2009-11-29  Jim Meyering  <meyering@redhat.com>
38253
38254         bootstrap: handle perl-5.11's changed --version output
38255         * build-aux/bootstrap (get_version): Handle perl separately,
38256         since perl-5.11's --version output is different.
38257
38258 2009-11-28  Jim Meyering  <meyering@redhat.com>
38259
38260         userspec: depend on the inttostr module, too
38261         * modules/userspec (Depends-on): Add inttostr.
38262
38263         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
38264         * lib/userspec.c (parse_with_separator): Do not accept a user ID
38265         number of MAXUID when it evaluates to (uid_t) -1.
38266         Likewise for group ID.  Reported by Matt McCutchen in
38267         <http://savannah.gnu.org/bugs/?28113>
38268
38269         userspec: reformat to use spaces, not TABs
38270         * lib/userspec.c: Expand TABs to spaces.
38271         Add Emacs' "indent-tabs-mode: nil" hint.
38272
38273 2009-11-27  Eric Blake  <ebb9@byu.net>
38274
38275         getopt-gnu: flush out another BSD bug
38276         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
38277         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
38278         flush out BSD bug.
38279         * tests/test-getopt.h (test_getopt): End lists with NULL.
38280         * tests/test-getopt_long.h (test_getopt_long): Likewise.
38281         (test_getopt_long_posix): Enhance test.
38282         * modules/getopt-posix-tests (Depends-on): Add stdbool.
38283         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
38284         getopt-gnu.
38285         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38286         Likewise.
38287
38288 2009-11-27  Simon Josefsson  <simon@josefsson.org>
38289
38290         * modules/idpriv-droptemp-tests (Notice): Fix text.
38291
38292 2009-11-27  Jim Meyering  <meyering@redhat.com>
38293
38294         test-xalloc-die: avoid spurious failure due to libtool argv difference
38295         In a libtool-enabled project, this test would fail due to a difference
38296         in the emitted program name, e.g.,
38297         -test-xalloc-die: memory exhausted
38298         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
38299         Use program to avoid that.
38300         * modules/xalloc-die-tests (Depends-on): Add progname.
38301         * tests/test-xalloc-die.c: Include progname.h".
38302         (program_name): Remove decl.
38303         (main): Call set_program_name.
38304         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
38305
38306 2009-11-26  Richard Jones  <rjones@redhat.com>
38307
38308         w32sock: leave win32 error in place.
38309         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
38310
38311 2009-11-26  Eric Blake  <ebb9@byu.net>
38312
38313         init.sh: suggest to use skip_ and fail_ functions in comments
38314         * tests/init.sh: Add a sentence.
38315
38316 2009-11-25  Bruno Haible  <bruno@clisp.org>
38317
38318         init.sh: add documentation in comments
38319         * tests/init.sh: Add some developer and user documentation.
38320
38321 2009-11-26  Jim Meyering  <meyering@redhat.com>
38322
38323         init.sh: accommodate even those who specify bogus srcdir manually
38324         * tests/init.sh: Normally, srcdir is guaranteed by automake and
38325         configure-time tests to be sanitized, so that there is no need to
38326         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
38327         (with no double quotes) suffices.  However, since tests may be
38328         invoked manually, and since you may explicitly set srcdir to the
38329         name of a directory containing spaces, do quote its uses here.
38330         * tests/test-pread.sh: Likewise.
38331         Suggested by Bruno Haible.
38332
38333         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
38334         * tests/test-pread.sh: Write no data into the pipe, because
38335         test-pread actually reads none.  This avoids a diagnostic,
38336         "bash: echo: write error: Broken pipe", that arises in the unusual
38337         event something is ignoring SIGPIPE, and might be interpreted
38338         as some sort of failure.  Reported by Bruno Haible.
38339
38340 2009-11-25  Jim Meyering  <meyering@redhat.com>
38341
38342         test-pread: cover failure with ESPIPE and EINVAL
38343         * tests/test-pread.c (main): Test for failure, too.
38344         * tests/test-pread.sh: Invoke with stdin on a pipe.
38345         Suggested by Eric Blake.
38346
38347         pread: improvement and fix
38348         * modules/pread (Depends-on): Depend on lseek, for portability to
38349         e.g., mingw.  Suggested by Eric Blake.
38350         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
38351
38352         unistd.in.h: correct declaration of pread
38353         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
38354         Reported by Richard W.M. Jones.
38355
38356         test-pread.sh: distribute the test script
38357         * modules/pread-tests (Files): Include test-pread.sh.
38358
38359         test-pread.sh: clean up
38360         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
38361         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
38362         That is unnecessary, since it's always ".".
38363         Suggestion from Eric Blake.
38364
38365         test-pread.sh: make executable
38366         * tests/test-pread.sh: Set executable bit.
38367         Reported by Eric Blake.
38368
38369         correct typo in test-pread.sh
38370         * tests/test-pread.sh: Add #! line.
38371
38372         test pread
38373         * tests/test-pread.c: New file.
38374         * tests/test-pread.sh: Likewise.
38375         * modules/pread-tests: Likewise.
38376
38377         pread: new module
38378         * modules/pread: New file.
38379         * lib/unistd.in.h (pread): Define/declare.
38380         * lib/pread.c (pread): New file.
38381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
38382         * modules/unistd (Makefile.am): Substitute witnesses.
38383         * doc/posix-functions/pread.texi (pread): Update.
38384         * MODULES.html.sh: Add pread.
38385
38386 2009-11-25  Jim Meyering  <meyering@redhat.com>
38387
38388         tests/init.sh: new file to be used via most *.sh tests
38389         * tests/init.sh: New file.
38390
38391 2009-11-25  Eric Blake  <ebb9@byu.net>
38392
38393         utimens: work around older Linux failure with symlinks
38394         * lib/utimens.c (lutimensat_works_really): New variable.
38395         (fdutimens, lutimens): Use it to manage kernels that support
38396         nanosecond times on files, but not on symlinks.
38397         Reported by OndÅ™ej Vašík.
38398
38399         utimes: fix configure grammar
38400         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
38401
38402 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
38403
38404         regex: Fix fastmap for multibyte character ranges.
38405         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
38406         characters when a multibyte character range is included.
38407
38408 2009-11-22  Andy Wingo  <wingo@pobox.com>
38409
38410         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
38411         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
38412
38413 2009-11-24  Bruno Haible  <bruno@clisp.org>
38414
38415         doc: Most *_l functions exist in MacOS X 10.5.
38416         * doc/posix-functions/duplocale.texi: Update platforms list.
38417         * doc/posix-functions/freelocale.texi: Likewise.
38418         * doc/posix-functions/newlocale.texi: Likewise.
38419         * doc/posix-functions/uselocale.texi: Likewise.
38420         * doc/posix-functions/isalnum_l.texi: Likewise.
38421         * doc/posix-functions/isalpha_l.texi: Likewise.
38422         * doc/posix-functions/isblank_l.texi: Likewise.
38423         * doc/posix-functions/iscntrl_l.texi: Likewise.
38424         * doc/posix-functions/isdigit_l.texi: Likewise.
38425         * doc/posix-functions/isgraph_l.texi: Likewise.
38426         * doc/posix-functions/islower_l.texi: Likewise.
38427         * doc/posix-functions/isprint_l.texi: Likewise.
38428         * doc/posix-functions/ispunct_l.texi: Likewise.
38429         * doc/posix-functions/isspace_l.texi: Likewise.
38430         * doc/posix-functions/isupper_l.texi: Likewise.
38431         * doc/posix-functions/iswalnum_l.texi: Likewise.
38432         * doc/posix-functions/iswalpha_l.texi: Likewise.
38433         * doc/posix-functions/iswblank_l.texi: Likewise.
38434         * doc/posix-functions/iswcntrl_l.texi: Likewise.
38435         * doc/posix-functions/iswctype_l.texi: Likewise.
38436         * doc/posix-functions/iswdigit_l.texi: Likewise.
38437         * doc/posix-functions/iswgraph_l.texi: Likewise.
38438         * doc/posix-functions/iswlower_l.texi: Likewise.
38439         * doc/posix-functions/iswprint_l.texi: Likewise.
38440         * doc/posix-functions/iswpunct_l.texi: Likewise.
38441         * doc/posix-functions/iswspace_l.texi: Likewise.
38442         * doc/posix-functions/iswupper_l.texi: Likewise.
38443         * doc/posix-functions/iswxdigit_l.texi: Likewise.
38444         * doc/posix-functions/isxdigit_l.texi: Likewise.
38445         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
38446         * doc/posix-functions/strcasecmp_l.texi: Likewise.
38447         * doc/posix-functions/strcoll_l.texi: Likewise.
38448         * doc/posix-functions/strfmon_l.texi: Likewise.
38449         * doc/posix-functions/strftime_l.texi: Likewise.
38450         * doc/posix-functions/strncasecmp_l.texi: Likewise.
38451         * doc/posix-functions/strxfrm_l.texi: Likewise.
38452         * doc/posix-functions/tolower_l.texi: Likewise.
38453         * doc/posix-functions/toupper_l.texi: Likewise.
38454         * doc/posix-functions/towctrans_l.texi: Likewise.
38455         * doc/posix-functions/towlower_l.texi: Likewise.
38456         * doc/posix-functions/towupper_l.texi: Likewise.
38457         * doc/posix-functions/wcscoll_l.texi: Likewise.
38458         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
38459         * doc/posix-functions/wctrans_l.texi: Likewise.
38460         * doc/posix-functions/wctype_l.texi: Likewise.
38461         * doc/glibc-functions/strptime_l.texi: Likewise.
38462         * doc/glibc-functions/strtod_l.texi: Likewise.
38463         * doc/glibc-functions/strtof_l.texi: Likewise.
38464         * doc/glibc-functions/strtol_l.texi: Likewise.
38465         * doc/glibc-functions/strtold_l.texi: Likewise.
38466         * doc/glibc-functions/strtoll_l.texi: Likewise.
38467         * doc/glibc-functions/strtoul_l.texi: Likewise.
38468         * doc/glibc-functions/strtoull_l.texi: Likewise.
38469         * doc/glibc-functions/wcsftime_l.texi: Likewise.
38470         * doc/glibc-functions/wcstod_l.texi: Likewise.
38471         * doc/glibc-functions/wcstof_l.texi: Likewise.
38472         * doc/glibc-functions/wcstol_l.texi: Likewise.
38473         * doc/glibc-functions/wcstold_l.texi: Likewise.
38474         * doc/glibc-functions/wcstoll_l.texi: Likewise.
38475         * doc/glibc-functions/wcstoul_l.texi: Likewise.
38476         * doc/glibc-functions/wcstoull_l.texi: Likewise.
38477
38478 2009-11-24  Bruno Haible  <bruno@clisp.org>
38479
38480         duplocale: Fix logic bug.
38481         * lib/duplocale.c: Don't include <langinfo.h>.
38482         (_NL_LOCALE_NAME): Remove macro.
38483         (rpl_duplocale): Use setlocale instead of nl_langinfo.
38484         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
38485
38486 2009-11-23  Jim Meyering  <meyering@redhat.com>
38487
38488         test-update-copyright: don't hard-code /usr/bin/perl
38489         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
38490         perl to print the current year.  Gilles Espinasse reported that
38491         the replaced use of perl was hard-coded as /usr/bin/perl.
38492
38493 2009-11-23  Bruno Haible  <bruno@clisp.org>
38494
38495         duplocale: Add support for glibc 2.3.x.
38496         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
38497
38498 2009-11-22  Bruno Haible  <bruno@clisp.org>
38499
38500         vasnprintf: Tiny optimization.
38501         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
38502         MacOS X.
38503
38504 2009-11-22  Bruno Haible  <bruno@clisp.org>
38505
38506         Tests for module 'duplocale'.
38507         * modules/duplocale-tests: New file.
38508         * tests/test-duplocale.c: New file.
38509
38510         New module 'duplocale'.
38511         * m4/duplocale.m4: New file.
38512         * lib/locale.in.h (duplocale): New declaration.
38513         * lib/duplocale.c: New file.
38514         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
38515         gl_LOCALE_H_DEFAULTS): New macros.
38516         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
38517         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
38518         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
38519         REPLACE_DUPLOCALE.
38520         * modules/duplocale: New file.
38521         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
38522
38523 2009-11-22  Bruno Haible  <bruno@clisp.org>
38524
38525         * modules/locale-tests (configure.ac): Test for newlocale function.
38526         * tests/test-locale.c: When the system has extended locale functions,
38527         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
38528
38529         locale: Make locale_t available when possible.
38530         * lib/locale.in.h: Include <xlocale.h> when it exists.
38531         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
38532         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
38533         * modules/locale (Depends-on): Add extensions.
38534         (Makefile.am): Also substitute HAVE_XLOCALE_H.
38535         * doc/posix-headers/locale.texi: Document the problem with locale_t.
38536
38537 2009-11-22  Bruno Haible  <bruno@clisp.org>
38538
38539         Add comments.
38540         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
38541         invocation.
38542         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
38543         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38544         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38545
38546 2009-11-22  Bruno Haible  <bruno@clisp.org>
38547
38548         error: account for the possibility of freopen (stdout).
38549         * lib/error.c: Include <unistd.h>.
38550         (flush_stdout): New function, extracted from error and error_at_line.
38551         Determine stdout's fd dynamically.
38552         (error, error_at_line): Invoke flush_stdout.
38553         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
38554         * modules/error (Depends-on): Add unistd.
38555
38556 2009-11-22  Bruno Haible  <bruno@clisp.org>
38557
38558         diffseq: Add comment.
38559         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
38560
38561 2009-11-22  Jim Meyering  <meyering@redhat.com>
38562
38563         c-stack: avoid defining an unused static function
38564         * lib/c-stack.c (find_stack_direction): Do not define this function
38565         when it will not be used.
38566
38567         diffseq: avoid spurious gcc warnings
38568         * lib/diffseq.h (IF_LINT2): Define.
38569         (compareseq): Use it to initialize two members of "part".
38570         This avoids two used-uninitialized warnings.
38571
38572 2009-11-21  Jim Meyering  <meyering@redhat.com>
38573
38574         c-stack: avoid "ignoring return value of `write'" warning
38575         * lib/c-stack.c: Include "ignore-value.h".
38576         (die): Explicitly ignore each write return value.
38577         * modules/c-stack (Depends-on): Add ignore-value.
38578
38579 2009-11-21  Bruno Haible  <bruno@clisp.org>
38580
38581         diffseq: reduce scope of variable 'best'.
38582         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
38583         variable, earlier used for two different purposes.
38584
38585 2009-11-21  Jim Meyering  <meyering@redhat.com>
38586
38587         diffseq: remove useless assignment to "best"
38588         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
38589         assignment.  At that point "best" is already guaranteed to be zero.
38590
38591 2009-11-20  Eric Blake  <ebb9@byu.net>
38592
38593         build: mention ftp redirector in release announcements
38594         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
38595         values that used to come from cfg.mk; mention FTP redirect URL.
38596         * build-aux/announce-gen: Mention the mirror list.
38597         Suggested by Karl Berry.
38598
38599         nanosleep: improve port to mingw
38600         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
38601         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
38602         LIB_NANOSLEEP, but only when needed.
38603         * modules/select (Link): Document LIBSOCKET.
38604         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
38605         enough.
38606
38607         nanosleep: work around cygwin bug
38608         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
38609         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
38610         bug.
38611         (getnow): Delete, not needed.
38612         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
38613         LIB_CLOCK_GETTIME.
38614         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
38615         clock-time, gettime.
38616         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
38617         bug.
38618         * modules/nanosleep-tests: New test.
38619         * tests/test-nanosleep.c: New file.
38620
38621         sleep: work around cygwin bug
38622         * lib/sleep.c (rpl_sleep): Work around the bug.
38623         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
38624         (gl_PREREQ_SLEEP): Delete unused macro.
38625         * modules/sleep (Depends-on): Add verify.
38626         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38627         * modules/unistd (Makefile.am): Substitute witness.
38628         * lib/unistd.in.h (sleep): Update prototype.
38629         * doc/posix-functions/sleep.texi (sleep): Document the bug.
38630         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
38631         * modules/sleep-tests (Depends-on): Check for alarm.
38632
38633 2009-11-20  Jim Meyering  <meyering@redhat.com>
38634
38635         maint.mk: improve sc_prohibit_magic_number_exit
38636         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
38637         so it does not match uses like System.exit(1).
38638         Add comments showing how to correct all offenders.
38639
38640 2009-11-19  Eric Blake  <ebb9@byu.net>
38641
38642         xalloc-die-tests: add missing library
38643         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
38644
38645         test-xvasprintf: silence compiler warnings
38646         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
38647         empty string from gcc.
38648
38649 2009-11-19  Jim Meyering  <meyering@redhat.com>
38650
38651         xfreopen: new module, from coreutils
38652         * modules/xfreopen: New module.
38653         * lib/xfreopen.c: New file.
38654         * lib/xfreopen.h: New file.
38655         * MODULES.html.sh (File stream based Input/Output"): Add it.
38656
38657 2009-11-19  Eric Blake  <ebb9@byu.net>
38658
38659         manywarnings: depend on warnings
38660         * modules/manywarnings (Depends-on): Add warnings.
38661
38662         build: avoid compiler warnings
38663         * lib/select.c (rpl_select): Delete unused variable.
38664         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
38665
38666 2009-11-18  Eric Blake  <ebb9@byu.net>
38667
38668         tests: avoid false negative with --with-packager
38669         * tests/test-version-etc.sh: Discard packager information.
38670         * tests/test-argp-version-etc-1.sh: Likewise.
38671         Reported by Mike Frysinger.
38672
38673         utimens: fix regression on Solaris
38674         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
38675         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
38676         can only change fd timestamps via futimesat.  Instead, use an
38677         additional witness macro to avoid BSD bug.
38678         Reported by Jim Meyering.
38679
38680 2009-11-17  Eric Blake  <ebb9@byu.net>
38681
38682         usleep: use it to simplify tests
38683         * modules/stat-time-tests (Depends-on): Add usleep.
38684         (configure.ac): Drop usleep check.
38685         * modules/chown-tests (Depends-on, configure.ac): Likewise.
38686         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
38687         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
38688         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
38689         * modules/openat-tests (Depends-on, configure.ac): Likewise.
38690         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
38691         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
38692         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
38693         Likewise.
38694         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
38695         * tests/test-lchown.h (nap): Likewise.
38696         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
38697         * tests/test-stat-time.c (nap): Likewise.
38698         * tests/test-utimens-common.h (nap): Update comments.
38699
38700         usleep: new module
38701         * modules/usleep: New file.
38702         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
38703         * lib/usleep.c (usleep): Likewise.
38704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38705         * modules/unistd (Makefile.am): Substitute witnesses.
38706         * lib/unistd.in.h (usleep): Add declaration.
38707         * doc/pastposix-functions/usleep.texi (usleep): Document this.
38708         * MODULES.html.sh (Date and time): Likewise.
38709         * modules/usleep-tests (Depends-on): New test.
38710         * tests/test-usleep.c: New file.
38711
38712         chown: work around OpenBSD bug
38713         * lib/chown.c (rpl_chown): Work around the bug.
38714         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
38715         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
38716         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
38717         * modules/chown (Depends-on): Add stdbool.
38718         * modules/lchown (Depends-on): Likewise.
38719         * doc/posix-functions/chown.texi (chown): Document the bug.
38720         * doc/posix-functions/lchown.texi (lchown): Likewise.
38721         * tests/test-lchown.h (test_chown): Relax test.
38722
38723         mkstemp: avoid conflict with C++ keyword template
38724         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
38725         * lib/mkostemp.c (mkostemp): Likewise.
38726         * lib/mkostemps.c (mkostemps): Likewise.
38727         * lib/mkstemp.c (mkstemp): Likewise.
38728         * lib/mkstemps.c (mkstemps): Likewise.
38729
38730         xalloc-die-tests: optimize
38731         * tests/test-xalloc-die.sh: Reduce number of processes.
38732
38733 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38734
38735         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
38736         patch from ludo@gnu.org (Ludovic Courtès).
38737
38738 2009-11-17  Jim Meyering  <meyering@redhat.com>
38739
38740         version-etc: use proper license string
38741         * modules/version-etc (License): Use LGPL, not LGPLv3+.
38742         * modules/version-etc-fsf: Likewise.
38743
38744 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38745
38746         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
38747         printed to stdout.  Deal with EOL differences.
38748
38749 2009-11-17  Eric Blake  <ebb9@byu.net>
38750
38751         unsetenv: work around Solaris bug
38752         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
38753         * lib/unsetenv.c (rpl_unsetenv): Work around it.
38754         Reported by Jim Meyering.
38755
38756         vasnprintf: avoid compiler warnings
38757         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
38758         variables.
38759         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
38760
38761 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38762
38763         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
38764         settings since xalloc-die is no longer the self test,
38765         xalloc-die.sh is.
38766
38767 2009-11-17  Jim Meyering  <meyering@redhat.com>
38768
38769         test-xalloc-die.sh: make the code agree with the commit log
38770         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
38771         at the end, just in case you happen to have a test-xalloc-die
38772         program in some other PATH directory.
38773
38774         test-xalloc-die.sh: fix a portability bug
38775         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
38776         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
38777         Otherwise, argv[0] (as often seen in diagnostics) would be too
38778         system-dependent, sometimes with, and sometimes without the leading "./".
38779
38780         version-etc-fsf: relax license to LGPLv3+
38781         * modules/version-etc-fsf (License): Relax license.
38782
38783 2009-11-16  Eric Blake  <ebb9@byu.net>
38784
38785         xalloc-die-tests: avoid printing null pointer
38786         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
38787         shell script.
38788         * tests/test-xalloc-die.c (program_name): Declare.
38789         * tests/test-xalloc-die.sh (tmpfiles): New file.
38790
38791         setenv, unsetenv: work around various bugs
38792         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
38793         (setenv) [HAVE_SETENV]: Work around bugs.
38794         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
38795         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
38796         for bugs.
38797         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
38798         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
38799         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
38800         * modules/stdlib (Makefile.am): Update substitutions.
38801         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
38802         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
38803         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38804         * modules/setenv-tests: New test.
38805         * modules/unsetenv-tests: Likewise.
38806         * tests/test-setenv.c: New file.
38807         * tests/test-unsetenv.c: Likewise.
38808
38809 2009-11-16  Jim Meyering  <meyering@redhat.com>
38810
38811         version-etc: relax license to LGPLv3+
38812         * modules/version-etc (License): Relax license.
38813
38814         better AC_REQUIRE expanded-before-required-warning avoidance
38815         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
38816         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
38817         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
38818         which is no longer needed.
38819
38820 2009-11-16  Eric Blake  <ebb9@byu.net>
38821
38822         test-freading: clean up temporary file
38823         * tests/test-freading.c (main): Remove file on success, and use
38824         ASSERT more liberally.
38825         Reported by Jim Meyering.
38826
38827 2009-11-16  Jim Meyering  <meyering@redhat.com>
38828
38829         avoid new AC_REQUIRE expanded-before-required warnings
38830         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
38831         merely using it.
38832         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
38833         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
38834
38835 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38836
38837         * tests/test-xalloc-die.c: New file.
38838         * modules/xalloc-die-tests: New file.
38839         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
38840         XFAIL_TESTS so it can be appended by modules.
38841
38842 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38843
38844         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
38845         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
38846
38847 2009-11-14  Eric Blake  <ebb9@byu.net>
38848
38849         fnmatch: avoid compiler warning
38850         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
38851         to silence compiler warning about mismatch signedness in ?:.
38852         Reported by Robert Millan.
38853
38854         intprops: add double-inclusion guard
38855         * lib/intprops.h: Allow idempotent includes.
38856         Suggested by Bruce Korb.
38857
38858         openat: detect Solaris fchownat bug
38859         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
38860         penalizing glibc chownat when only lchownat is broken.
38861         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
38862         trailing slash bugs.
38863         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
38864         * modules/openat-tests (Files): Include more files.
38865         (Depends-on): Add mgetgroups, sleep, stat-time.
38866         (configure.ac): Add additional checks.
38867         (Makefile.am): Build new test.
38868         * tests/test-fchownat.c: New file.
38869
38870         lchown: detect Solaris and FreeBSD bug
38871         * lib/lchown.c (rpl_lchown): Work around bug.
38872         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
38873         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38874         * modules/unistd (Makefile.am): Populate it.
38875         * lib/unistd.in.h (lchown): Update declaration.
38876         * doc/posix-functions/lchown.texi (lchown): Document the bug.
38877         * modules/lchown-tests: New file.
38878         * tests/test-lchown.h (test_lchown): Likewise.
38879         * tests/test-lchown.c (main): Likewise.
38880
38881         chown: detect Solaris and FreeBSD bug
38882         * lib/chown.c (rpl_chown): Work around bug.
38883         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
38884         (gl_PREREQ_CHOWN): Delete.
38885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38886         * modules/unistd (Makefile.am): Populate it.
38887         * lib/unistd.in.h (chown): Update declaration.
38888         * lib/lchown.c (chown): Update client.
38889         * modules/lchown (Depends-on): Add lstat.
38890         * doc/posix-functions/chown.texi (chown): Document the bug.
38891         * doc/posix-functions/getgroups.texi (getgroups): Document
38892         getgroups pitfall.
38893         * modules/chown-tests: New file.
38894         * tests/test-chown.h (test_chown): Likewise.
38895         * tests/test-chown.c (main): Likewise.
38896
38897 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
38898
38899         gnulib-tool: correctly detect absence of m4 directories
38900         * gnulib-tool: Avoid extra newline on data passed to wc -l.
38901
38902 2009-11-14  Jim Meyering  <meyering@redhat.com>
38903
38904         maint.mk: Prohibit inclusion of "xalloc.h" without use.
38905         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
38906
38907 2009-11-14  John W. Eaton  <jwe@gnu.org>
38908
38909         strftime.h: wrap funtion declaration in extern "C" block
38910         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
38911
38912 2009-11-13  Eric Blake  <ebb9@byu.net>
38913
38914         getgroups: avoid compiler warning
38915         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
38916
38917         getgroups: work around FreeBSD bug
38918         * lib/getgroups.c (rpl_getgroups): Work around the bug.
38919         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
38920         * doc/posix-functions/getgroups.texi (getgroups): Document it.
38921         * tests/test-getgroups.c (main): Fix buffer overrun.
38922
38923         getgroups: avoid compilation failure
38924         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
38925         * modules/getgroups (Depends-on): Add stdint.
38926
38927 2009-11-13  Jim Meyering  <meyering@redhat.com>
38928
38929         test-getgroups: avoid compilation failure
38930         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
38931
38932 2009-11-13  Eric Blake  <ebb9@byu.net>
38933
38934         mgetgroups: new module, taken from coreutils
38935         * modules/mgetgroups: New file.
38936         * lib/mgetgroups.h: Likewise.
38937         * lib/mgetgroups.c (mgetgroups): Likewise.
38938         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
38939         * MODULES.html.sh (Users and groups): Mention it.
38940
38941         getgroups: don't expose GETGROUPS_T to user
38942         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
38943         an element at a time if GETGROUPS_T is wrong size.
38944         * lib/getugroups.h (getugroups): Change signature.
38945         * lib/unistd.in.h (getgroups): Likewise.
38946         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
38947         signature needs fixing.
38948         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
38949         AC_TYPE_GETGROUPS.
38950         * modules/group-member (Depends-on): Add getgroups.
38951         * lib/group-member.c (group_info, get_group_info): Use gid_t.
38952         (group_member): Rely on getgroups replacement.
38953         * lib/getugroups.c (getugroups): Use gid_t.
38954         * tests/test-getgroups.c (main): Likewise.
38955         * NEWS: Mention the signature change.
38956         * doc/posix-functions/getgroups.texi (getgroups): Mention the
38957         problem with signature.
38958         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
38959         GETGROUPS_T is still useful for setgroups.
38960
38961         getgroups, getugroups: provide stubs for mingw
38962         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
38963         * lib/getugroups.c (getugroups): Likewise.
38964         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
38965         function.  Modernize replacement scheme.
38966         (gl_PREREQ_GETGROUPS): Delete.
38967         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
38968         * modules/getgroups (configure.ac): Declare witness.
38969         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38970         * modules/unistd (Depends-on): Substitute witness.
38971         * lib/unistd.in.h (getgroups): Declare replacement.
38972
38973         getgroups: avoid calling exit
38974         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
38975         drop xalloc.
38976         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
38977         dependencies.
38978         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
38979         exiting, in the rare case of malloc failure.
38980
38981         getgroups: fix logic error
38982         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
38983         has more than 20 groups.
38984         * modules/getgroups-tests: New test.
38985         * tests/test-getgroups.c: New file.
38986
38987 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38988
38989         * tests/test-base64.c: Improve.
38990
38991 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38992
38993         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
38994         Blake <ebb9@byu.net>.
38995
38996 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38997
38998         * tests/test-xvasprintf.c: Add %s%s related checks.
38999
39000 2009-11-12  Eric Blake  <ebb9@byu.net>
39001
39002         version-etc: match standards.texi style
39003         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
39004         and use <> only for URLs.
39005
39006 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
39007
39008         fts: do not fail on a submount during traversal
39009         * lib/fts.c (fts_build): Read the stat info again after opening
39010         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
39011         Original report at http://bugzilla.redhat.com/501848.
39012
39013 2009-11-12  Jim Meyering  <meyering@redhat.com>
39014
39015         bootstrap: sync from coreutils
39016         * build-aux/bootstrap (bootstrap_epilogue): New function.
39017         Use git_modules_config in one more place.  This make bootstrap's
39018         --gnulib-srcdir option more useful for testing.
39019
39020         bootstrap: generalize autoheader check
39021         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
39022         AC_CONFIG_HEADERS.
39023
39024 2009-11-11  Eric Blake  <ebb9@byu.net>
39025
39026         mkfifoat: use new modules for Solaris and BSD bugs
39027         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
39028         * lib/mkfifoat.c (mknodat): Split...
39029         * lib/mknodat.c (mknodat): ...into new file.
39030         * modules/mkfifoat (Files): Ship new file.
39031         (Depends-on): Add mkfifo, mknod.
39032         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
39033         (Depends-on): Add symlink.
39034         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
39035         redundant with test_mkfifo.h.
39036         (do_mkfifoat, do_mknodat): New helpers.
39037
39038         mknod: new module
39039         * modules/mknod: New file.
39040         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
39041         * lib/mknod.c (mknod): Likewise.
39042         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39043         defaults.
39044         * modules/sys_stat (Makefile.am): Substitute them.
39045         * lib/sys_stat.in.h (mknod): Declare replacement.
39046         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39047         Document it.
39048         * doc/posix-functions/mknod.texi (mknod): Likewise.
39049         * modules/mknod-tests: New test.
39050         * tests/test-mknod.c: Likewise.
39051
39052         mkfifo: new module
39053         * modules/mkfifo: New file.
39054         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
39055         * lib/mkfifo.c (mkfifo): Likewise.
39056         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39057         defaults.
39058         * modules/sys_stat (Makefile.am): Substitute them.
39059         * lib/sys_stat.in.h (mkfifo): Declare replacement.
39060         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39061         Document it.
39062         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
39063         * modules/mkfifo-tests: New test.
39064         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
39065         from test-mkfifoat.c.
39066         * tests/test-mkfifo.c: New file.
39067
39068         readlink: detect FreeBSD bug
39069         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
39070         slash on symlink.
39071         * doc/posix-functions/readlink.texi (readlink): Document the bug.
39072         * tests/test-readlink.h (test_readlink): Enhance test.
39073
39074         symlink: detect FreeBSD bug
39075         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
39076         slash on symlink.
39077         * doc/posix-functions/symlink.texi (symlink): Document the bug.
39078         * tests/test-symlink.h (test_symlink): Enhance test.
39079
39080 2009-11-10  Eric Blake  <ebb9@byu.net>
39081
39082         link: detect FreeBSD bug
39083         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
39084         symlink.
39085         * doc/posix-functions/link.texi (link): Document the bug.
39086         * tests/test-link.h (test_link): Enhance test.
39087         * tests/test-linkat.c (main): Update caller.
39088
39089         unlink, remove: detect FreeBSD bug
39090         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
39091         slash on symlink.
39092         * doc/posix-functions/unlink.texi (unlink): Document the bug.
39093         * doc/posix-functions/remove.texi (remove): Likewise.
39094         * tests/test-unlink.h (test_unlink): Enhance test.
39095         * tests/test-remove.c (main): Likewise.
39096
39097 2009-11-09  Eric Blake  <ebb9@byu.net>
39098
39099         rename: detect FreeBSD bug
39100         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
39101         slash on symlink.
39102         * modules/renameat-tests (Depends-on): Add filenamecat.
39103         * tests/test-rename.h (test_rename): Allow one more errno.
39104         * tests/test-renameat.c (main): Likewise.
39105         * doc/posix-functions/rename.texi (rename): Document the bug.
39106
39107         open: detect FreeBSD bug
39108         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
39109         symlink.
39110         * doc/posix-functions/open.texi (open): Document the bug.
39111         * doc/posix-functions/utimes.texi (utimes): Likewise.
39112         * tests/test-open.h (test_open): Add parameters, and test symlink
39113         handling.
39114         * tests/test-open.c (main): Adjust caller.
39115         * tests/test-fcntl-safer.c (main): Likewise.
39116         * modules/open-tests (Depends-on): Add stdbool, symlink.
39117         * modules/fcntl-safer-tests (Depends-on): Likewise.
39118         * tests/test-openat.c (main): Add test-open tests.
39119
39120         stat: detect FreeBSD bug
39121         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
39122         symlink.
39123         * doc/posix-functions/stat.texi (stat): Document the bug.
39124         * tests/test-stat.h (test_stat_func): Add argument.
39125         * tests/test-stat.c (main): Adjust caller.
39126         * tests/test-fstatat.c (main): Likewise.
39127         * modules/stat-tests (Depends-on): Add stdbool, symlink.
39128         Reported by Jim Meyering.
39129
39130 2009-11-09  James Youngman  <jay@gnu.org>
39131
39132         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
39133         * lib/strftime.c: Correct placement of #include "ignore-value.h".
39134
39135 2009-11-08  Jim Meyering  <meyering@redhat.com>
39136
39137         utimens: remove invalid futimesat call
39138         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
39139         It used the file descriptor of the target file as the DIR_FD
39140         parameter and NULL as the file name.  That caused failure with
39141         errno == EFAULT on FreeBSD-8.0-rc2
39142
39143 2009-11-07  Eric Blake  <ebb9@byu.net>
39144
39145         fflush, freadseek: use fseeko, not fseek
39146         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
39147         (clear_ungetc_buffer): Avoid potential problems on large files.
39148         * lib/freadseek.c (freadseek): Likewise.
39149         * modules/freadseek (Depends-on): Add fseeko.
39150         * modules/fseek (configure.ac): Set a witness.
39151         * tests/test-fflush.c (main): Use fseeko.
39152         * tests/test-fpurge.c (fseek): Disable link warning.
39153         * tests/test-freadable.c (fseek): Likewise.
39154         * tests/test-freading.c (fseek): Likewise.
39155         * tests/test-fseeko.c (fseek): Likewise.
39156         * tests/test-ftell.c (fseek): Likewise.
39157         * tests/test-ftello.c (fseek): Likewise.
39158         * tests/test-fwritable.c (fseek): Likewise.
39159         * tests/test-fwriting.c (fseek): Likewise.
39160
39161 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39162
39163         * modules/memchr (Depends-on): Drop getpagesize dependency.
39164
39165 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39166
39167         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
39168         Reported by Ludovic Courtès.
39169         * build-aux/pmccabe2html: Improve example usage.
39170         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
39171
39172 2009-11-06  Jim Meyering  <meyering@redhat.com>
39173
39174         do-release-commit-and-tag: New module.
39175         Automate the release-commit and tag process.
39176         * build-aux/do-release-commit-and-tag: New script, from coreutils.
39177         * modules/do-release-commit-and-tag: New file.
39178         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39179
39180 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39181
39182         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
39183         because test-select.c uses inet_pton.
39184
39185 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39186
39187         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
39188         GETADDRINFO_LIB.  Bump serial number.
39189         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
39190         Suggested by Eric Blake <ebb9@byu.net>.
39191
39192 2009-11-05  Eric Blake  <ebb9@byu.net>
39193
39194         strtod: detect darwin bug
39195         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
39196         Reported by Leo Davis.
39197
39198         freopen-safer: new module
39199         * modules/freopen-safer: New module.
39200         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
39201         * lib/freopen-safer.c (freopen_safer): New file.
39202         * lib/stdio-safer.h (freopen_safer): New declaration.
39203         * lib/stdio--.h (freopen): New override.
39204         * MODULES.html.sh (File stream based Input/Output): Mention it.
39205         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
39206         freopen-safer module.
39207         * doc/posix-functions/stderr.texi (stderr): Likewise.
39208         * doc/posix-functions/stdin.texi (stdin): Likewise.
39209         * doc/posix-functions/stdout.texi (stdout): Likewise.
39210         * modules/freopen-safer-tests: New test.
39211         * tests/test-reopen-safer.c: New file.
39212
39213 2009-11-05  Jim Meyering  <meyering@redhat.com>
39214
39215         maint.mk: Prohibit inclusion of "close-stream.h" without use.
39216         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39217
39218 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39219
39220         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
39221
39222 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39223
39224         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
39225
39226 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39227
39228         Fix link error.
39229         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39230         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39231
39232 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39233
39234         * tests/test-func.c: Also test value of __func__.
39235
39236 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39237
39238         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
39239         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
39240
39241 2009-11-05  Bruno Haible  <bruno@clisp.org>
39242
39243         Fix link error.
39244         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39245         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39246         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
39247
39248 2009-11-05  Bruno Haible  <bruno@clisp.org>
39249
39250         Tests for module 'inet_pton'.
39251         * modules/inet_pton-tests: New file.
39252         * tests/test-inet_pton.c: New file.
39253
39254 2009-11-05  Bruno Haible  <bruno@clisp.org>
39255
39256         Tests for module 'inet_ntop'.
39257         * modules/inet_ntop-tests: New file.
39258         * tests/test-inet_ntop.c: New file.
39259
39260 2009-11-04  Eric Blake  <ebb9@byu.net>
39261
39262         stdlib-safer: wrap all mkstemp variants
39263         * modules/mkostemp (configure.ac): Set witness.
39264         * modules/mkostemps (configure.ac): Likewise.
39265         * modules/mkstemps (configure.ac): Likewise.
39266         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
39267         (mkstemps_safer): Wrap more functions.
39268         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
39269         wrapping.
39270         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
39271         (mkstemps_safer): Implement the wrappers.
39272
39273         mkstemps, mkostemps: new modules
39274         * modules/mkostemps: New module.
39275         * modules/mkstemps: Likewise.
39276         * lib/mkostemps.c (mkostemps): New file.
39277         * lib/mkstemps.c (mkstemps): Likewise.
39278         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
39279         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
39280         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
39281         * modules/stdlib (Makefile.am): Substitute them.
39282         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
39283         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
39284         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
39285         * doc/gnulib.texi (Glibc stdlib.h): Include them.
39286         * MODULES.html.sh (File system functions): Mention them.
39287
39288         tempname: resync from glibc
39289         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
39290         same values for __GT_FILE as glibc.  Abort even when assertions
39291         are disabled.
39292         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
39293         match its value otherwise.  Allow idempotent inclusion.
39294         * lib/mkdtemp.c (mkdtemp): Adjust caller.
39295         * lib/mkostemp.c (mkostemp): Likewise.
39296         * lib/mkstemp.c (mkstemp): Likewise.
39297         * lib/tmpfile.c (tmpfile): Likewise.
39298         * NEWS: Document this.
39299
39300         utimens: fix use of futimens on older Linux
39301         * lib/utimens.c (fdutimens): Use updated, rather than original,
39302         timespec to avoid bug in older Linux kernel.
39303         Reported by Simon Josefsson.
39304
39305 2009-11-04  Bruno Haible  <bruno@clisp.org>
39306
39307         Make num_processors more flexible and consistent.
39308         * lib/nproc.h (enum nproc_query): New type.
39309         (num_processors): Add a 'query' argument.
39310         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
39311         (num_processors): Add a 'query' argument. Test the value of the
39312         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
39313         mingw, count the number of CPUs available for the current process.
39314         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
39315         Check for sched_getaffinity and sched_getaffinity_np.
39316         * modules/nproc (Depends-on): Add c-ctype, extensions.
39317         * NEWS: Mention the change.
39318
39319 2009-11-03  Bruno Haible  <bruno@clisp.org>
39320
39321         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
39322
39323 2009-11-03  Jim Meyering  <meyering@redhat.com>
39324
39325         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
39326         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
39327         if it is defined.
39328
39329 2009-11-02  Eric Blake  <ebb9@byu.net>
39330
39331         mktime, timegm: share common declaration
39332         * lib/mktime-internal.h: New file.
39333         * lib/mktime.c: Use it rather than open-coding a declaration.
39334         * lib/timegm.c: Likewise.
39335         * modules/mktime (Files): Ship it.
39336         * modules/timegm (Files): Likewise.
39337         Suggested by Bruno Haible.
39338
39339         test-update-copyright: update test to match script changes
39340         * tests/test-update-copyright.sh: Avoid hard-coding perl
39341         location.  Don't update *.bak created by earlier runs.
39342
39343 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
39344             Simon Josefsson  <simon@josefsson.org>
39345             Bruno Haible  <bruno@clisp.org>
39346
39347         Fix link error on Solaris 8.
39348         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
39349         also in libnsl. Define also INET_PTON_LIB.
39350         * modules/inet_pton (Link): New section.
39351
39352 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39353             Bruno Haible  <bruno@clisp.org>
39354
39355         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
39356         * modules/inet_ntop (Link): New section.
39357         Reported by Boyan Kasarov <bkasarov@gmail.com>.
39358
39359 2009-11-02  Eric Blake  <ebb9@byu.net>
39360
39361         maint: avoid compiler warnings in m4 macros
39362         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
39363         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
39364
39365 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39366
39367         * m4/pmccabe2html.m4: Remove file.
39368         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
39369         function.  Change maintainer.
39370         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
39371         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
39372         Courtès).
39373
39374 2009-10-31  Eric Blake  <ebb9@byu.net>
39375
39376         fseeko: fix m4 regression
39377         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
39378         regression from 2009-10-27.
39379         Reported by Ralf Wildenhues.
39380
39381 2009-10-31  Jim Meyering  <meyering@redhat.com>
39382
39383         inttostr: aesthetics and improved (compile-time) safety
39384         Define inttype_is_signed rather than inttype_is_unsigned,
39385         since the sole use is via "#if inttype_is_signed".
39386         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
39387         inttype_is_unsigned.
39388         * lib/offtostr.c (inttype_is_signed): Likewise.
39389         * lib/uinttostr.c (inttype_is_signed): Likewise.
39390         * lib/umaxtostr.c (inttype_is_signed): Likewise.
39391         * lib/inttostr.c (inttostr): Use verify to cross-check the
39392         inttype_is_signed value and the signedness of the actual type.
39393         * modules/inttostr (Depends-on): Add verify.
39394
39395 2009-10-30  Eric Blake  <ebb9@byu.net>
39396
39397         build: avoid compiler warnings
39398         * lib/fchmodat.c (lchmod): Mark unused variables.
39399         * lib/getopt.c (_getopt_initialize): Likewise.
39400         * lib/mktime.c (__mktime_internal): Provide prototype.
39401         * lib/inttostr.c (inttostr): Avoid compiler warning even with
39402         older gcc that do not understand #pragma GCC diagnostic.
39403         * lib/uinttostr.c (inttype_is_unsigned): Define.
39404         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
39405
39406 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
39407
39408         stat: fix compilation on AIX
39409         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
39410         only see struct stat64.
39411
39412 2009-10-30  Eric Blake  <ebb9@byu.net>
39413
39414         exclude: make more robust
39415         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
39416         rather than masking a coding bug.
39417         Suggested by Bruno Haible.
39418
39419 2009-10-30  Jim Meyering  <meyering@redhat.com>
39420
39421         perl scripts: remove #!/usr/bin/perl in favor of more portable...
39422         Rather than putting #!/usr/bin/perl on the first line,
39423         start with a variant of what's recommended by "man perlrun" that
39424         invokes the first "perl" program from your shell's search path.
39425         * build-aux/gitlog-to-changelog: Replace #!... as above.
39426         Add a "Local Variables" perl mode setting.
39427         Prompted by a patch from Ludovic Courtès.
39428         Improved by Eric Blake.
39429         * build-aux/useless-if-before-free: Likewise.
39430         * build-aux/announce-gen: Likewise.
39431         * build-aux/update-copyright: Likewise.
39432
39433 2009-10-29  Eric Blake  <ebb9@byu.net>
39434
39435         filenamecat-lgpl: adjust clients
39436         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
39437         filenamecat.
39438         * modules/renameat (Depends-on): Likewise.
39439
39440         filenamecat: split into filenamecat-lgpl
39441         * modules/filenamecat-lgpl: New module.
39442         * modules/filenamecat (Files): Move library-safe files into
39443         filenamecat-lgpl.
39444         (Depends-on): Add filenamecat-lgpl.
39445         (configure.ac): Declare witness.
39446         * lib/filenamecat.h (file_name_concat): Only declare when using
39447         GPL module.
39448         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
39449         Move...
39450         * lib/filenamecat-lgpl.c: ...into new file.
39451         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
39452         (gl_FILE_NAME_CONCAT): Use it.
39453         * MODULES.html.sh (File system functions): Mention new module.
39454
39455         argp: avoid memory leak
39456         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
39457         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
39458         base_name, since the latter malloc()s and can call exit().
39459         Leak introduced 2006-07-03.
39460
39461         dirname-lgpl: adjust clients that don't need full dirname
39462         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
39463         * modules/filenamecat (Depends-on): Likewise.
39464         * modules/linkat (Depends-on): Likewise.
39465         * modules/mkancesdirs (Depends-on): Likewise.
39466         * modules/mkdir (Depends-on): Likewise.
39467         * modules/openat (Depends-on): Likewise.
39468         * modules/savewd (Depends-on): Likewise.
39469         * modules/rename (Depends-on): Likewise.
39470         (License): Relax license.
39471         * modules/mkdir-tests (Depends-on): Drop progname.
39472         (Makefile.am): Delete unneeded LDADD.
39473         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
39474
39475         dirname: split into dirname-lgpl
39476         * modules/dirname-lgpl: New module.
39477         * modules/dirname (Files): Move library-safe files into
39478         dirname-lgpl.
39479         (Depends-on): Add dirname-lgpl.
39480         (configure.ac): Declare witness.
39481         * modules/double-slash-root (License): Relax license.
39482         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
39483         module.
39484         * lib/dirname.c (dir_len, mdir_name): Move...
39485         * lib/dirname-lgpl.c: ...into new file.
39486         * lib/basename.c (last_component, base_len): Move...
39487         * lib/basename-lgpl.c: ...into new file.
39488         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
39489         (gl_DIRNAME): Use it.
39490         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
39491         Mention new module.
39492         * modules/dirname-tests (Depends-on): Add progname.
39493         * tests/test-dirname.c (program_name): Delete.
39494
39495         mkdir: make safe for libraries
39496         * modules/mkdir (Depends-on): Drop xalloc.
39497         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
39498         exit.
39499
39500         tests: avoid some compiler warnings
39501         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
39502         literals.
39503         * tests/test-memchr.c (main): Avoid type mismatch.
39504         * tests/test-arpa_inet.c (main): Avoid unused parameters.
39505         * tests/test-base64.c (main): Likewise.
39506         * tests/test-getdelim.c (main): Likewise.
39507         * tests/test-gethostname.c (main): Likewise.
39508         * tests/test-getline.c (main): Likewise.
39509         * tests/test-netinet_in.c (main): Likewise.
39510         * tests/test-select.c (open_server_socket, main): Likewise.
39511         * tests/test-select-stdin.c (main): Likewise.
39512         * tests/test-sockets.c (main): Likewise.
39513         * tests/test-strsignal.c (main): Likewise.
39514         * tests/test-sys_select.c (main): Likewise.
39515         * tests/test-sys_socket.c (main): Likewise.
39516         * tests/test-u64.c (main): Likewise.
39517         * tests/test-xfprintf-posix.c (main): Likewise.
39518         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
39519
39520         sockets: avoid compiler warning
39521         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
39522
39523         maint: detect usage(1) and other suspicious exits
39524         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
39525
39526 2009-10-29  Jim Meyering  <meyering@redhat.com>
39527
39528         timespec: long-to-int truncation could make timespec_cmp malfunction
39529         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
39530         a multiple of 2^32 nanoseconds as no difference.
39531
39532 2009-10-28  Jim Meyering  <meyering@redhat.com>
39533
39534         fprintftime: wrap macro code argument in "do {...} while(0)"
39535         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
39536         cpy macro must be a statement that can be followed by a semicolon.
39537         Now that the else clause contains a comment and is hence longer
39538         than one line, I require curly braces.  That in turn requires
39539         that we wrap this code block in the standard do...while(0).
39540
39541         fprintftime: remove stray semicolon from previous change
39542         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
39543
39544         fprintftime: avoid a warning about ignored fwrite return value
39545         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
39546         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
39547         that is unsafe.
39548         * modules/fprintftime (Depends-on): Add ignore-value.
39549
39550         exclude: avoid an unwarranted warning
39551         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
39552
39553 2009-10-27  Eric Blake  <ebb9@byu.net>
39554
39555         fseek: avoid compilation failure when fflush is replaced
39556         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
39557         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
39558         module is in use.
39559         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
39560         module is not in use; since REPLACE_FSEEK worked otherwise.
39561         (GNULIB_FTELLO): Likewise for ftell.
39562         Reported by Ian Beckwith and others.
39563
39564 2009-10-27  Bruno Haible  <bruno@clisp.org>
39565
39566         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
39567         Reported by Jim Meyering.
39568
39569 2009-10-27  Jim Meyering  <jim@meyering.net>
39570             Bruno Haible  <bruno@clisp.org>
39571
39572         Avoid warning despite dropping the return value of fwrite.
39573         * lib/unicodeio.c: Include ignore-value.h.
39574         (fwrite_success_callback): Explicitly ignore fwrite's return value.
39575         * modules/unicodeio (Depends-on): Add ignore-value.
39576
39577 2009-10-26  Eric Blake  <ebb9@byu.net>
39578
39579         areadlinkat: fix fallback path
39580         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
39581         pointer and zero.
39582
39583 2009-10-22  Pádraig Brady  <P@draigBrady.com>
39584
39585         Use a better IO block size for modern systems
39586         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
39587         * lib/md2.c: Likewise.
39588         * lib/md4.c: Likewise.
39589         * lib/md5.c: Likewise.
39590         * lib/sha1.c: Likewise.
39591         * lib/sha256.c: Likewise.
39592         * lib/sha512.c: Likewise.
39593
39594 2009-10-22  Eric Blake  <ebb9@byu.net>
39595
39596         tests: avoid several compiler warnings
39597         * tests/test-getcwd.c (main): Avoid buffer underflow.
39598         * tests/test-getdate.c (main): String literals are not safe with
39599         putenv, so use setenv.  Declare unused argument.
39600         * modules/getdate-tests (Depends-on): Add setenv.
39601         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
39602         problems with string literals in char *.
39603         * tests/test-hash.c (main): Avoid shadowing declaration.
39604         (insert_new): Treat string literals as char const *.
39605         * tests/test-getopt.h (test_getopt): Likewise.
39606         (getopt_loop): Alter types to minimize casting elsewhere.
39607         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
39608         (test_getopt_long_posix): Likewise.
39609         (do_getopt_long): Add wrapper to minimize casting.
39610         * tests/test-atexit.c (clear_temp_file): Use void.
39611         * tests/test-areadlink-with-size.c (main): Declare unused
39612         arguments.
39613         * tests/test-areadlink.c (main): Likewise.
39614         * tests/test-areadlinkat-with-size.c (main): Likewise.
39615         * tests/test-areadlinkat.c (main): Likewise.
39616         * tests/test-canonicalize-lgpl.c (main): Likewise.
39617         * tests/test-canonicalize.c (main): Likewise.
39618         * tests/test-dirent-safer.c (main): Likewise.
39619         * tests/test-dirname.c (main): Likewise.
39620         * tests/test-dup2.c (main): Likewise.
39621         * tests/test-fchdir.c (main): Likewise.
39622         * tests/test-fcntl-h.c (main): Likewise.
39623         * tests/test-fcntl-safer.c (main): Likewise.
39624         * tests/test-fdopendir.c (main): Likewise.
39625         * tests/test-fdutimensat.c (main): Likewise.
39626         * tests/test-fflush.c (main): Likewise.
39627         * tests/test-filenamecat.c (main): Likewise.
39628         * tests/test-filevercmp.c (main): Likewise.
39629         * tests/test-fopen-safer.c (main): Likewise.
39630         * tests/test-fopen.c (main): Likewise.
39631         * tests/test-fpending.c (main): Likewise.
39632         * tests/test-fpurge.c (main): Likewise.
39633         * tests/test-freading.c (main): Likewise.
39634         * tests/test-fstatat.c (main): Likewise.
39635         * tests/test-fsync.c (main): Likewise.
39636         * tests/test-futimens.c (main): Likewise.
39637         * tests/test-getndelim2.c (main): Likewise.
39638         * tests/test-gettimeofday.c (main): Likewise.
39639         * tests/test-getopt.c (main): Likewise.
39640         * tests/test-i-ring.c (main): Likewise.
39641         * tests/test-inttypes.c (main): Likewise.
39642         * tests/test-link.c (main): Likewise.
39643         * tests/test-lstat.c (main): Likewise.
39644         * tests/test-math.c (main): Likewise.
39645         * tests/test-md5.c (main): Likewise.
39646         * tests/test-memchr2.c (main): Likewise.
39647         * tests/test-memrchr.c (main): Likewise.
39648         * tests/test-mkdir.c (main): Likewise.
39649         * tests/test-mkdirat.c (main): Likewise.
39650         * tests/test-mkfifoat.c (main): Likewise.
39651         * tests/test-open.c (main): Likewise.
39652         * tests/test-openat-safer.c (main): Likewise.
39653         * tests/test-openat.c (main): Likewise.
39654         * tests/test-quotearg.c (main): Likewise.
39655         * tests/test-rawmemchr.c (main): Likewise.
39656         * tests/test-readlink.c (main): Likewise.
39657         * tests/test-remove.c (main): Likewise.
39658         * tests/test-rename.c (main): Likewise.
39659         * tests/test-renameat.c (main): Likewise.
39660         * tests/test-rmdir.c (main): Likewise.
39661         * tests/test-sha1.c (main): Likewise.
39662         * tests/test-signal.c (main): Likewise.
39663         * tests/test-sigaction.c (main): Likewise.
39664         * tests/test-stat.c (main): Likewise.
39665         * tests/test-stat-time.c (main): Likewise.
39666         * tests/test-stddef.c (main): Likewise.
39667         * tests/test-stdint.c (main): Likewise.
39668         * tests/test-stdio.c (main): Likewise.
39669         * tests/test-stdlib.c (main): Likewise.
39670         * tests/test-strchrnul.c (main): Likewise.
39671         * tests/test-strerror.c (main): Likewise.
39672         * tests/test-string.c (main): Likewise.
39673         * tests/test-strtod.c (main): Likewise.
39674         * tests/test-strverscmp.c (main): Likewise.
39675         * tests/test-symlink.c (main): Likewise.
39676         * tests/test-symlinkat.c (main): Likewise.
39677         * tests/test-sys_stat.c (main): Likewise.
39678         * tests/test-sys_time.c (main): Likewise.
39679         * tests/test-time.c (main): Likewise.
39680         * tests/test-unistd.c (main): Likewise.
39681         * tests/test-unlink.c (main): Likewise.
39682         * tests/test-unlinkat.c (main): Likewise.
39683         * tests/test-utimens.c (main): Likewise.
39684         * tests/test-utimensat.c (main): Likewise.
39685         * tests/test-version-etc.c (main): Likewise.
39686         * tests/test-wchar.c (main): Likewise.
39687         * tests/test-wctype.c (main): Likewise.
39688         * tests/test-xprintf-posix.c (main): Likewise.
39689         * tests/test-posixtm.c (main): Likewise.
39690         (STREQ): Delete unused macro.
39691         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
39692         shadowed variables.
39693         * tests/test-memchr.c (main): Likewise.
39694
39695 2009-10-21  Eric Blake  <ebb9@byu.net>
39696
39697         areadlinkat: avoid failure on older glibc
39698         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
39699         rather than mis-comparing 0 against FUNC_RESULT of char*.
39700
39701 2009-10-21  Bruno Haible  <bruno@clisp.org>
39702
39703         * modules/stpncpy (License): Relicense under LGPLv2+.
39704         Reported by David Lutterkort <lutter@redhat.com>.
39705
39706 2009-10-20  Eric Blake  <ebb9@byu.net>
39707
39708         utimensat: work around Solaris 9 bug
39709         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
39710         has trailing slash bugs.
39711         * tests/test-lutimens.h (test_lutimens): Enhance test.
39712         * tests/test-utimens.h (test_utimens): Likewise.
39713         * doc/posix-functions/utime.texi (utime): Enhance documentation.
39714         * doc/posix-functions/utimes.texi (utimes): Likewise.
39715         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39716         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
39717         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
39718         * doc/posix-functions/futimens.texi (futimens): Likewise.
39719
39720         fdutimensat: new module
39721         * modules/fdutimensat: New file.
39722         * lib/fdutimensat.c (fdutimensat): Likewise.
39723         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
39724         * MODULES.html.sh (File system functions): Mention module.
39725         * modules/fdutimensat-tests: New test.
39726         * tests/test-fdutimensat.c: Likewise.
39727
39728         doc: regenerate INSTALL
39729         * doc/INSTALL: Reflect recent autoconf update.
39730         * doc/INSTALL.ISO: Likewise.
39731         * doc/INSTALL.UTF-8: Likewise.
39732
39733 2009-10-20  Pádraig Brady  <P@draigBrady.com>
39734
39735         acl: warn if ACL support is not detected
39736         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
39737
39738 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
39739
39740         * lib/nproc.h: Add extern "C" block for C++.
39741
39742 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
39743             Bruno Haible  <bruno@clisp.org>
39744
39745         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
39746         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
39747         * doc/posix-functions/isalpha.texi: Likewise.
39748         * doc/posix-functions/isblank.texi: Likewise.
39749         * doc/posix-functions/iscntrl.texi: Likewise.
39750         * doc/posix-functions/isdigit.texi: Likewise.
39751         * doc/posix-functions/isgraph.texi: Likewise.
39752         * doc/posix-functions/islower.texi: Likewise.
39753         * doc/posix-functions/isprint.texi: Likewise.
39754         * doc/posix-functions/ispunct.texi: Likewise.
39755         * doc/posix-functions/isspace.texi: Likewise.
39756         * doc/posix-functions/isupper.texi: Likewise.
39757         * doc/posix-functions/isxdigit.texi: Likewise.
39758
39759 2009-10-18  Bruno Haible  <bruno@clisp.org>
39760
39761         Tests for module 'isblank'.
39762         * modules/isblank-tests: New file.
39763         * tests/test-isblank.c: New file.
39764
39765         New module 'isblank'.
39766         * lib/isblank.c: New file.
39767         * m4/isblank.m4: New file.
39768         * modules/isblank: New file.
39769         * doc/posix-functions/isblank.texi: Mention the new module.
39770
39771 2009-10-18  Bruno Haible  <bruno@clisp.org>
39772
39773         New module 'ctype'.
39774         * lib/ctype.in.h: New file.
39775         * m4/ctype.m4: New file.
39776         * modules/ctype: New file.
39777         * doc/posix-headers/ctype.texi: Mention the new module.
39778
39779 2009-10-18  Jim Meyering  <meyering@redhat.com>
39780
39781         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
39782         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
39783         right after its initialization, rather than farther down.
39784         Keeping these in close proximity makes it easier to ensure
39785         that each such variable is initialized.  E.g.,
39786
39787             LIB_CLOCK_GETTIME=
39788             AC_SUBST([LIB_CLOCK_GETTIME])
39789
39790         This change also increments these serial numbers.
39791         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
39792         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39793         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39794
39795 2009-10-18  Bruno Haible  <bruno@clisp.org>
39796
39797         Don't let environment variables perturb build.
39798         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
39799         (gl_PREREQ_GETHRXTIME): ... not here.
39800
39801 2009-10-18  Bruno Haible  <bruno@clisp.org>
39802
39803         Avoid symlink attack in localcharset module.
39804         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
39805         (O_NOFOLLOW): Define fallback.
39806         (get_charset_aliases): Don't open the file if it is a symbolic link.
39807         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
39808         gl_FCNTL_H.
39809         (gl_FCNTL_H): Require it.
39810         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
39811         * modules/localcharset (Files): Add m4/fcntl_h.m4.
39812         Reported by Fergal Glynn <fglynn@veracode.com>.
39813
39814 2009-10-18  Bruno Haible  <bruno@clisp.org>
39815
39816         Implement nproc for mingw.
39817         * lib/nproc.c: Include <windows.h>
39818         (num_processors): On native Windows platforms, try GetSystemInfo.
39819
39820 2009-10-18  Bruno Haible  <bruno@clisp.org>
39821
39822         Implement nproc for IRIX.
39823         * lib/nproc.c: Include <sys/sysmp.h>.
39824         (num_processors): On IRIX systems, try sysmp.
39825         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
39826
39827 2009-10-18  Bruno Haible  <bruno@clisp.org>
39828
39829         Implement nproc for HP-UX.
39830         * lib/nproc.c: Include <sys/pstat.h>
39831         (num_processors): On HP-UX systems, try pstat_getdynamic.
39832         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
39833         pstat_getdynamic.
39834
39835 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
39836             Bruno Haible  <bruno@clisp.org>
39837
39838         Implement nproc for NetBSD, OpenBSD.
39839         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
39840         (ARRAY_SIZE): New macro.
39841         (num_processors): On BSD systems, try sysctl of HW_NCPU.
39842         * m4/nproc.m4: New file.
39843         * modules/nproc (Files): Add m4/nproc.m4.
39844         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
39845         (Makefile.am): Instead, augment lib_SOURCES.
39846
39847 2009-10-18  Bruno Haible  <bruno@clisp.org>
39848
39849         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
39850         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
39851         sys/param.h.
39852
39853 2009-10-16  Eric Blake  <ebb9@byu.net>
39854
39855         utimensat: new module
39856         * modules/utimensat: New file.
39857         * lib/utimensat.c (utimensat): Likewise.
39858         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39859         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
39860         so we can work around Linux bugs.
39861         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39862         * modules/sys_stat (Makefile.am): Substitute them.
39863         * lib/sys_stat.in.h (utimensat): Declare it.
39864         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39865         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39866         * modules/utimensat-tests: New test.
39867         * tests/test-utimensat.c: Likewise.
39868
39869         utimens: let lutimens work on non-symlinks
39870         * lib/utimens.c (lutimens): Fall back to utimens rather than
39871         failing with ENOSYS, when file is not a symlink.
39872         (utimens): Reduce redirection.
39873         * tests/test-lutimens.h (test_lutimens): Update test to cover
39874         non-symlinks.
39875         * tests/test-utimens.h (test_utimens): Update test to cover
39876         symlinks.
39877         * tests/test-utimens.c (main): Update caller.
39878
39879         utimens: cache whether utimensat syscall works
39880         * lib/utimens.c (utimensat_works_really): New cache variable.
39881         (fdutimens, lutimens): Use it to avoid failing syscall.
39882
39883         test-stat-time, test-utimens: improve portability
39884         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
39885         ext4 on alpha, and for cygwin.
39886         * tests/test-utimens-common.h: New file.
39887         (nap): Factor delays into single function.
39888         * tests/test-lutimens.h (test_lutimens): Use new header.
39889         * tests/test-futimens.h (test_futimens): Likewise.
39890         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
39891         timestamps to occur from same machine, as was done previously for
39892         test_utimens.
39893         * modules/utimens-tests (Files): Ship new file.
39894         * modules/futimens-tests (Files): Likewise.
39895         Reported in part by Jim Meyering.
39896
39897         sys_stat: sort replacement declarations
39898         * lib/sys_stat.in.h: Sort declarations.
39899         * lib/futimens.c (futimens): Fix typo.
39900
39901 2009-10-15  Jim Meyering  <meyering@redhat.com>
39902
39903         don't let environment settings perturb build
39904         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
39905         could cause a configure-time and/or build-time malfunction.
39906         Typically, a configure-time function-in-library test is performed
39907         via code like this:
39908
39909           LIB_VAR=
39910           AC_SUBST([LIB_VAR])
39911           prefix_saved_LIBS=$LIBS
39912             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
39913                        [test "$ac_cv_search_FUNC" = "none required" ||
39914                         LIB_VAR=$ac_cv_search_FUNC])
39915           LIBS=$prefix_saved_LIBS
39916
39917         However, in each of the files affected by this change, the LIB_VAR=
39918         initialization was omitted.  Thus, when set in the environment, its
39919         value would propagate into generated Makefiles when FUNC is not found
39920         in LIB_NAME.
39921         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
39922         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39923         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39924
39925 2009-10-14  Eric Blake  <ebb9@byu.net>
39926
39927         fchdir: avoid infinite recursion in mingw
39928         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
39929         recursing.
39930
39931         test-stat-time: port to mingw
39932         * tests/test-stat-time.c (force_unlink): Return a value.
39933         (test_ctime) [W32]: Fix compilation error.
39934         (nap): Don't call usleep with too large an argument.  Use
39935         force_unlink.
39936         * doc/pastposix-functions/usleep.texi (usleep): Document the
39937         portability issue.
39938
39939 2009-10-13  Jim Meyering  <meyering@redhat.com>
39940
39941         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
39942         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
39943         * modules/pipe-filter-ii: Likewise.
39944         * modules/sys_socket-tests: Likewise.
39945         * modules/tsearch-tests: Likewise.
39946         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
39947         (check): Depend on it.
39948
39949 2009-10-12  Eric Blake  <ebb9@byu.net>
39950
39951         utimens-tests: port to NFS file systems
39952         * tests/test-utimens.h (test_utimens): Refactor utimecmp
39953         comparisons to avoid spurious failures from timestamp drift
39954         between NFS machines.
39955
39956 2009-10-12  Eric Blake  <ebb9@byu.net>
39957
39958         stat-time-tests: minor cleanups
39959         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
39960         * tests/test-stat-time.c (nap): Separate assignment from call.
39961         Suggested by Paolo Bonzini and Bruno Haible.
39962
39963         sys_stat: guarantee struct timespec
39964         * lib/sys_stat.in.h (includes): Always include <time.h>
39965         * modules/sys_stat (Depends-on): Add time.
39966         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
39967         mode_t permission values.
39968         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
39969         get at subsecond timestamps.
39970
39971 2009-10-10  Eric Blake  <ebb9@byu.net>
39972
39973         futimens: new module
39974         * modules/futimens: New file.
39975         * lib/futimens.c (futimens): Likewise.
39976         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
39977         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
39978         we can work around Linux bugs.
39979         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39980         * modules/sys_stat (Makefile.am): Substitute them.
39981         * lib/sys_stat.in.h (futimens): Declare it.
39982         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39983         * doc/posix-functions/futimens.texi (futimens): Likewise.
39984         * modules/futimens-tests: New test.
39985         * tests/test-futimens.c: Likewise.
39986
39987         utimens: introduce fdutimens
39988         * lib/utimens.h (fdutimens): New prototype.
39989         * lib/utimens.c (gl_futimens): Move guts...
39990         (fdutimens): ...to new interface.
39991         * tests/test-utimens.c (do_fdutimens): Use it.
39992
39993         utimens: add UTIME_NOW and UTIME_OMIT support
39994         * lib/utimens.c (validate_timespec, update_timespec): New helper
39995         functions.
39996         (gl_futimens, lutimens): Use them.
39997         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
39998         stdbool, sys_stat.
39999         (Link): Mention resulting library dependency.
40000         * modules/utimecmp (Link): Likewise.
40001         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
40002         (Makefile.am): Pick up library dependency.
40003         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
40004         definition.
40005         * tests/test-sys_stat.c: Test the definitions.
40006         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
40007         * NEWS: Document library dependency.
40008
40009         utimecmp: support symlink timestamps
40010         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
40011         hashing when possible.  Use pathconf when available.
40012         (SYSCALL_RESOLUTION): Recognize tighter resolution.
40013         * modules/utimecmp (Depends-on): Add lstat.
40014
40015         utimens: add lutimens interface
40016         * lib/utimens.c (lutimens): New function.
40017         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
40018         * lib/utimens.h (lutimens): Declare new interface.
40019         * tests/test-utimens.c (main): Enhance test.
40020         * tests/test-lutimens.h (test_lutimens): New file.
40021         * modules/utimens-tests (Files): Distribute it.
40022         (Depends-on): Add symlink.
40023         (configure.ac): Check for usleep.
40024
40025         utimens: validate futimens usage
40026         * lib/utimens.c (gl_futimens): Require valid fd up front, using
40027         fewer syscalls on failure later on.  Avoid compiler warning on
40028         mingw.
40029         * modules/utimens (Depends-on): Add dup2.
40030
40031         utimens: add test
40032         * modules/utimens-tests: New test.
40033         * tests/test-utimens.h: New file.
40034         * tests/test-futimens.h: Likewise.
40035         * tests/test-utimens.c: Likewise.
40036
40037         doc: mention timestamp portability issues
40038         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
40039         instead.
40040         * doc/posix-functions/utime.texi (utime): Likewise.
40041         * doc/posix-functions/utimes.texi (utimes): Likewise.
40042         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
40043         instead.
40044         * doc/posix-functions/futimens.texi (futimens): Mention utimens
40045         module.
40046         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40047         Mention weakness with symlink timestamps.
40048         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
40049         to utimensat/futimens instead.
40050         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
40051
40052         test-dup2: enhance test
40053         * tests/test-dup2.c (main): Also check AT_FDCWD.
40054
40055         test-stat-time: avoid more spurious failures
40056         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
40057         xfs; and avoid race if the two timestamps cross quantization edge.
40058
40059         relocatable: prefer 'file system' over 'filesystem'
40060         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
40061         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
40062         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
40063         * doc/relocatable.texi (Enabling Relocatability): Likewise.
40064         * lib/relocatable.c (compute_curr_prefix): Likewise.
40065
40066 2009-10-10  Jim Meyering  <meyering@redhat.com>
40067
40068         stat-time-tests: check for the usleep function
40069         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
40070
40071 2009-10-10  Bruno Haible  <bruno@clisp.org>
40072
40073         * modules/xnanosleep: Put the Link section after the Include section.
40074
40075 2009-10-09  Eric Blake  <ebb9@byu.net>
40076
40077         dup2: work around FreeBSD 6.1 bug
40078         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
40079         * doc/posix-functions/dup2.texi (dup2): Document it.
40080         Reported by Nelson H. F. Beebe and Jim Meyering.
40081
40082         test-stat-time: port to buggy NFS clients
40083         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
40084         (test_ctime): Also skip test if mtime and ctime are skewed.
40085
40086         maint: prefer 'file system' over 'filesystem'
40087         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40088         * doc/posix-functions/lstat.texi (lstat): Likewise.
40089         * lib/file-has-acl.c (file_has_acl): Likewise.
40090         * lib/fwriteerror.c [TEST]: Likewise.
40091         * tests/test-areadlink.h (test_areadlink): Likewise.
40092         * tests/test-areadlinkat-with-size.c (main): Likewise.
40093         * tests/test-areadlinkat.c (main): Likewise.
40094         * tests/test-canonicalize-lgpl.c (main): Likewise.
40095         * tests/test-canonicalize.c (main): Likewise.
40096         * tests/test-fstatat.c (main): Likewise.
40097         * tests/test-linkat.c (main): Likewise.
40098         * tests/test-lstat.h (test_lstat_func): Likewise.
40099         * tests/test-mkdir.h (test_mkdir): Likewise.
40100         * tests/test-readlink.h (test_readlink): Likewise.
40101         * tests/test-remove.c (main): Likewise.
40102         * tests/test-rename.h (test_rename): Likewise.
40103         * tests/test-renameat.c (main): Likewise.
40104         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40105         * tests/test-symlink.h (test_symlink): Likewise.
40106         * tests/test-symlinkat.c (main): Likewise.
40107         * tests/test-unlink.h (test_unlink_func): Likewise.
40108         * tests/test-unlinkat.c (main): Likewise.
40109
40110         maint: make realtime library usage explicit
40111         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
40112         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
40113         * modules/settime (Link): Likewise.
40114         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
40115
40116         test-stat-time: speed up execution
40117         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
40118         warning on mingw.
40119         (nap): New helper function.
40120         (prepare_test): Use it to reduce sleep time.
40121         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
40122         execution.
40123         * modules/stat-time-tests (configure.ac): Check for usleep.
40124
40125 2009-10-09  Jim Meyering  <meyering@redhat.com>
40126
40127         selinux-h: always use getfilecon wrappers
40128         * lib/getfilecon.c: New file.
40129         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
40130         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
40131         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
40132         (fgetfilecon): Provide a stub.
40133         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
40134         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
40135         file unconditionally.
40136         When <selinux/selinux.h> is found, arrange to use wrappers.
40137         * modules/selinux-h (Files): Add getfilecon.c.
40138         (Makefile.am): Substitute include-next-related bits
40139         into the now-always-generated selinux/selinux.h file.
40140         * doc/glibc-functions/lgetfilecon.texi: New file.
40141         * doc/glibc-functions/fgetfilecon.texi: New file.
40142         * doc/glibc-functions/getfilecon.texi: New file.
40143         * doc/glibc-functions/getfilecon-desc.texi: New file.
40144         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
40145         which to pull in the new files.
40146         * MODULES.html.sh (Misc): Add selinux-h.
40147
40148 2009-10-08  Jim Meyering  <meyering@redhat.com>
40149
40150         unistd: fix comment typo
40151         * lib/unistd.in.h (euidaccess): Fix a comment typo.
40152
40153 2009-10-08  Eric Blake  <ebb9@byu.net>
40154
40155         areadlink: use SIZE_MAX consistently
40156         * modules/areadlink (Depends-on): Add stdint.
40157         * modules/areadlink-with-size (Depends-on): Likewise.
40158         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
40159         gives NULL; drop sys/types, since unistd gives size_t; and add
40160         stdint for SIZE_MAX.
40161         (SIZE_MAX): Rely on headers.
40162         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
40163         and add stdint.
40164         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
40165         (SIZE_MAX): Likewise.
40166         (INITIAL_BUF_SIZE): Turn into enum.
40167         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
40168
40169 2009-10-08  Jim Meyering  <meyering@redhat.com>
40170
40171         areadlinkat: avoid compilation failure
40172         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
40173         Fix typo in comment.
40174
40175 2009-10-07  Eric Blake  <ebb9@byu.net>
40176
40177         areadlinkat-with-size: new module
40178         * modules/areadlinkat-with-size: New module.
40179         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
40180         * lib/areadlink.h (areadlinkat): Declare it.
40181         * MODULES.html.sh (File system functions): Mention it.
40182         * modules/areadlinkat-with-size-tests: New test.
40183         * tests/test-areadlinkat-with-size.c: New file.
40184
40185         xreadlinkat: new module
40186         * modules/xreadlinkat: New module.
40187         * lib/xreadlinkat.c (xreadlinkat): New file.
40188         * lib/xreadlink.h (xreadlinkat): Declare it.
40189         * MODULES.html.sh (File system functions): Mention it.
40190
40191         areadlinkat: new module
40192         * lib/at-func.c (FUNC_FAIL): New define.
40193         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
40194         * modules/areadlinkat: New module.
40195         * lib/linkat.c (areadlinkat): Move...
40196         * lib/areadlinkat.c (areadlinkat): ...to new file.
40197         * lib/areadlink.h (areadlinkat): Declare it.
40198         * modules/linkat (Depends-on): Add areadlinkat.
40199         * MODULES.html.sh (File system functions): Mention it.
40200         * modules/areadlinkat-tests: New test.
40201         * tests/test-areadlinkat.c: New file.
40202
40203         areadlink, areadlink-with-size: add tests
40204         * modules/areadlink-tests: New test.
40205         * modules/areadlink-with-size-tests: Likewise.
40206         * tests/test-areadlink.h: New file.
40207         * tests/test-areadlink.c: Likewise.
40208         * tests/test-areadlink-with-size.c: Likewise.
40209
40210         maint: minor cleanups
40211         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
40212         _UNUSED_PARAMETER_ instead.
40213         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
40214         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
40215         * modules/linkat-tests (Files): Distribute test-link.h.
40216
40217         openat, utimens: whitespace cleanup
40218         * lib/openat.c: Prefer space throughout, rather than mix of 8
40219         spaces vs. tabs.
40220         * lib/at-func.c: Likewise.
40221         * lib/utimens.c: Likewise.
40222
40223         openat: avoid using wrong fd
40224         * lib/openat.c (openat_permissive): Reject user's fd if saving the
40225         working directory chooses same fd.
40226         * lib/at-func.c (AT_FUNC_NAME): Likewise.
40227
40228         mkdir, mkdirat: fix cygwin 1.5.x bug
40229         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
40230         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
40231         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
40232         bug.
40233         (gl_PREREQ_MKDIR): Delete unused macro.
40234         * modules/mkdir (Files): Track file rename.
40235         (configure.ac): Update macro name.
40236         * modules/openat (Depends-on): Add mkdir.
40237         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
40238
40239         mkdir, mkdirat: add tests
40240         * modules/mkdir-tests: New test.
40241         * tests/test-mkdir.h: New file.
40242         * tests/test-mkdir.c: Likewise.
40243         * tests/test-mkdirat.c: Likewise.
40244         * modules/openat-tests (Files): Add new files.
40245         (Makefile.am): Run new test.
40246
40247 2009-10-06  Eric Blake  <ebb9@byu.net>
40248
40249         doc: tweak *at function documentation
40250         * doc/posix-functions/faccessat.texi (faccessat): Mention
40251         known issue with replacement.
40252         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
40253         * doc/posix-functions/linkat.texi (linkat): Likewise.
40254         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
40255         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
40256         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40257         * doc/posix-functions/renameat.texi (renameat): Likewise.
40258         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40259
40260         openat: fix GNU/Hurd bug in unlinkat
40261         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
40262         broken.
40263         * doc/posix-functions/unlink.texi (unlink): Document this.
40264         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
40265
40266         fdopendir: fix GNU/Hurd bug
40267         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
40268         allowing non-directory fds.
40269         * lib/fdopendir.c (rpl_fdopendir): Work around it.
40270         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
40271         * modules/dirent (Makefile.am): Substitute it.
40272         * lib/dirent.in.h (fdopendir): Declare replacement.
40273         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
40274         * tests/test-fdopendir.c (main): Test something other than
40275         /dev/null, since on Hurd that behaves like a directory.
40276
40277         test-symlink: port to GNU/Hurd
40278         * tests/test-symlink.h (test_symlink): Relax expected errno.
40279
40280         doc: tweak more cygwin information
40281         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
40282         now compatible with glibc.
40283         * doc/posix-functions/getopt.texi (getopt): Likewise.
40284
40285         getopt-gnu: add another test
40286         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
40287         guarantee behavior relied on by m4.
40288         * tests/test-getopt.c (main): Use it.
40289         * modules/getopt-posix-tests (Depends-on): Add setenv.
40290         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
40291
40292         getopt: fix compilation on darwin
40293         * lib/getopt.in.h (includes): Leave breadcrumbs during system
40294         include.
40295         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
40296         Reported by Ludovic Courtès.
40297
40298 2009-10-06  Bruno Haible  <bruno@clisp.org>
40299
40300         * modules/size_max (Description): Discourage its use.
40301         Reported by Simon Josefsson.
40302
40303 2009-10-06  Jim Meyering  <meyering@redhat.com>
40304
40305         linkat: avoid compilation failure
40306         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
40307
40308 2009-10-05  Eric Blake  <ebb9@byu.net>
40309
40310         linkat: support Linux 2.6.17
40311         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
40312         linkat on Linux, but allow cache variable override.
40313         * lib/linkat.c (rpl_linkat): Define override.
40314         * modules/linkat (Depends-on): Add symlinkat.
40315         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
40316         * modules/unistd (Makefile.am): Substitute it.
40317         * lib/unistd.in.h (linkat): Declare replacement.
40318         Reported by Pádraig Brady.
40319
40320         quotearg: port test to systems with C.UTF-8 locale
40321         * tests/test-quotearg.c (struct result_strings): Add another
40322         member, differentiating between C.ASCII and C.UTF-8 handling.
40323         (compare_strings): Add parameter.
40324         (main): Adjust all callers.
40325
40326         getopt: avoid clash with FreeBSD _getopt_internal
40327         * lib/getopt.in.h (_getopt_internal): Override the name.
40328         * lib/getopt_int.h (includes): Pick up any overrides.
40329         Reported by Reuben Thomas.
40330
40331         hash: allow C89 compilation
40332         * lib/hash.c (check_tuning): Move declaration before statement.
40333         Reported by Reuben Thomas.
40334
40335 2009-10-05  Karl Berry  <karl@gnu.org>
40336
40337         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
40338
40339 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
40340             Bruno Haible  <bruno@clisp.org>
40341
40342         * lib/uname.c (uname): Use a table-driven algorithm to compute
40343         Windows NT versions.
40344
40345 2009-10-04  Bruno Haible  <bruno@clisp.org>
40346
40347         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
40348         program_invocation_short_name.
40349         * modules/progname (configure.ac): Test for presence of
40350         program_invocation_short_name.
40351         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
40352
40353 2009-10-04  Bruno Haible  <bruno@clisp.org>
40354
40355         * lib/progname.c (set_program_name): Fix comment.
40356         Reported by Jim Meyering.
40357
40358 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40359             Bruno Haible  <bruno@clisp.org>
40360
40361         * lib/uname.c: Include <string.h>.
40362         (uname): Do only one call to GetVersionEx in the common case.
40363
40364 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40365             Bruno Haible  <bruno@clisp.org>
40366
40367         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
40368         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
40369         (uname): Add support for Windows CE and various non-x86 CPU types.
40370
40371 2009-10-03  Bruno Haible  <bruno@clisp.org>
40372
40373         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
40374         invocation to tests/configure.ac.
40375         Reported by Ian Beckwith <ianb@erislabs.net>.
40376
40377 2009-10-02  Eric Blake  <ebb9@byu.net>
40378
40379         fchdir: avoid compiler warning
40380         * lib/fchdir.c (canonicalize_file_name)
40381         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
40382
40383         test-open: support mingw errno values
40384         * tests/test-open.h (test_open): Relax test.
40385         * tests/test-fopen.h (test_fopen): Likewise.
40386         * tests/test-openat-safer.c (main): Likewise.
40387
40388         open: fix opening directory on mingw
40389         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
40390
40391         test-open: on GNU/Hurd, /dev/null is a directory
40392         * tests/test-fopen.h (main): Rename...
40393         (test_fopen): ...to this.  Use a guaranteed non-directory when
40394         confirming open behavior on trailing slash.
40395         * tests/test-openat-safer.c (main): Likewise.
40396         * tests/test-open.h (main): Likewise....
40397         (test_open): ...to this.
40398         * tests/test-fopen.c (main): Adjust caller.
40399         * tests/test-fopen-safer.c (main): Likewise.
40400         * tests/test-open.c (main): Likewise.
40401         * tests/test-fcntl-safer.c (main): Likewise.
40402         Reported by Samuel Thibault.
40403
40404         rename, fchdir: don't ignore chdir failure
40405         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
40406         * lib/rename.c (rpl_rename) [W32]: Likewise.
40407         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
40408         an empty destination directory if source cannot be renamed,
40409         although there is still possibility for failure.
40410         * doc/posix-functions/rename.texi (rename): Document the race.
40411         Reported by Jim Meyering.
40412
40413         maint: cleanup whitespace in recent commits
40414         * lib/rename.c (rpl_rename): Remove tabs.
40415         * tests/test-link.h (test_link): Likewise.
40416         * lib/fchdir.c (get_name): Likewise.
40417         Reported by Jim Meyering.
40418
40419 2009-10-02  Ben Pfaff  <blp@gnu.org>
40420
40421         relocatable-prog-wrapper: Add missing dependency on
40422         double-slash-root.
40423         * modules/relocatable-prog-wrapper: Add dependency.
40424         Reported by Ian Beckwith <ianb@erislabs.net>.
40425
40426 2009-10-02  Eric Blake  <ebb9@byu.net>
40427
40428         renameat: fix Solaris bugs
40429         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
40430         needed fixing.
40431         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
40432         * modules/stdio (Makefile.am): Substitute it.
40433         * lib/stdio.in.h (renameat): Declare replacement.
40434         * lib/renameat.c (rpl_renameat): Implement fix.
40435
40436         renameat: new module
40437         * modules/renameat: New file.
40438         * lib/renameat.c (renameat): Likewise.
40439         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
40440         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40441         * modules/stdio (Makefile.am): Substitute them.
40442         * lib/stdio.in.h (renameat): Declare it.
40443         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40444         * doc/posix-functions/renameat.texi (renameat): Likewise.
40445         * modules/renameat-tests: New test.
40446         * tests/test-renameat.c: Likewise.
40447
40448         rename: fix mingw bugs
40449         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
40450         directory overwrite bugs.
40451
40452         rename: fix another cygwin 1.5 bug
40453         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
40454         checks.
40455         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
40456         unnecessary cygwin workarounds.  Also work around bug with moving
40457         full directory onto an empty one.
40458         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
40459
40460         rename-dest-slash: merge into rename module
40461         * modules/rename-dest-slash (Status): Mark obsolete.
40462         (Depends-on): Add rename.
40463         (Files): Let rename do it all.
40464         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
40465         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
40466         * m4/rename-dest-slash.m4: ...so this file can be deleted.
40467         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
40468         * lib/rename.c (rpl_rename): Update comments.
40469
40470         rename: fix cygwin 1.5.x bugs
40471         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
40472         * lib/rename.c (rpl_rename): Work around them.
40473         * modules/rename (Depends-on): Add same-inode.
40474
40475         rename: fix Solaris 10 bug
40476         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40477         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
40478         was the only bug.
40479
40480         rename: fix Solaris 9 bug
40481         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
40482         on non-directory.  Avoid calling exit.
40483         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
40484         strdup.
40485         * modules/rename-tests (Depends-on): Drop lstat.
40486         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40487         (gl_PREREQ_RENAME): Delete unused macro.
40488
40489         rename-dest-slash: fix NetBSD bug
40490         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
40491         links.
40492         * modules/rename-dest-slash (Depends-on): Add same-inode.
40493
40494         rename-tests: new test, exposes several platform bugs
40495         * modules/rename-tests: New file.
40496         * tests/test-rename.h: Likewise.
40497         * tests/test-rename.c: Likewise.
40498         * doc/posix-functions/rename.texi (rename): Improve documentation,
40499         including bugs that will eventually be fixed in gnulib.
40500
40501 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
40502
40503         * lib/uname.c: Include <stdlib.h>
40504         (uname): Assume version info is available.
40505
40506 2009-10-02  Jim Meyering  <meyering@redhat.com>
40507
40508         gnu-web-doc-update: correct --help output
40509         * build-aux/gnu-web-doc-update: Make --help output relevant.
40510
40511         gnu-web-doc-update: add standard options
40512         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
40513
40514         gnu-web-doc-update: New module.
40515         Use this script to automatically update the on-line web documentation
40516         for your GNU project at http://www.gnu.org/software/$pkg/manual/
40517         * modules/gnu-web-doc-update: New file, from coreutils.
40518         * build-aux/gnu-web-doc-update: New script.
40519
40520 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
40521
40522         link: LoadLibrary is not needed.
40523         * lib/link.c: Use GetModuleHandle.
40524
40525 2009-10-01  Eric Blake  <ebb9@byu.net>
40526
40527         getopt: bump serial number
40528         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
40529         change.
40530
40531         tests: tighten link, rmdir, and remove tests
40532         * tests/test-link.h (includes): No need to use <config.h> here.
40533         Clean up if directory hard link was created, otherwise test for
40534         trailing '.'.
40535         * tests/test-linkat.c (main): Simplify.
40536         * tests/test-remove.c (main): Enhance test for trailing '.'.
40537         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40538
40539 2009-10-01  Jim Meyering  <meyering@redhat.com>
40540
40541         maint.mk: requiring "make major" was annoying, for a "minor" release.
40542         What is intended is "stable", to contrast with alpha and beta,
40543         so require "make stable", not "make major".
40544         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
40545         (get_tool_versions): Likewise.
40546         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
40547
40548 2009-09-30  Ben Pfaff  <blp@gnu.org>
40549
40550         Fix broken build of replacement for Windows tmpfile().
40551         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
40552         flags argument added along with the 'mkostemp' module.
40553
40554 2009-09-28  Bruno Haible  <bruno@clisp.org>
40555
40556         Avoid identifier clash with POSIX function 'remove' defined as a macro.
40557         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
40558         to 'remove_elt'.
40559         (gl_list_remove): Update.
40560         * lib/gl_list.c (gl_list_remove): Update.
40561         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
40562         to 'remove_elt'.
40563         (gl_oset_remove): Update.
40564         * lib/gl_list.c (gl_oset_remove): Update.
40565         Reported by Eric Blake.
40566
40567 2009-09-28  Eric Blake  <ebb9@byu.net>
40568
40569         doc: mention yet more cygwin 1.7 status
40570         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
40571         cygwin.
40572         * doc/glibc-functions/execvpe.texi (execvpe): New file.
40573         * doc/gnulib.texi (Glibc unistd.h): Mention it.
40574
40575         argp: fix test failure
40576         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
40577         that are not upper-case.  Pass correct range to tolower.
40578
40579 2009-09-27  Jim Meyering  <meyering@redhat.com>
40580
40581         test-yesno: work around sparc-dash here-document infelicity
40582         Without this change, the literal \177 byte in a here document
40583         would make dash 0.5.5.1-3 access uninitialized memory.
40584         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
40585         Instead, use a marker, "@", and filter through tr to create the desired
40586         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
40587
40588 2009-09-27  Bruno Haible  <bruno@clisp.org>
40589
40590         Disable untested support for new flavours of ACLs on AIX.
40591         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
40592         progress.
40593         * lib/set-mode-acl.c (qset_acl): Likewise.
40594
40595 2008-12-07  Bruno Haible  <bruno@clisp.org>
40596
40597         Add support for new flavours of ACLs on AIX. (Untested.)
40598         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
40599         (file_has_acl): Add support for newer AIX.
40600         * lib/set-mode-acl.c (qset_acl): Likewise.
40601         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
40602         Rainer Tammer <tammer@tammer.net>.
40603
40604 2009-09-26  Eric Blake  <ebb9@byu.net>
40605
40606         argp: fix compilation of getopt
40607         * lib/getopt.in.h (includes): Use different guard than glibc.
40608         Reported by Sergey Poznyakoff.
40609
40610         doc: mention more cygwin 1.7 status
40611         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
40612         bug.
40613         * doc/posix-functions/execl.texi (execl): Likewise.
40614         * doc/posix-functions/execle.texi (execle): Likewise.
40615         * doc/posix-functions/execlp.texi (execlp): Likewise.
40616         * doc/posix-functions/execv.texi (execv): Likewise.
40617         * doc/posix-functions/execve.texi (execve): Likewise.
40618         * doc/posix-functions/execvp.texi (execvp): Likewise.
40619         * doc/glibc-functions/canonicalize_file_name.texi
40620         (canonicalize_file_name): Cygwin 1.7 now provides this.
40621         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
40622         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
40623         on AT_SYMLINK_NOFOLLOW.
40624
40625 2009-09-24  Eric Blake  <ebb9@byu.net>
40626
40627         test-linkat: make test more robust
40628         * tests/test-linkat.c (main): Avoid collision with EEXIST.
40629
40630         getopt: fix inclusion guards for cygwin
40631         * modules/getopt-posix (Depends-on): Add include-next.
40632         (Makefile.am): Substitute more items in replacement header.
40633         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
40634         <getopt.h>.
40635         * lib/getopt.in.h (includes): Use split inclusion guard, and
40636         prefer <getopt.h> over include <unistd.h> when one is present.
40637         (option): Also override name of 'struct option'.
40638
40639         same-inode: revert prior change; it is not yet ready
40640         * NEWS: Undo mention of this change.
40641         * lib/same-inode.h (same-inode.h): Undo tri-state change.
40642         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40643         * lib/cycle-check.c (cycle_check): Likewise.
40644         * lib/same.c (same_name): Likewise.
40645         * lib/at-func2.c (at_func2): Likewise.
40646
40647 2009-09-23  Eric Blake  <ebb9@byu.net>
40648
40649         linkat: new module
40650         * modules/linkat: New file.
40651         * lib/at-func2.c (at_func2): Likewise.
40652         * lib/linkat.c (linkat): Likewise.
40653         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
40654         * lib/openat-priv.h (at_func2): Add declaration.
40655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40656         * modules/unistd (Makefile.am): Substitute them.
40657         * lib/unistd.in.h (linkat): Declare it.
40658         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40659         * doc/posix-functions/linkat.texi (linkat): Likewise.
40660         * doc/posix-functions/link.texi (link): Tweak wording.
40661         * tests/test-link.c (main): Move guts...
40662         * tests/test-link.h (test_link): ...into new file.
40663         * modules/linkat-tests: New test.
40664         * tests/test-linkat.c: Likewise.
40665         * modules/link-tests (Files): Ship new file.
40666         (Depends-on): Add stdbool.
40667
40668         dirname: add library-safe mdir_name
40669         * lib/dirname.h (mdir_name): New prototype.
40670         * lib/dirname.c (dir_name): Move guts...
40671         (mdir_name): ...to new function that avoids xalloc_die.
40672
40673         fchdir: another mingw fix
40674         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
40675         * lib/fchdir.c (get_name): New helper method; skips canonicalize
40676         on mingw (where it has not yet been ported), and make it optional
40677         elsewhere.
40678         (_gl_register_fd): Use it.
40679
40680         same-inode: make SAME_INODE tri-state, to port to mingw
40681         * NEWS: Mention this change.
40682         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
40683         st_ino always being 0.
40684         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40685         * lib/cycle-check.c (cycle_check): Likewise.
40686         * lib/same.c (same_name): Likewise.
40687
40688         lstat: avoid mingw compilation error
40689         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
40690         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
40691         lstat ourselves.
40692         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
40693         was adequate.
40694         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
40695         the checks for lstat.
40696         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
40697
40698         link: fix test failure on Solaris 9
40699         * lib/link.c (rpl_link): Don't assume link will catch bogus
40700         trailing slash on source.
40701
40702         test-symlinkat: enhance test
40703         * tests/test-readlink.c (main): Move guts...
40704         * tests/test-readlink.h (test_readlink): ...into new file.
40705         * tests/test-symlink.c (main): Move guts...
40706         * tests/test-symlink.h (test_symlink): ...into new file.
40707         * tests/test-symlinkat.c (main): Use new files for further
40708         coverage.
40709         (do_symlink, do_readlink): New helper functions.
40710         * modules/symlink-tests (Files): Ship new file.
40711         (Depends-on): Add stdbool.
40712         * modules/readlink-tests (Files): Ship new file.
40713         (Depends-on): Add stdbool.
40714         * modules/symlinkat-tests (Files): Use new files.
40715
40716 2009-09-23  Eric Blake  <ebb9@byu.net>
40717
40718         readlink: document portability issue with symlink length
40719         * doc/posix-functions/lstat.texi (lstat): Mention that some file
40720         systems have bogus st_size on symlinks, and mention the
40721         areadlink-with-size module.
40722         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40723         * doc/posix-functions/readlink.texi (readlink): Mention the
40724         areadlink module, and ERANGE failure.
40725         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40726         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
40727
40728         readlink: fix Solaris 9 bug with trailing slash
40729         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
40730         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
40731         * doc/posix-functions/readlink.texi (readlink): Document this.
40732         * modules/readlink-tests: New test.
40733         * tests/test-readlink.c: Likewise.
40734
40735         readlink: fix cygwin 1.5.x bug with return type
40736         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
40737         * lib/unistd.in.h (readlink): Use ssize_t.
40738         * lib/readlink.c (readlink): Likewise.
40739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40740         * modules/unistd (Makefile.am): Substitute it.
40741         * lib/unistd.in.h (readlink): Declare replacement.
40742         * doc/posix-functions/readlink.texi (readlink): Document this.
40743
40744         symlink: use throughout gnulib
40745         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
40746         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
40747         symlink is not used.
40748         * modules/symlinkat (Depends-on): Add symlink.
40749         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
40750         * modules/canonicalize-tests (Depends-on): Likewise.
40751         * modules/lstat-tests (Depends-on): Likewise.
40752         * modules/openat-tests (Depends-on): Likewise.
40753         * modules/remove-tests (Depends-on): Likewise.
40754         * modules/rmdir-tests (Depends-on): Likewise.
40755         * modules/unlink-tests (Depends-on): Likewise.
40756         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
40757         * tests/test-canonicalize.c (symlink): Likewise.
40758         * tests/test-fstatat.c (symlink): Likewise.
40759         * tests/test-lstat.c (symlink): Likewise.
40760         * tests/test-remove.c (symlink): Likewise.
40761         * tests/test-rmdir.c (symlink): Likewise.
40762         * tests/test-unlink.c (symlink): Likewise.
40763         * tests/test-unlinkat.c (symlink): Likewise.
40764
40765         symlink: new module, for Solaris 9 bug
40766         * modules/symlink: New file.
40767         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
40768         * lib/symlink.c: Likewise.
40769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40770         * modules/unistd (Makefile.am): Substitute them.
40771         * lib/unistd.in.h (symlink): Declare replacement.
40772         * MODULES.html.sh (File system functions): Mention it.
40773         * doc/posix-functions/symlink.texi (symlink): Likewise.
40774         * modules/symlink-tests: New test.
40775         * tests/test-symlink.c: Likewise.
40776
40777 2009-09-23  Bruno Haible  <bruno@clisp.org>
40778
40779         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
40780         when needed.
40781         Test case: gnulib-tool --import --with-tests atexit inttypes.
40782         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
40783
40784 2009-09-23  Bruno Haible  <bruno@clisp.org>
40785
40786         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
40787         subcommand, not in a subshell.
40788
40789 2009-09-22  Eric Blake  <ebb9@byu.net>
40790
40791         unistd: sort replacement declarations
40792         * lib/unistd.in.h: Sort declarations.
40793
40794         open, openat: minor optimization
40795         * lib/open.c (open): If open succeeded, len is non-zero.
40796         * lib/openat.c (rpl_openat): Likewise.
40797
40798         link-follow: ensure correct result
40799         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
40800         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
40801         distinguish between possible failures.
40802
40803 2009-09-21  Eric Blake  <ebb9@byu.net>
40804
40805         fts: avoid compiler warning
40806         * lib/fts.c (dirent_inode_sort_may_be_useful)
40807         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
40808
40809 2009-09-19  Bruno Haible  <bruno@clisp.org>
40810
40811         * lib/progreloc.c (canonicalize_file_name): New declaration.
40812
40813 2009-09-19  Eric Blake  <ebb9@byu.net>
40814
40815         link: fix quoting
40816         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
40817
40818         openat: fix openat bugs on Solaris 9
40819         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
40820         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
40821         * modules/openat (Depends-on): Add open.
40822         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
40823         * modules/fcntl-h (Makefile.am): Substitute it.
40824         * lib/fcntl.in.h (openat): Declare replacement.
40825         * doc/posix-functions/openat.texi (openat): Document this.
40826
40827         openat: move fstatat and unlinkat into correct files
40828         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
40829         compiled.
40830         * lib/openat.c (fstatat, unlinkat): Move...
40831         * lib/fstatat.c (fstatat): ...into correct files.
40832         * lib/unlinkat.c (unlinkat): Likewise.
40833
40834         openat: fix unlinkat bugs on Solaris 9
40835         * lib/unlinkat.c (unlinkat): New file.
40836         * modules/openat (Depends-on): Add unlink.
40837         (Files): Distribute it.
40838         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
40839         trailing slash behavior is broken.
40840         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40841         * modules/unistd (Makefile.am): Substitute it.
40842         * lib/unistd.in.h (unlinkat): Declare replacement.
40843         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
40844
40845         openat: fix fstatat bugs on Solaris 9
40846         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
40847         stat.
40848         * doc/posix-functions/fstatat.texi (fstatat): Document this.
40849
40850         test-unlinkat: enhance test, to expose Solaris 9 bug
40851         * tests/test-unlink.c (main): Factor guts...
40852         * tests/test-unlink.h (test_rmdir_func): ...into new file.
40853         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
40854         * tests/test-rmdir.c (main): Adjust caller.
40855         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
40856         (unlinker): New helper function.
40857         (rmdirat): Enhance check.
40858         * modules/rmdir-tests (Depends-on): Add stdbool.
40859         * modules/unlink-tests (Depends-on): Likewise.
40860         (Files): Add test-unlink.h.
40861         * modules/openat-tests (Files): Likewise.
40862         (Depends-on): Add unlinkdir.
40863
40864         test-fstatat: new test, to expose Solaris 9 bugs
40865         * tests/test-stat.c (main): Factor guts...
40866         * tests/test-stat.h (test_stat_func): ...into new file.
40867         * tests/test-lstat.c (main): Factor guts...
40868         * tests/test-lstat.h (test_lstat_func): ...into new file.
40869         * tests/test-fstatat.c: New file.
40870         * modules/stat-tests (Files): Add test-stat.h.
40871         * modules/lstat-tests (Files): Add test-lstat.h.
40872         (Depends-on): Add stdbool.
40873         * modules/openat-tests (Depends-on): Add pathmax.
40874         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
40875         (Makefile.am): Run new test.
40876
40877         remove: new module, for mingw and Solaris 9 bugs
40878         * modules/remove: New file.
40879         * lib/remove.c: Likewise.
40880         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
40881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40882         * modules/stdio (Makefile.am): Use them.
40883         * lib/stdio.in.h (remove): Declare replacement.
40884         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40885         * doc/posix-functions/remove.texi (remove): Likewise.
40886         * modules/remove-tests: New test.
40887         * tests/test-remove.c: Likewise.
40888
40889         unlink: new module, for Solaris 9 bug
40890         * modules/unlink: New file.
40891         * lib/unlink.c: Likewise.
40892         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
40893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40894         * modules/unistd (Makefile.am): Use them.
40895         * lib/unistd.in.h (stat): Declare replacement.
40896         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40897         * doc/posix-functions/unlink.texi (unlink): Likewise.
40898         * modules/unlink-tests: New test.
40899         * tests/test-unlink.c: Likewise.
40900
40901         lstat: fix Solaris 9 bug
40902         * lib/lstat.c (lstat): Also check for trailing slash on
40903         non-symlink, non-directories.  Use stat module to simplify logic.
40904         * doc/posix-functions/lstat.texi (lstat): Document it.
40905         * modules/lstat-tests (Depends-on): Add errno, same-inode.
40906         (configure.ac): Check for symlink.
40907         * tests/test-lstat.c (main): Add more tests.
40908
40909         stat: add as dependency to other modules
40910         * modules/chown (Depends-on): Add stat.
40911         * modules/euidaccess (Depends-on): Likewise.
40912         * modules/fchdir (Depends-on): Likewise.
40913         * modules/isdir (Depends-on): Likewise.
40914         * modules/link (Depends-on): Likewise.
40915         * modules/lstat (Depends-on): Likewise.
40916         * modules/mkdir-p (Depends-on): Likewise.
40917         * modules/modechange (Depends-on): Likewise.
40918         * modules/open (Depends-on): Likewise.
40919         * modules/readlink (Depends-on): Likewise.
40920         * modules/same (Depends-on): Likewise.
40921
40922         stat: fix Solaris 9 bug
40923         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
40924         slash.
40925         * lib/stat.c (rpl_stat): Work around it.
40926         * doc/posix-functions/stat.texi (stat): Update documentation.
40927
40928         stat: new module, for mingw bug
40929         * modules/stat: New file.
40930         * lib/stat.c: Likewise.
40931         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
40932         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40933         * modules/sys_stat (Makefile.am): Use them.
40934         * lib/sys_stat.in.h (stat): Declare replacement.
40935         * lib/openat.c (fstatat): Deal with lstat and stat being function
40936         macros.
40937         * modules/openat (Depends-on): Add inline.
40938         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40939         * doc/posix-functions/stat.texi (stat): Likewise.
40940         * modules/stat-tests: New test.
40941         * tests/test-stat.c: Likewise.
40942
40943 2009-09-19  Jim Meyering  <meyering@redhat.com>
40944
40945         syntax-check: detect unnecessary inclusion of canonicalize.h
40946         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
40947
40948 2009-09-19  Eric Blake  <ebb9@byu.net>
40949
40950         canonicalize-lgpl: adjust clients to use correct header
40951         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40952         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
40953         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
40954         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
40955         * lib/progreloc.c (includes): Likewise.
40956
40957 2009-09-19  Jim Meyering  <meyering@redhat.com>
40958
40959         test-posixtm.c: correct a comment
40960         * tests/test-posixtm.c: Correct first-line comment.
40961         Spotted by Eric Blake.
40962
40963 2009-09-16  Jim Meyering  <meyering@redhat.com>
40964
40965         posixtm-tests: make T const-correct; add a test case
40966         * tests/test-posixtm.c (T): Declare const.
40967         Add a test for -(2^31+1).
40968         Remove useless can-succeed-only-in-2002 test.
40969
40970         posixtm-tests: adjust the sole failing test
40971         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
40972         expected output matches what mktime now produces.  Cross-checked via
40973         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
40974
40975         posixtm: move #ifdef'd tests into a new module
40976         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
40977         * tests/test-posixtm.c: ... this new file.
40978         * modules/posixtm-tests: New module.
40979
40980 2009-09-19  Eric Blake  <ebb9@byu.net>
40981
40982         openat: simplify use of at-func.c
40983         * lib/at-func.c (includes): Include prerequisites here, to
40984         simplify requirements on client files.
40985         * lib/openat-priv.h: Add double-inclusion guard.
40986         * lib/faccessat.c (includes): Simplify.
40987         * lib/fchmodat.c (includes): Likewise.
40988         * lib/fchownat.c (includes): Likewise.
40989         * lib/mkdirat.c (includes): Likewise.
40990         * lib/mkfifoat.c (includes): Likewise.
40991         * lib/symlinkat.c (includes): Likewise.
40992
40993         openat: allow return of fd 0
40994         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
40995         * modules/save-cwd (Depends-on): Replace fcntl-safer with
40996         unistd-safer.
40997         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
40998         <fcntl.h>; this module does not leak fds.
40999         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
41000         must be allowed to return 0, leaving openat_safer to add the
41001         safety.
41002         (openat_permissive): Avoid writing to just-opened fd 2 if
41003         restoring the current directory fails.
41004         * lib/openat-die.c (openat_restore_fail): Add comment.
41005         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
41006         (save_cwd): Guarantee safe fd, but without use of open_safer.
41007         * tests/test-openat.c: New test.
41008         * modules/openat-tests (Files, Makefile.am): Distribute and build
41009         new file.
41010
41011         relocatable-prog-wrapper: fix build
41012         * modules/relocatable-prog-wrapper (Files): Update name of
41013         canonicalize m4 file, broken on 2009-09-17.
41014         Reported by emad hajjar <aleppos@hotmail.com>.
41015
41016 2009-09-19  Bruno Haible  <bruno@clisp.org>
41017
41018         * lib/safe-alloc.h: Use the standard header with GPL copyright.
41019         * lib/safe-alloc.c: Likewise.
41020         Reported by Ian Beckwith <ianb@erislabs.net>.
41021
41022 2009-09-18  Bruno Haible  <bruno@clisp.org>
41023
41024         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
41025         Reported by <erobles@sensacd.com.mx>.
41026
41027 2009-09-17  Eric Blake  <ebb9@byu.net>
41028
41029         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
41030         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
41031         slashes when checking if last component is missing.
41032         * tests/test-canonicalize.c (main): Test this.
41033
41034         canonicalize, canonicalize-lgpl: honor // if distinct from /
41035         * modules/canonicalize (Files): Add double-slash-root.m4.
41036         * modules/canonicalize-lgpl (Files): Likewise.
41037         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
41038         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
41039         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
41040         fallback definition.
41041         (canonicalize_filename_mode): Use it to protect //.
41042         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
41043         (__realpath): Likewise.
41044         * tests/test-canonicalize.c (main): Test this.
41045         * tests/test-canonicalize-lgpl.c (main): Likewise.
41046         * modules/canonicalize-tests (Depends-on): Add same-inode.
41047         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41048
41049         canonicalize-lgpl: fix glibc bug with trailing slash
41050         * m4/canonicalize-lgpl.m4: Move contents...
41051         * m4/canonicalize.m4: ...here.
41052         (gl_CANONICALIZE_LGPL): Factor realpath check...
41053         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
41054         glibc 2.3.5 bug, fixed 2005-04-27.
41055         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
41056         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
41057         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
41058         * modules/canonicalize-lgpl (Files): Manage file rename.
41059         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41060         * modules/stdlib (Makefile.am): Substitute witness.
41061         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
41062         is needed.
41063         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
41064         replacement is required.
41065         * lib/canonicalize.c (canonicalize_file_name): Likewise.
41066         * doc/glibc-functions/canonicalize_file_name.texi
41067         (canonicalize_file_name): Document this.
41068         * doc/posix-functions/realpath.texi (realpath): Likewise.
41069
41070         canonicalize-lgpl: reject non-directory with trailing slash
41071         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
41072         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
41073         catches failures in glibc 2.3.5.
41074         * tests/test-canonicalize.c (main): Likewise.
41075
41076         canonicalize-lgpl: use native realpath if it works
41077         * lib/canonicalize-lgpl.c (realpath): Guard with
41078         FUNC_REALPATH_WORKS.
41079         * lib/stdlib.in.h (realpath): Make declaration optional based on
41080         HAVE_REALPATH.
41081         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
41082         native realpath works.
41083         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41084         * modules/stdlib (Makefile.am): Substitute witness.
41085
41086         canonicalize, canonicalize-lgpl: use <stdlib.h>
41087         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
41088         (Include): Mention <stdlib.h>.
41089         (configure.ac): Mention functions we provide.
41090         * modules/canonicalize (configure.ac): Likewise.
41091         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
41092         realpath if canonicalize_file_name is missing.
41093         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
41094         * modules/stdlib (Makefile.am): Substitute witnesses.
41095         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
41096         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
41097         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
41098         * NEWS: Document this.
41099         * doc/glibc-functions/canonicalize_file_name.texi
41100         (canonicalize_file_name): Likewise.
41101         * doc/posix-functions/realpath.texi (realpath): Likewise.
41102         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
41103
41104         test-canonicalize: consolidate into single C program
41105         * tests/test-canonicalize.sh: Delete; move setup into...
41106         * tests/test-canonicalize.c (main): ...the program, making it
41107         easier to run in debugger.  Add some tests.
41108         * modules/canonicalize-tests (Files): Remove unused file.
41109         (Depends-on): Add progname.
41110         (configure.ac, Makefile.am): Simplify.
41111
41112         test-canonicalize-lgpl: consolidate into single C program
41113         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
41114         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
41115         easier to run in debugger.  Add some tests.
41116         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
41117         (configure.ac, Makefile.am): Simplify.
41118
41119         canonicalize: avoid resolvepath
41120         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
41121         unnecessary checks.
41122         * lib/canonicalize.c (includes): Simplify.
41123         (canonicalize_file_name): Drop resolvepath implementation.
41124         * modules/canonicalize (Depends-on): Drop filenamecat.
41125
41126         canonicalize: don't lose errno
41127         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
41128         over calls to free.
41129
41130         canonicalize: simplify errno handling
41131         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
41132         assignment.
41133
41134         canonicalize, canonicalize-lgpl: update module dependencies
41135         * modules/canonicalize (Depends-on): Add extensions, lstat,
41136         pathmax, stdlib.
41137         (Files): Drop pathmax.h.
41138         (configure.ac): Adjust macro name.
41139         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
41140         lstat, stdlib, sys_stat.
41141         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
41142         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
41143         extensions.
41144         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
41145         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
41146         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
41147         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
41148         declaration, if available.
41149         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
41150         we can rely on the readlink module.
41151         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
41152         (includes): Use <unistd.h> unconditionally.
41153
41154 2009-09-17  Eric Blake  <ebb9@byu.net>
41155
41156         maint: make Include sections of modules consistent
41157         * modules/alloca: Use only header name; no need to list #include.
41158         * modules/alloca-opt: Likewise.
41159         * modules/arpa_inet: Likewise.
41160         * modules/canon-host: Likewise.
41161         * modules/configmake: Likewise.
41162         * modules/dirent: Likewise.
41163         * modules/eealloc: Likewise.
41164         * modules/environ: Likewise.
41165         * modules/fchdir: Likewise.
41166         * modules/fcntl: Likewise.
41167         * modules/fcntl-h: Likewise.
41168         * modules/gethrxtime: Likewise.
41169         * modules/gettime: Likewise.
41170         * modules/ignore-value: Likewise.
41171         * modules/inet_ntop: Likewise.
41172         * modules/inet_pton: Likewise.
41173         * modules/inttypes: Likewise.
41174         * modules/isnand-nolibm: Likewise.
41175         * modules/isnanf-nolibm: Likewise.
41176         * modules/mbchar: Likewise.
41177         * modules/mbfile: Likewise.
41178         * modules/mbiter: Likewise.
41179         * modules/mbuiter: Likewise.
41180         * modules/netdb: Likewise.
41181         * modules/netinet_in: Likewise.
41182         * modules/nproc: Likewise.
41183         * modules/pagealign_alloc: Likewise.
41184         * modules/poll: Likewise.
41185         * modules/printf-frexp: Likewise.
41186         * modules/pthread: Likewise.
41187         * modules/putenv: Likewise.
41188         * modules/random_r: Likewise.
41189         * modules/relocatable-prog: Likewise.
41190         * modules/search: Likewise.
41191         * modules/select: Likewise.
41192         * modules/selinux-h: Likewise.
41193         * modules/settime: Likewise.
41194         * modules/signal: Likewise.
41195         * modules/size_max: Likewise.
41196         * modules/socklen: Likewise.
41197         * modules/ssize_t: Likewise.
41198         * modules/stdarg: Likewise.
41199         * modules/stdbool: Likewise.
41200         * modules/stddef: Likewise.
41201         * modules/stdint: Likewise.
41202         * modules/stdio: Likewise.
41203         * modules/stdlib: Likewise.
41204         * modules/string: Likewise.
41205         * modules/strings: Likewise.
41206         * modules/sys_file: Likewise.
41207         * modules/sys_ioctl: Likewise.
41208         * modules/sys_select: Likewise.
41209         * modules/sys_socket: Likewise.
41210         * modules/sys_stat: Likewise.
41211         * modules/sys_time: Likewise.
41212         * modules/sys_times: Likewise.
41213         * modules/sys_utsname: Likewise.
41214         * modules/sys_wait: Likewise.
41215         * modules/sysexits: Likewise.
41216         * modules/time: Likewise.
41217         * modules/times: Likewise.
41218         * modules/tmpfile: Likewise.
41219         * modules/trim: Likewise.
41220         * modules/unistd: Likewise.
41221         * modules/wchar: Likewise.
41222         * modules/wctype: Likewise.
41223
41224 2009-09-17  Bruno Haible  <bruno@clisp.org>
41225
41226         Make getdate.y compile on QNX and NetBSD 5 / i386.
41227         * m4/getdate.m4 (gl_GETDATE): Conditionally define
41228         TIME_T_FITS_IN_LONG_INT.
41229         * lib/getdate.y (long_time_t): New type.
41230         (relative_time): Change type of 'seconds' field to long_time_t.
41231         (get_date): Update types of local variables. Check against overflow
41232         during conversion from long_time_t to time_t.
41233         Reported by Matt Kraai <kraai@ftbfs.org>
41234         and Hasso Tepper <hasso@netbsd.org>.
41235
41236 2009-09-17  Bruno Haible  <bruno@clisp.org>
41237
41238         * modules/COPYING: Update copyright years.
41239         * modules/README: Likeiwse.
41240         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
41241         Reported by Ian Beckwith <ianb@erislabs.net>.
41242
41243 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41244
41245         * users.txt: Update references for gnuit package.
41246
41247 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41248
41249         * m4/getdelim.m4: Fix typo in copyright line.
41250
41251 2009-09-17  Bruno Haible  <bruno@clisp.org>
41252
41253         * lib/atoll.c: Use the standard header with GPL copyright.
41254         * lib/argz.in.h: Likewise.
41255         * lib/glob.c: Likewise.
41256         * lib/glob-libc.h: Likewise.
41257         * lib/random_r.c: Likewise.
41258         * lib/siglist.h: Likewise.
41259         * lib/strsignal.c: Likewise.
41260         Reported by Ian Beckwith <ianb@erislabs.net>.
41261
41262 2009-09-17  Eric Blake  <ebb9@byu.net>
41263
41264         rmdir: ensure correct dependency order
41265         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
41266
41267 2009-09-17  Bruno Haible  <bruno@clisp.org>
41268
41269         Disable assertion that fails on NetBSD 5 / i386.
41270         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
41271         Reported by Sam Steingold <sds@gnu.org>
41272         and Hasso Tepper <hasso@netbsd.org>.
41273
41274 2009-09-16  Eric Blake  <ebb9@byu.net>
41275
41276         unlinkdir: port to mingw
41277         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
41278         on which no one can unlink a directory.
41279
41280         stdlib: sort witness names
41281         * modules/stdlib (Makefile.am): Sort replacements.
41282         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
41283         * lib/stdlib.in.h: Likewise.
41284
41285         parse-duration-tests: avoid link failure
41286         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
41287         LIBINTL.
41288         Reported by Tom G. Christensen.
41289
41290         openat-tests: ensure unlinkat behaves like rmdir
41291         * tests/test-rmdir.c (main): Factor guts...
41292         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
41293         * modules/rmdir-tests (Files): Ship new file.
41294         * modules/openat-tests: New test.
41295         * tests/test-unlinkat.c: Likewise.
41296
41297         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
41298         * modules/rmdir-errno (Status, Notice): Now obsolete.
41299
41300         rmdir: work around cygwin 1.5.x and mingw bugs
41301         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
41302         * lib/rmdir.c (rmdir): Work around it.
41303         * modules/rmdir (Status, Notice): No longer obsolete.
41304         (Files): Add dos.m4.
41305         (Depends-on): Add unistd.
41306         (configure.ac): Set witnesses.
41307         (License): Relax to LGPLv2+.
41308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
41309         * modules/unistd (Makefile.am): Substitute witnesses.
41310         * lib/unistd.in.h (rmdir): Declare replacement.
41311         * doc/posix-functions/rmdir.texi (rmdir): Document this.
41312         * modules/rmdir-tests: New tests.
41313         * tests/test-rmdir.c: Likewise.
41314
41315 2009-09-15  Eric Blake  <ebb9@byu.net>
41316
41317         fchdir: improve use of replacement functions
41318         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
41319         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
41320         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
41321         REPLACE_CLOSEDIR.
41322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
41323         * modules/sys_stat (Makefile.am): Substitute correct witness.
41324         * modules/dirent (Makefile.am): Likewise.
41325         * modules/unistd (Makefile.am): Likewise.
41326         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
41327         * lib/unistd.in.h (dup): Likewise.
41328         * lib/sys_stat.in.h (fstat): Likewise.
41329
41330         maint: ignore gnulib-tool temp files
41331         * .gitignore: Ignore files created during gnulib-tool --test.
41332
41333 2009-09-13  Jim Meyering  <meyering@redhat.com>
41334
41335         posixtm: don't reject a time that specify "60" as the number of seconds
41336         * lib/posixtm.c (posixtime): The code to reject invalid dates
41337         would also reject a time specified with the .60 suffix.
41338         But POSIX allows that, in order to accommodate leap seconds.
41339         So don't reject it.
41340         (main): Adjust tests accordingly.
41341         * modules/posixtm (Depends-on): Add stpcpy.
41342
41343 2009-09-11  Jim Meyering  <meyering@redhat.com>
41344
41345         announce-gen: include [$release_type] in emitted Subject:
41346         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
41347         e.g., [stable] in the emitted Subject: line.
41348
41349 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41350
41351         Remove obsolete macros from several modules.
41352         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
41353         obsolete Autoconf macros with their modern counterparts.
41354         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
41355         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
41356         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
41357         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
41358         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
41359         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
41360         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41361         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41362         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
41363         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
41364         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
41365         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
41366         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
41367         * m4/sockets.m4 (gl_SOCKETS): Likewise.
41368         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
41369         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
41370         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
41371         * m4/time_r.m4 (gl_TIME_R): Likewise.
41372         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
41373         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
41374         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41375
41376         Fix copyright header in build-aux scripts.
41377         * build-aux/git-version-gen: Fix copyright header to match GPLv3
41378         recommendation.
41379         * build-aux/ncftpput-ftp: Likewise.
41380         * build-aux/update-copyright: Likewise.
41381
41382 2009-09-09  Eric Blake  <ebb9@byu.net>
41383
41384         test-link: allow Linux choice of errno
41385         * tests/test-link.c (main): Relax test for alternate error.
41386
41387         strndup: fix improper m4 caching
41388         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
41389         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
41390         (gl_PREREQ_STRNDUP): Delete.
41391         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
41392         * modules/string (Makefile.am): Substitute it.
41393         * lib/string.in.h (strndup): Modernize prototype.
41394
41395         getcwd: port to mingw
41396         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
41397         different from the POSIX assumptions made throughout the getcwd
41398         module; fortunately, the mingw getcwd does not need replacement.
41399         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
41400         * modules/getcwd-tests: New test.
41401         * tests/test-getcwd.c: Likewise.
41402
41403         link: fix platform bugs
41404         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
41405         * lib/link.c (link): Work around them.  Fix related mingw bug.
41406         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
41407         * modules/unistd (Makefile.am): Substitute it.
41408         * lib/unistd.in.h (link): Declare replacement.
41409         * doc/posix-functions/link.texi (link): Document this.
41410         * modules/link (Depends-on): Add strdup-posix, sys_stat.
41411
41412         test-link: consolidate into single C program, test more cases
41413         * tests/test-link.sh: Delete.
41414         * tests/test-link.c: Test more error conditions.  Exposes bugs on
41415         at least Cygwin and Solaris.
41416         * modules/link-tests (Files): Remove unused file.
41417         (Depends-on): Add errno, sys_stat.
41418         (Makefile.am): Simplify.
41419
41420 2009-09-08  Bruno Haible  <bruno@clisp.org>
41421
41422         Work around towlower, towupper bug on mingw.
41423         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
41424         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
41425         * doc/posix-functions/towlower.texi: Mention the mingw bug.
41426         * doc/posix-functions/towupper.texi: Likewise.
41427         Reported by Eric Blake.
41428
41429 2009-09-08  Jim Meyering  <meyering@redhat.com>
41430
41431         build: don't try to run autoheader if we don't use it
41432         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
41433         is not used in configure.ac.
41434
41435 2009-09-08  Eric Blake  <ebb9@byu.net>
41436
41437         euidaccess: fix compilation error
41438         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
41439
41440         rawmemchr: relax license
41441         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
41442         okay.
41443         Reported by Jim Meyering.
41444
41445         mkfifoat: new module
41446         * modules/mkfifoat: New file.
41447         * lib/mkfifoat.c: Likewise.
41448         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
41449         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41450         * modules/sys_stat (Makefile.am): Use them.
41451         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
41452         * MODULES.html.sh (File system functions): Mention module.
41453         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41454         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41455         * modules/mkfifoat-tests: New test.
41456         * tests/test-mkfifoat.c: Likewise.
41457
41458         strchrnul: relax license
41459         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
41460         okay.
41461         Reported by Jim Meyering.
41462
41463 2009-09-08  Eric Blake  <ebb9@byu.net>
41464
41465         fstatat: fix compilation on Solaris
41466         * lib/fstatat.c (includes): Add fcntl.h.
41467         Reported by Pádraig Brady.
41468
41469 2009-09-07  Eric Blake  <ebb9@byu.net>
41470
41471         rename: modernize replacement
41472         * modules/rename (Depends-on): Add stdio.
41473         (configure.ac): Declare witness.
41474         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
41475         stdio take care of replacement.
41476         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
41477         * modules/stdio (Makefile.am): Substitute them.
41478         * lib/stdio.in.h (rename): Declare replacement.
41479         * lib/rename.c (includes): Allow cross-compilation to non-windows
41480         machines.
41481         * doc/posix-functions/rename.texi (rename): Improve
41482         documentation.
41483
41484         stdio: sort witness names
41485         * modules/stdio (Makefile.am): Sort replacements.
41486         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41487         * lib/stdio.in.h: Likewise.
41488
41489         getcwd: minor cleanups
41490         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
41491         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
41492
41493         openat: provide more convenience names
41494         * modules/faccessat (configure.ac): Add C witness.
41495         * lib/unistd.in.h (readlinkat): Fix typo.
41496         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
41497         convenience wrappers.
41498         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
41499         wrappers in syntax checks.
41500
41501 2009-09-06  Eric Blake  <ebb9@byu.net>
41502
41503         doc: fix comments in recent patches
41504         * lib/faccessat.c: Mention correct function.
41505         * lib/fchmodat.c: Likewise.
41506         * lib/fchownat.c: Likewise.
41507         * lib/symlinkat.c: Likewise.
41508         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
41509         constants.
41510
41511         faccessat, symlinkat: continue cleanup of previous patch
41512         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
41513         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
41514         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
41515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
41516         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
41517         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
41518         set.
41519
41520 2009-09-06  Bruno Haible  <bruno@clisp.org>
41521
41522         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
41523         (fstatat): Declare if GNULIB_FSTATAT is set.
41524         (mkdirat): Declare if GNULIB_MKDIRAT is set.
41525         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
41526         (unlinkat): Declare if GNULIB_UNLINKAT is set.
41527         * modules/fcntl-h (Files): Remove m4/openat.m4.
41528         * modules/sys_stat (Files): Remove m4/openat.m4.
41529         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
41530         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
41531         * modules/unistd (Files): Remove m4/openat.m4.
41532         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
41533         GNULIB_OPENAT.
41534         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
41535         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
41536         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
41537         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
41538         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
41539         gl_OPENAT_DEFAULTS.
41540         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
41541         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
41542         Don't require gl_OPENAT_DEFAULTS.
41543         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
41544         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
41545         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
41546         (gl_OPENAT_DEFAULTS): Remove macro.
41547
41548 2009-09-06  Bruno Haible  <bruno@clisp.org>
41549
41550         * modules/openat (configure.ac): Remove unneeded witness.
41551
41552 2009-09-06  Bruno Haible  <bruno@clisp.org>
41553
41554         Set errno to ENOSYS when a function is entirely unsupported.
41555         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
41556         EOPNOTSUPP.
41557         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41558         * modules/chown (Depends-on): Remove errno.
41559
41560 2009-09-06  Bruno Haible  <bruno@clisp.org>
41561
41562         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
41563
41564 2009-09-06  Bruno Haible  <bruno@clisp.org>
41565
41566         * lib/sys_stat.in.h: Fix preprocessor command indentation.
41567
41568 2009-09-06  Ben Pfaff  <blp@gnu.org>
41569             Bruno Haible  <bruno@clisp.org>
41570
41571         Work around a glibc bug in strtok_r.
41572         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
41573         Undefine if UNDEFINE_STRTOK_R is set.
41574         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
41575         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41576         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
41577         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
41578         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
41579         UNDEFINE_STRTOK_R.
41580         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
41581
41582 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
41583
41584         exclude: minor fix
41585         * lib/exclude.c: Include wctype.h
41586
41587 2009-09-06  Akim Demaille  <demaille@gostai.com>
41588
41589         bootstrap: improve error message
41590         * build-aux/bootstrap (find_tool): Upon failure, report the list
41591         of candidates.
41592         Honor the initial value of the envvar.
41593
41594 2009-09-05  Eric Blake  <ebb9@byu.net>
41595
41596         symlinkat: new module
41597         * modules/symlinkat: New file.
41598         * lib/symlinkat.c: Likewise.
41599         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
41600         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41601         * modules/unistd (Makefile.am): Use them.
41602         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
41603         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
41604         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
41605         * MODULES.html.sh (File system functions): Mention module.
41606         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41607         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41608         * modules/symlinkat-tests: New test.
41609         * tests/test-symlinkat.c: Likewise.
41610
41611         test-openat-safer: add more checks
41612         * tests/test-openat-safer.c (main): Check more code paths.
41613
41614 2009-09-05  Jim Meyering  <meyering@redhat.com>
41615
41616         syntax-check: detect unnecessary inclusion of openat.h
41617         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
41618
41619 2009-09-05  Bruno Haible  <bruno@clisp.org>
41620
41621         Support towlower, towupper.
41622         * doc/posix-functions/towlower.texi: Mention module wctype.
41623         * doc/posix-functions/towupper.texi: Likewise.
41624         * lib/wctype.in.h (towlower, towupper): New functions.
41625         * tests/test-wctype.c: Include stdio.h, stdlib.h.
41626         (ASSERT): New macro.
41627         (e): New variable.
41628         (main): Test also towlower, towupper. Test WEOF argument.
41629         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41630
41631 2009-09-05  Bruno Haible  <bruno@clisp.org>
41632
41633         Fix conversion behaviour when the input is invalid.
41634         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
41635         mark occurring in first pass of indirect conversion.
41636         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
41637         input.
41638         Found by clang's static analyzer.
41639
41640 2009-09-05  Bruno Haible  <bruno@clisp.org>
41641
41642         * tests/test-striconveh.c (main): Test indirect conversion on platforms
41643         where direct conversion is possible.
41644
41645 2009-09-04  Eric Blake  <ebb9@byu.net>
41646
41647         openat: fail with ENOENT on empty name
41648         * lib/openat-proc.c (openat_proc_name): Special-case the empty
41649         buffer.
41650
41651         link-follow: fix logic bug in prior patch
41652         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
41653         reversed sense of yes and no in prior patch.  Avoid confusing
41654         compilation failure with desired semantics.
41655
41656         link-follow: accomodate mingw and cross-compilation
41657         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
41658         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
41659         cross-compilation results to -1, to make linkat easier to
41660         implement when cross-compiling.  Trivially support mingw.
41661         * modules/link-follow (configure.ac): Call new name.
41662         * NEWS: Mention this.
41663
41664 2009-09-03  Eric Blake  <ebb9@byu.net>
41665
41666         faccessat: compile replacement
41667         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
41668         needed.
41669
41670         fts: fix compilation error
41671         * lib/fts.c (includes): Re-add "openat.h", for
41672         openat_needs_fchdir.
41673
41674         faccessat: new module
41675         * modules/faccessat: New file.
41676         * lib/faccessat.c: Likewise.
41677         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
41678         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41679         * modules/unistd (Makefile.am): Use it.
41680         * lib/unistd.in.h (faccessat): Declare it.
41681         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
41682         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
41683         * MODULES.html.sh (File system functions): Mention it.
41684         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
41685         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41686
41687         euidaccess: prefer POSIX over non-standard implementation
41688         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
41689         * lib/euidaccess.c (euidaccess): Use it if available.
41690
41691         openat: make template easier to use
41692         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
41693         AT_FUNC_F2 to be undefined.
41694         (VALIDATE_FLAG): New macro; use it to reject bad flags.
41695         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
41696         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
41697         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
41698         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
41699         Likewise.
41700         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
41701         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
41702         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
41703         Likewise.
41704
41705         openat: declare in POSIX headers
41706         * NEWS: Mention this.
41707         * modules/openat (configure.ac): Declare witnesses.
41708         (Depends-on): Add fcntl-h, sys_stat, unistd.
41709         (Include): Mention correct headers.
41710         * modules/fcntl-h (Depends-on): Add link-warning.
41711         (Files): Add openat.m4.
41712         (Makefile.am): Substitute witnesses.
41713         * modules/sys_stat (Files, Makefile.am): Likewise.
41714         * modules/unistd (Files, Makefile.am): Likewise.
41715         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
41716         (gl_OPENAT_DEFAULTS): New macro.
41717         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
41718         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
41719         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
41720         (SYS_STAT_H): Remove unused variable.
41721         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
41722         * lib/fcntl--.h (includes): Remove unneeded header.
41723         * lib/openat-safer.c (includes): Likewise.
41724         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
41725         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
41726         appropriate headers.
41727         (__OPENAT_PREFIX): Delete.
41728         * lib/fcntl.in.h (openat): Provide declaration.
41729         (AT_FDCWD): Fix Solaris bug.
41730         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
41731         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
41732         * lib/fchmodat.c (includes):  Adjust to find declaration.
41733         * lib/fchownat.c (includes): Likewise.
41734         * lib/mkdirat.c (includes): Likewise.
41735         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
41736         still visible.
41737
41738 2009-09-02  Eric Blake  <ebb9@byu.net>
41739
41740         errno: use consistently
41741         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
41742         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
41743         * lib/canonicalize.c (ELOOP): Likewise.
41744         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
41745         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
41746         * lib/lchown.c (EOPNOTSUPP): Likewise.
41747         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
41748         * lib/savewd.c (ESTALE): Likewise.
41749         * lib/settime.c (ENOSYS): Likewise.
41750         * lib/utimens.c (ENOSYS): Likewise.
41751         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
41752         * lib/chdir-safer.c (ELOOP): Likewise.
41753         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
41754         * modules/c-stack (Depends-on): Add errno.
41755         * modules/canonicalize (Depends-on): Likewise.
41756         * modules/chdir-safer (Depends-on): Likewise.
41757         * modules/fdopendir (Depends-on): Likewise.
41758         * modules/inet_ntop (Depends-on): Likewise.
41759         * modules/inet_pton (Depends-on): Likewise.
41760         * modules/lchown (Depends-on): Likewise.
41761         * modules/openat (Depends-on): Likewise.
41762         * modules/savewd (Depends-on): Likewise.
41763         * modules/settime (Depends-on): Likewise.
41764         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
41765
41766         fts: avoid leaking fds
41767         * modules/fts (Depends-on): Add cloexec.
41768         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
41769         flag.
41770
41771         fts: make directory fds more robust
41772         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
41773         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
41774
41775         backupfile, chdir-long, fts, savedir: make safer
41776         * lib/backupfile.c (includes): Use "dirent--.h", since
41777         numbered_backup can write to stderr during readdir.
41778         * lib/savedir.c (includes): Likewise.
41779         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
41780         emulation can write to stderr on failure.
41781         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
41782         * lib/getcwd.c: Document why opendir_safer is unused.
41783         * lib/glob.c: Likewise.
41784         * lib/scandir.c: Likewise.
41785         * lib/openat-proc.c: Likewise, for open_safer.
41786         * modules/backupfile (Depends-on): Add dirent-safer.
41787         * modules/savedir (Depends-on): Likewise.
41788         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
41789         * modules/chdir-long (Depends-on): Add openat-safer.
41790
41791         openat-safer: new module
41792         * modules/openat-safer: New file.
41793         * lib/openat-safer.c: Likewise.
41794         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
41795         * lib/fcntl-safer.h (openat_safer): Declare.
41796         * lib/fcntl--.h (openat): Override.
41797         * MODULES.html.sh (File descriptor based I/O): Mention it.
41798         * lib/openat.h: Add double-inclusion guards.
41799         * lib/openat.c (includes): Only include "fcntl-safer.h", not
41800         "fcntl--.h", so we can implement openat.
41801         * modules/openat-safer-tests: New test.
41802         * tests/test-openat-safer.c: New file.
41803
41804         dirent-safer: new module
41805         * modules/dirent-safer: New file.
41806         * lib/dirent--.h: Likewise.
41807         * lib/dirent-safer.h: Likewise.
41808         * lib/opendir-safer.c: Likewise.
41809         * m4/dirent-safer.m4: Likewise.
41810         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
41811         * modules/dirent-safer-tests: New test.
41812         * tests/test-dirent-safer.c: New file.
41813         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
41814
41815         fdopendir: optimize on mingw
41816         * lib/unistd.in.h (_gl_directory_name): New prototype.
41817         * lib/fchdir.c (_gl_directory_name): Implement it.
41818         (fchdir): Use it to simplify implementation.
41819         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
41820         fchdir, when available, to avoid calling [f]chdir().
41821
41822         fdopendir: split into its own module
41823         * lib/openat.c (fdopendir): Move...
41824         * lib/fdopendir.c: ...into new file.
41825         * modules/fdopendir: New module.
41826         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
41827         * modules/openat (Depends-on): Add fdopendir.
41828         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
41829         fdopendir here.
41830         * modules/savedir (Depends-on): Only need fdopendir, not full
41831         openat.
41832         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
41833         * lib/openat.h (fdopendir): Drop prototype.
41834         * lib/dirent.in.h (fdopendir): Provide prototype.
41835         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
41836         * modules/dirent (Makefile.am): Substitute them.
41837         * MODULES.html.sh (File system functions): Mention it.
41838         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
41839         * modules/fdopendir-tests: New file.
41840         * tests/test-fdopendir.c: Likewise.
41841
41842         fchdir: use more consistent macro convention
41843         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
41844         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
41845         REPLACE_FCHDIR, rather than relying on config.h macros.
41846         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
41847         inside a single make-time REPLACE_FCHDIR block, rather than using
41848         the config.h FCHDIR_REPLACEMENT.
41849         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
41850         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
41851         Manage fstat replacement.
41852         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
41853         REPLACE_FCHDIR.
41854         * modules/sys_stat (Files): Add m4/unistd_h.m4.
41855         (Makefile.am): Substitute REPLACE_FCHDIR.
41856         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
41857         FCHDIR_REPLACEMENT.
41858         * lib/dup-safer.c (dup_safer): Likewise.
41859         * lib/dup2.c (rpl_dup2): Likewise.
41860         * lib/dup3.c (rpl_dup3): Likewise.
41861         * lib/open.c (rpl_open): Likewise.
41862
41863         fchdir: simplify error handling, and support dup3
41864         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
41865         stdbool, malloc-posix, realloc-posix.
41866         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
41867         (ensure_dirs_slot): Return false on allocation failure.
41868         (rpl_dup2): Delete.
41869         (_gl_register_dup): New function.
41870         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
41871         (_gl_register_fd): Close fd on allocation failure.
41872         * lib/fcntl.in.h (_gl_register_fd): Update signature.
41873         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
41874         prototype.
41875         (rpl_dup2_fchdir): Delete prototype.
41876         * lib/open.c (open): Update caller.
41877         * lib/dup2.c (dup2): Track fchdir metadata.
41878         * lib/dup3.c (dup3): Likewise.
41879         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
41880         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
41881
41882 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41883
41884         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
41885         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
41886         don't pass arguments to AC_OUTPUT.
41887
41888 2009-09-02  Bruno Haible  <bruno@clisp.org>
41889
41890         * modules/mkdtemp (License): Relicense under LGPLv2+.
41891         Reported by Paolo Bonzini.
41892
41893 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41894
41895         Replace uses of obsolete autoconf macros in Jim's modules.
41896         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
41897         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
41898         can evoke a warning from autoconf when run with -Wobsolete
41899         enabled.  They were declared obsolete for good reasons (see
41900         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
41901         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
41902         should not continue using the deprecated macros.
41903         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
41904         obsolete Autoconf macros with modern counterparts.
41905         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
41906         * m4/dos.m4 (gl_AC_DOS): Likewise.
41907         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
41908         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
41909         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
41910         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
41911         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
41912         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
41913         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
41914         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
41915         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
41916         Likewise.
41917         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
41918         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
41919         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
41920         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
41921         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
41922         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
41923
41924 2009-09-01  Eric Blake  <ebb9@byu.net>
41925
41926         fchdir: fix off-by-one bug in previous patch
41927         * lib/fchdir.c (rpl_fstat): Use correct bounds.
41928         (_gl_unregister_fd): Delete useless if.
41929
41930 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
41931
41932         maint.mk: sort the list of syntax-check rules
41933         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
41934         easier to get a sense of progress when the rules are run sequentially
41935         and take a long time.
41936
41937 2009-09-01  Simon Josefsson  <simon@josefsson.org>
41938
41939         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
41940         * modules/netinet_in: Likewise.
41941         * modules/sys_file: Likewise.
41942         * modules/sys_ioctl: Likewise.
41943         * modules/sys_select: Likewise.
41944         * modules/sys_socket: Likewise.
41945         * modules/sys_stat: Likewise.
41946         * modules/sys_time: Likewise.
41947         * modules/sys_times: Likewise.
41948         * modules/sys_utsname: Likewise.
41949         * modules/sys_wait: Likewise.
41950
41951 2009-09-01  Jim Meyering  <meyering@redhat.com>
41952
41953         fts: help ensure that return values are not ignored
41954         * lib/fts_.h (__GNUC_PREREQ): Define.
41955         (__attribute_warn_unused_result__): Define.
41956         (fts_children, fts_close, fts_open, fts_read): Declare with
41957         __attribute_warn_unused_result__.
41958
41959         fts: fts_close now fails also when closing a dir file descriptor fails
41960         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
41961         and propagate to caller, along with errno.
41962
41963         announce-gen: correct formatting in --help output
41964         * build-aux/announce-gen (usage): Move the one-line description in
41965         --help output "up", to where it belongs, just after Usage:.
41966
41967 2009-08-31  Eric Blake  <ebb9@byu.net>
41968
41969         fchdir: port to mingw
41970         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
41971         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
41972         opened, then use a substitute.
41973         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
41974         replacement.
41975         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
41976         (_gl_register_fd): No need to check stat if open already filters
41977         all directories.
41978         (fchdir): Fix error condition to match POSIX.
41979         * modules/fchdir (Depends-on): Add sys_stat.
41980         * doc/posix-functions/open.texi (open): Document the limitation.
41981         * modules/fchdir-tests: New file.
41982         * tests/test-fchdir.c: Likewise.
41983
41984         canonicalize: allow cross-testing from cygwin to mingw
41985         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
41986         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
41987         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
41988         Likewise.
41989         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
41990         target does not support symlinks.
41991         * tests/test-canonicalize-lgpl.sh: Likewise.
41992
41993         chown: avoid compilation warning on mingw
41994         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
41995         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
41996         mingw.
41997         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41998         * modules/chown (Depends-on): Add errno.
41999
42000 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
42001
42002         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
42003         command.
42004
42005 2009-08-31  Jim Meyering  <meyering@redhat.com>
42006
42007         canonicalize: remove useless initialization
42008         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
42009         initialization of local, "end".
42010
42011 2009-08-30  Bruno Haible  <bruno@clisp.org>
42012
42013         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
42014         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
42015         ENOSYS.
42016
42017 2009-08-30  Bruno Haible  <bruno@clisp.org>
42018
42019         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
42020         /usr/xpg4/bin/tr when it exists.
42021         * tests/test-pipe-filter-gi1.sh: Likewise.
42022
42023 2009-08-30  Bruno Haible  <bruno@clisp.org>
42024
42025         Work around deficient /usr/bin/id program on Solaris.
42026         * tests/test-file-has-acl.sh (ID): New variable.
42027         * tests/test-set-mode-acl.sh (ID): Likewise.
42028         * tests/test-copy-acl.sh (ID): Likewise.
42029         * tests/test-copy-file.sh (ID): Likewise.
42030
42031 2009-08-30  Bruno Haible  <bruno@clisp.org>
42032
42033         New module 'xstriconveh'.
42034         * lib/xstriconveh.h: New file.
42035         * lib/xstriconveh.c: New file.
42036         * modules/xstriconveh: New file.
42037
42038 2009-08-30  Bruno Haible  <bruno@clisp.org>
42039
42040         Make it easier to use mem_cd_iconveh.
42041         * lib/striconveh.h (iconveh_t): New type.
42042         (iconveh_open, iconveh_close): New declarations.
42043         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42044         with a single 'const iconveh_t *' argument.
42045         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
42046         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42047         with a single 'const iconveh_t *' argument.
42048         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
42049         * tests/test-striconveh.c (main): Update.
42050         * NEWS: Mention the change.
42051
42052 2009-08-30  Bruno Haible  <bruno@clisp.org>
42053
42054         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
42055         problem.
42056
42057 2009-08-30  Bruno Haible  <bruno@clisp.org>
42058
42059         Work around iconv_open problem on Solaris.
42060         * lib/iconv_open-solaris.gperf: New file.
42061         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
42062         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
42063         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
42064         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
42065         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
42066         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
42067
42068 2009-08-29  Jim Meyering  <meyering@redhat.com>
42069
42070         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
42071         * top/maint.mk (cvs-check): Remove target; it was just an alias
42072         to the better-named vc-diff-check.
42073         (maintainer-distcheck): Remove rule.  It was used only from
42074         the (alpha/beta/major) target, and all of its commands but one
42075         were coreutils-specific.
42076         (vc-dist): Remove rule.
42077         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
42078         Run vc-diff-check, not vc-dist.
42079         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
42080
42081 2009-08-27  Bruno Haible  <bruno@clisp.org>
42082
42083         * tests/test-bitrotate.c (main): Remove test that uses a shift count
42084         of 0.
42085
42086 2009-08-27  Bruno Haible  <bruno@clisp.org>
42087
42088         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
42089         compilers.
42090         * doc/func.texi: Document the SunPRO C bug.
42091
42092 2009-08-27  Bruno Haible  <bruno@clisp.org>
42093
42094         Fix link error on Solaris.
42095         * tests/test-parse-duration.c (xstrdup): Remove function.
42096
42097 2009-08-26  Pádraig Brady  <P@draigbrady.com>
42098
42099         ignore-value: handle pointer types, too
42100         * lib/ignore-value.h (__attribute__): Remove definition.
42101         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
42102         of a more concise and more-often effective "(void) i" statement.
42103         (ignore_ptr): New function to suppress warnings from functions that
42104         return pointers, and to make it explicit that one function doesn't
42105         handle all cases.
42106
42107 2009-08-25  Bruno Haible  <bruno@clisp.org>
42108
42109         dup2: work around a Linux bug.
42110         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
42111         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
42112         * doc/posix-functions/dup2.texi: Mention the Linux bug.
42113         Reported by Simon Josefsson.
42114
42115 2009-08-25  Jim Meyering  <meyering@redhat.com>
42116
42117         libguestfs uses gnulib
42118         * users.txt: Add libguestfs.
42119
42120 2009-08-24  Eric Blake  <ebb9@byu.net>
42121
42122         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
42123         * lib/pipe2.c (includes): Add binary-io.h.
42124         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
42125
42126 2009-08-24  Bruno Haible  <bruno@clisp.org>
42127
42128         Tolerate declared but missing accept4 syscall.
42129         * lib/accept4.c (accept4): Invoke original accept4 function first, if
42130         available.
42131         * lib/sys_socket.in.h (accept4): If the function is already present,
42132         override it.
42133         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
42134         * modules/accept4 (Makefile.am): Compile accept4.c always.
42135         Reported by Paolo Bonzini and Eric Blake.
42136
42137 2009-08-23  Bruno Haible  <bruno@clisp.org>
42138
42139         New module 'accept4'.
42140         * lib/sys_socket.in.h (accept4): New declaration.
42141         * lib/accept4.c: New file.
42142         * m4/accept4.m4: New file.
42143         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
42144         GNULIB_ACCEPT4, HAVE_ACCEPT4.
42145         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
42146         HAVE_ACCEPT4.
42147         * modules/accept4: New file.
42148         * doc/glibc-functions/accept4.texi: Mention the new module.
42149
42150 2009-08-24  Jim Meyering  <meyering@redhat.com>
42151
42152         progname: also set global program_invocation_name, when possible
42153         Before this change, a libtool-enabled program that calls glibc's
42154         error function would report the program name as
42155         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
42156         * modules/progname (configure.ac): Check for a declaration of
42157         program_invocation_name.
42158         * lib/progname.c:  Include <errno.h>.
42159         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
42160         Set program_invocation_name.
42161
42162 2009-08-23  Bruno Haible  <bruno@clisp.org>
42163
42164         * lib/dup3.c: Include <string.h>.
42165
42166 2009-08-23  Bruno Haible  <bruno@clisp.org>
42167
42168         * lib/dup3.c (dup3): Test only once whether the system actually exists.
42169         * lib/pipe2.c (pipe2): Likewise.
42170         Suggested by Eric Blake.
42171
42172 2009-08-23  Bruno Haible  <bruno@clisp.org>
42173
42174         Tolerate declared but missing dup3 syscall.
42175         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
42176         * lib/unistd.in.h (dup3): If the function is already present,
42177         override it.
42178         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
42179         * modules/dup3 (Makefile.am): Compile dup3.c always.
42180         Reported by Paolo Bonzini.
42181
42182 2009-08-23  Bruno Haible  <bruno@clisp.org>
42183
42184         Tolerate declared but missing pipe2 syscall.
42185         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
42186         available.
42187         * lib/unistd.in.h (pipe2): If the function is already present,
42188         override it.
42189         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
42190         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
42191         Reported by Paolo Bonzini.
42192
42193 2009-08-23  Bruno Haible  <bruno@clisp.org>
42194
42195         * lib/pipe2.c (pipe2): Move #ifs inside function.
42196
42197 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42198
42199         quotearg: document limitations of quote_these_too
42200         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
42201         those limitations are created.
42202         * lib/quotearg.h (set_char_quoting): Document that digits and
42203         letters that are special after backslash are not permitted.
42204         (quotearg_char): Cross-reference set_char_quoting documentation.
42205
42206 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
42207
42208         quotearg: implement custom_quoting_style
42209         * lib/quotearg.c: (struct quoting_options): Add left_quote and
42210         right_quote fields.
42211         (set_custom_quoting): New public function.
42212         (quotearg_buffer_restyled): Add left_quote and right_quote
42213         arguments, handle them very much like locale quoting, and update
42214         all uses.
42215         (quotearg_n_custom): New public function.
42216         (quotearg_n_custom_mem): New public function.
42217         (quotearg_custom): New public function.
42218         (quotearg_custom_mem): New public function.
42219         * lib/quotearg.h: Prototype and document new public functions.
42220         (enum quoting_style): For escape_quoting_style and
42221         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
42222         ignored even though they're otherwise like c_quoting_style.
42223         Add custom_quoting_style member and document with comparison to
42224         clocale_quoting_style.
42225         * tests/test-quotearg.c (custom_quotes): New array.
42226         (custom_results): New array.
42227         (main): Extend to test custom quoting.
42228
42229 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42230
42231         quotearg: fix right quote escaping when it's in quote_these_too
42232         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
42233         quote, be sure to prepend only one backslash.
42234         * tests/test-quotearg.c (use_quote_double_quotes): New function.
42235         (main): Test it.
42236
42237 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42238
42239         quotearg-tests: test escaping of embedded locale quotes
42240         * tests/test-quotearg.c (struct result_strings): Add member for
42241         new input.
42242         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
42243         (inputs): Add new input.
42244         (results_g): Add expected results.
42245         (flag_results): Likewise.
42246         (locale_results): Likewise.
42247         (compare_strings): Check those.
42248
42249 2009-08-23  Bruno Haible  <bruno@clisp.org>
42250
42251         Tests for module 'dup3'.
42252         * modules/dup3-tests: New file.
42253         * tests/test-dup3.c: New file.
42254
42255         New module 'dup3'.
42256         * lib/unistd.in.h (dup3): New declaration.
42257         * lib/dup3.c: New file.
42258         * m4/dup3.m4: New file.
42259         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
42260         HAVE_DUP3.
42261         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
42262         * modules/dup3: New file.
42263         * doc/glibc-functions/dup3.texi: Mention the new module.
42264
42265 2009-08-23  Bruno Haible  <bruno@clisp.org>
42266
42267         Tweak the dup2 test.
42268         * tests/test-dup2.c (main): Create the test file empty. Verify that an
42269         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
42270         the test file is still empty. Fix argument order of lseek.
42271
42272 2009-08-23  Bruno Haible  <bruno@clisp.org>
42273
42274         Avoid test link errors when the modules getopt-gnu, gettext are used.
42275         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
42276         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42277
42278 2009-08-23  Bruno Haible  <bruno@clisp.org>
42279
42280         Fix getdtablesize() on mingw.
42281         * lib/getdtablesize.c (getdtablesize): Implement differently.
42282         * lib/unistd.in.h (getdtablesize): Improve comment.
42283
42284 2009-08-23  Bruno Haible  <bruno@clisp.org>
42285
42286         New module 'mkostemp'.
42287         Based on Ulrich Drepper's 2007-08-10 change in glibc.
42288         * lib/stdlib.in.h (mksotemp): New declaration.
42289         * lib/mkostemp.c: New file, from glibc with modifications.
42290         * lib/tempname.h (GT_FILE): Remove outdated comment.
42291         (gen_tempname): Add flags argument.
42292         * lib/tempname.c (__GT_BIGFILE): Remove macro.
42293         (__GT_FILE): Map to 1.
42294         (small_open, large_open): Remove macros.
42295         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
42296         * lib/mkstemp.c (mkstemp): Update.
42297         * lib/mkdtemp.c (mkdtemp): Likewise.
42298         * m4/mkostemp.m4: New file.
42299         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
42300         HAVE_MKOSTEMP.
42301         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
42302         HAVE_MKOSTEMP.
42303         * modules/mkostemp: New file, based on modules/mkstemp.
42304         * doc/glibc-functions/mkostemp.texi: Mention the new module.
42305         * NEWS: Mention the change.
42306
42307 2009-08-23  Bruno Haible  <bruno@clisp.org>
42308
42309         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
42310         Reported by Eric Blake.
42311
42312 2009-08-23  Bruno Haible  <bruno@clisp.org>
42313
42314         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
42315         Reported by Eric Blake.
42316
42317 2009-08-23  Bruno Haible  <bruno@clisp.org>
42318
42319         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
42320         * modules/pipe2 (Depends-on): Likewise.
42321
42322 2009-08-23  Eric Blake  <ebb9@byu.net>
42323
42324         fcntl-h: add O_TTY_INIT support
42325         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
42326         * tests/test-fcntl-h.c (o): Test it.
42327         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42328
42329         fcntl-h: rename from fcntl, in preparation for fcntl(2)
42330         * modules/fcntl: Move <fcntl.h> header replacement...
42331         * modules/fcntl-h: ...to new name, so as not to collide with
42332         like-named function.
42333         * tests/test-fcntl.c: Rename...
42334         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
42335         * modules/fcntl-tests: Rename...
42336         * modules/fcntl-h-tests: ...to this.  Update test file name.
42337         * modules/chdir-long (Depends-on): Update clients.
42338         * modules/chdir-safer (Depends-on): Likewise.
42339         * modules/fcntl-safer (Depends-on): Likewise.
42340         * modules/fts (Depends-on): Likewise.
42341         * modules/mkancesdirs (Depends-on): Likewise.
42342         * modules/mkdir-p (Depends-on): Likewise.
42343         * modules/open (Depends-on): Likewise.
42344         * modules/savewd (Depends-on): Likewise.
42345         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
42346         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42347
42348 2009-08-22  Bruno Haible  <bruno@clisp.org>
42349
42350         * modules/binary-io (License): Relicense under LGPL.
42351         * modules/pipe2 (License): Likewise.
42352
42353 2009-08-22  Bruno Haible  <bruno@clisp.org>
42354
42355         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
42356         return value.
42357         * lib/pipe-filter-gi.c (filter_init): Likewise.
42358         Reported by Eric Blake.
42359
42360 2009-08-22  Bruno Haible  <bruno@clisp.org>
42361
42362         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
42363         * modules/pipe (Depends-on): Add pipe2.
42364
42365 2009-08-22  Bruno Haible  <bruno@clisp.org>
42366
42367         Tests for module 'pipe2'.
42368         * modules/pipe2-tests: New file.
42369         * tests/test-pipe2.c: New file.
42370
42371         New module 'pipe2'.
42372         * lib/unistd.in.h (pipe2): New declaration.
42373         * lib/pipe2.c: New file.
42374         * m4/pipe2.m4: New file.
42375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
42376         HAVE_PIPE2.
42377         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
42378         * modules/pipe2: New file.
42379         * doc/glibc-functions/pipe2.texi: Mention the new module.
42380
42381 2009-08-22  Bruno Haible  <bruno@clisp.org>
42382
42383         Reference some new glibc functions.
42384         * doc/glibc-functions/accept4.texi: New file.
42385         * doc/glibc-functions/dup3.texi: New file.
42386         * doc/glibc-functions/mkostemp.texi: New file.
42387         * doc/glibc-functions/pipe2.texi: New file.
42388         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
42389         (Glibc sys/socket.h): Refer to accept4.
42390         (Glibc unistd.h): Refer to dup3, pipe2.
42391         Reported by Eric Blake.
42392
42393 2009-08-22  Jim Meyering  <meyering@redhat.com>
42394             Bruno Haible  <bruno@clisp.org>
42395
42396         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
42397         This makes it so packages using automake-1.11's silent-rules option
42398         can print e.g., a single "GEN    configmake.h" line, rather than
42399         the 30+ statements that perform the job.  If you want to see the
42400         actual commands, you can still run "make V=1".
42401         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
42402         so that make output is abbreviated when those variables are defined
42403         appropriately.
42404         * modules/argz: Likewise.
42405         * modules/arpa_inet: Likewise.
42406         * modules/byteswap: Likewise.
42407         * modules/configmake: Likewise.
42408         * modules/dirent: Likewise.
42409         * modules/errno: Likewise.
42410         * modules/fcntl: Likewise.
42411         * modules/float: Likewise.
42412         * modules/fnmatch: Likewise.
42413         * modules/getopt-posix: Likewise.
42414         * modules/glob: Likewise.
42415         * modules/iconv_open: Likewise.
42416         * modules/inttypes: Likewise.
42417         * modules/localcharset: Likewise.
42418         * modules/locale: Likewise.
42419         * modules/math: Likewise.
42420         * modules/netdb: Likewise.
42421         * modules/netinet_in: Likewise.
42422         * modules/poll: Likewise.
42423         * modules/posix_spawnp-tests: Likewise.
42424         * modules/sched: Likewise.
42425         * modules/search: Likewise.
42426         * modules/selinux-h: Likewise.
42427         * modules/signal: Likewise.
42428         * modules/spawn: Likewise.
42429         * modules/stdarg: Likewise.
42430         * modules/stdbool: Likewise.
42431         * modules/stddef: Likewise.
42432         * modules/stdint: Likewise.
42433         * modules/stdio: Likewise.
42434         * modules/stdlib: Likewise.
42435         * modules/string: Likewise.
42436         * modules/strings: Likewise.
42437         * modules/sys_file: Likewise.
42438         * modules/sys_ioctl: Likewise.
42439         * modules/sys_select: Likewise.
42440         * modules/sys_socket: Likewise.
42441         * modules/sys_stat: Likewise.
42442         * modules/sys_time: Likewise.
42443         * modules/sys_times: Likewise.
42444         * modules/sys_utsname: Likewise.
42445         * modules/sys_wait: Likewise.
42446         * modules/sysexits: Likewise.
42447         * modules/time: Likewise.
42448         * modules/unistd: Likewise.
42449         * modules/wchar: Likewise.
42450         * modules/wctype: Likewise.
42451
42452 2009-08-22  Jim Meyering  <meyering@redhat.com>
42453
42454         announce-gen: detect write failure
42455         * build-aux/announce-gen: Add Coda at end.
42456         Remove equivalent-but-more-verbose block at top.
42457
42458 2009-08-19  Akim Demaille  <demaille@gostai.com>
42459
42460         bootstrap: --help to stdout.
42461         * bootstrap (usage): Don't send --help to stderr.
42462         Use a here doc instead of a long string.
42463
42464 2009-08-21  Eric Blake  <ebb9@byu.net>
42465
42466         test-popen-safer: split from test-popen
42467         * tests/test-popen.c (main): Move...
42468         * tests/test-popen.h: ...into new file.
42469         * tests/test-popen-safer2.c: New file.
42470         * modules/popen-tests (Files): Add test-popen.h.
42471         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
42472         Suggested by Bruno Haible.
42473
42474         test-fcntl-safer: split from test-open
42475         * tests/test-open.c (main): Move...
42476         * tests/test-open.h: ...into new file.
42477         * tests/test-fcntl-safer.c: New file.
42478         * modules/open-tests (Files): Add test-open.h.
42479         * modules/fcntl-safer-tests: New file.
42480         Suggested by Bruno Haible.
42481
42482         test-fopen-safer: split from test-fopen
42483         * tests/test-fopen.c (main): Move...
42484         * tests/test-fopen.h: ...into new file.
42485         * tests/test-fopen-safer.c: New file.
42486         * modules/fopen-tests (Files): Add test-fopen.h.
42487         * modules/fopen-safer-tests: New file.
42488         Suggested by Bruno Haible.
42489
42490 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
42491
42492         popen-safer: test O_CLOEXEC at run-time.
42493         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
42494
42495 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
42496
42497         fcntl: move more flags to the header
42498         * lib/cloexec.c: Do not define FD_CLOEXEC here.
42499         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
42500         * lib/fcntl.in.h: Do both things here.
42501
42502 2009-08-21  Jim Meyering  <meyering@redhat.com>
42503
42504         consistently remove $@-t before redirecting to it
42505         * modules/argz: Remove $@-t and $@ before redirecting to the former.
42506         * modules/alloca-opt: Likewise.
42507         * modules/byteswap: Likewise.
42508         * modules/fnmatch: Likewise.
42509         * modules/getopt-posix: Likewise.
42510         * modules/glob: Likewise.
42511         * modules/poll: Likewise.
42512         * modules/posix_spawnp-tests: Likewise.
42513         * modules/sys_socket: Likewise.
42514         * modules/sysexits: Likewise.
42515
42516 2009-08-21  Eric Blake  <ebb9@byu.net>
42517
42518         popen: simplify access to original popen
42519         * lib/popen.c (rpl_popen): No need to worry about popen being a
42520         macro.
42521         Reported by Bruno Haible.
42522
42523 2009-08-20  Eric Blake  <ebb9@byu.net>
42524
42525         build: avoid some compiler warnings
42526         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
42527         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
42528         type.
42529         (new_exclude_segment, excluded_file_pattern_p)
42530         (excluded_file_name_p): Reduce scope.
42531         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
42532         old-style declaration.
42533
42534 2009-08-20  Simon Josefsson  <simon@josefsson.org>
42535
42536         * tests/test-exclude1.sh: Handle Windows EOL.
42537         * tests/test-exclude2.sh: Likewise.
42538         * tests/test-exclude3.sh: Likewise.
42539         * tests/test-exclude4.sh: Likewise.
42540         * tests/test-exclude5.sh: Likewise.
42541         * tests/test-exclude6.sh: Likewise.
42542         * tests/test-exclude7.sh: Likewise.
42543
42544 2009-08-19  Akim Demaille  <demaille@gostai.com>
42545
42546         bootstrap: find sha1sum when named gsha1sum.
42547         * bootstrap (find_tool): New.
42548         ($SHA1SUM): New.
42549         Use it.
42550
42551 2009-08-20  Jim Meyering  <meyering@redhat.com>
42552
42553         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
42554         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
42555         expression that converts "." in a file name to "\." in the resulting
42556         regexp.  Start with a dummy statement, so that prior shell variable
42557         definitions are expanded portably.  Reported by Simon Josefsson.
42558
42559 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
42560
42561         Fix polling for writeability of a screen buffer.
42562         * lib/poll.c: Distinguish input and screen buffers for the
42563         Win32 implementation.
42564         * lib/select.c: Likewise.
42565
42566 2009-08-19  Eric Blake  <ebb9@byu.net>
42567
42568         popen-safer: prevent popen from clobbering std descriptors
42569         * modules/popen-safer: New file.
42570         * lib/popen-safer.c: Likewise.
42571         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
42572         * lib/stdio--.h (popen): Provide override.
42573         * lib/stdio-safer.h (popen_safer): Provide declaration.
42574         * tests/test-popen.c (includes): Partially test this.
42575         * modules/popen-safer-tests: New file, for more tests.
42576         * tests/test-popen-safer.c: Likewise.
42577         * MODULES.html.sh (file stream based Input/Output): Mention it.
42578
42579         tests: test some of the *-safer modules
42580         * modules/fopen-safer (Depends-on): Add fopen.
42581         * modules/fcntl-safer (Depends-on): Add fcntl.
42582         * modules/stdlib-safer (Depends-on): Add stdlib.
42583         (configure.ac): Set indicator.
42584         * modules/unistd-safer (configure.ac): Likewise.
42585         * modules/tmpfile-safer (configure.ac): Likewise.
42586         (Depends-on): Add tmpfile.
42587         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
42588         active.
42589         * tests/test-fopen.c (includes): Test safer versions when they are
42590         in use.
42591         * tests/test-open.c (includes): Likewise.
42592
42593         popen: fix cygwin 1.5 bug when stdin closed
42594         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
42595         * modules/popen: New file.
42596         * modules/popen-tests: Likewise.
42597         * tests/test-popen.c: Likewise.
42598         * m4/popen.m4: Likewise.
42599         * lib/popen.c: Likewise.
42600         * lib/stdio.in.h (popen): New declaration.
42601         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
42602         * modules/stdio (Makefile.am): Likewise.
42603         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
42604
42605 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
42606
42607         maint.mk: give full control over update-copyright exclusions
42608         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
42609         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
42610         (update-copyright): Don't force inclusion of top-level
42611         ChangeLog.  Don't force exclusion of all COPYING files, but make
42612         them the default exclusion instead.
42613
42614 2009-08-16  Bruno Haible  <bruno@clisp.org>
42615
42616         Fix test failures on Solaris 10.
42617         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
42618         tests when Solaris iconv() is used.
42619         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
42620         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
42621         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
42622         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
42623         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
42624
42625 2009-08-16  Bruno Haible  <bruno@clisp.org>
42626
42627         Fix test failures on Solaris 10.
42628         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
42629         'tr' program and pass it as first argument.
42630         * tests/test-pipe-filter-gi1.sh: Likewise.
42631         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
42632         program as first argument.
42633         * tests/test-pipe-filter-gi1.c (main): Likewise.
42634
42635 2009-08-16  Eric Blake  <ebb9@byu.net>
42636
42637         fpurge: fix previous commits
42638         * modules/fpurge (Makefile.am): Make replacement conditional,
42639         partially reverting 2007-04-29 change; missed in previous
42640         attempt.
42641         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
42642         is missing.
42643
42644 2009-08-16  Bruno Haible  <bruno@clisp.org>
42645
42646         Clarify fpurge's effect on the file position.
42647         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
42648         * tests/test-fpurge.c (main): Make a second pass for checking the file
42649         position.
42650
42651 2009-08-16  Bruno Haible  <bruno@clisp.org>
42652
42653         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
42654         declaration of fpurge is missing.
42655         * tests/test-fpurge.c (main): Check that the file has not more contents
42656         than expected. Close the file before removing it.
42657
42658 2009-08-15  Eric Blake  <ebb9@byu.net>
42659
42660         fpurge: don't wrap working cygwin implementation
42661         * lib/fpurge.c (fpurge): Fix comment typo.
42662         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
42663         1.7 to avoid replacement.
42664         * tests/test-fpurge.c (main): Enhance test.
42665
42666 2009-08-15  Eric Blake  <ebb9@byu.net>
42667         and Jim Meyering  <meyering@redhat.com>
42668
42669         test-update-copyright: skip if perl is insufficient
42670         * tests/test-update-copyright.sh: Failure to run maintainer tool
42671         should not cause testsuite failure on cygwin 1.5.
42672
42673 2009-08-14  Eric Blake  <ebb9@byu.net>
42674
42675         doc: mention more functions added in cygwin 1.7.0
42676         * doc/posix-headers/limits.texi (limits.h): Update for recent
42677         cygwin additions.
42678         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
42679         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
42680         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
42681         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
42682         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
42683
42684 2009-08-14  Eric Blake  <ebb9@byu.net>
42685
42686         maint.mk: simplify update-copyright rule
42687         * top/maint.mk (update-copyright-local): Delete, and document how
42688         to do it in cfg.mk instead.
42689         (update-copyright-exclude-regexp): Delete, and document how to do
42690         it in .x-update-copyright instead.
42691         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
42692         exclude ChangeLog.
42693
42694 2009-08-14  Bruno Haible  <bruno@clisp.org>
42695
42696         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
42697
42698 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42699
42700         maint.mk: support update-copyright-env
42701         * top/maint.mk (update-copyright-env): Define place-holder.
42702         (update-copyright): Expand $(update-copyright-env) before
42703         invoking update-copyright.
42704
42705 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42706
42707         update-copyright: implement forced reformatting
42708         * build-aux/update-copyright: Implement and document
42709         UPDATE_COPYRIGHT_FORCE.
42710         * tests/test-update-copyright.sh: Test it.
42711
42712 2009-08-14  Eric Blake  <ebb9@byu.net>
42713         and Bruno Haible  <bruno@clisp.org>
42714
42715         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
42716         * tests/test-locale.c: Revert previous patch related to NULL.
42717         * tests/test-stdio.c: Likewise.
42718         * tests/test-stdlib.c: Likewise.
42719         * tests/test-string.c: Likewise.
42720         * tests/test-unistd.c: Likewise.
42721         * modules/time-tests (Depends-on): Add verify.
42722         * modules/wchar-tests (Depends-on): Likewise.
42723         * tests/test-time.c: Test for NULL compliance.
42724         * tests/test-wchar.c: Likewise.
42725         * modules/locale (Depends-on): Add stddef.
42726         * modules/stdio (Depends-on): Likewise.
42727         * modules/stdlib (Depends-on): Likewise.
42728         * modules/string (Depends-on): Likewise.
42729         * modules/time (Depends-on): Likewise.
42730         * modules/unistd (Depends-on): Likewise.
42731         * modules/wchar (Depends-on): Likewise.
42732         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
42733         * lib/stdlib.in.h (includes): Likewise.
42734         * lib/string.in.h (includes): Likewise.
42735         * lib/time.in.h (includes): Likewise.
42736         * lib/unistd.in.h (includes): Likewise.
42737         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
42738         replaced.
42739         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42740         * m4/stddef_h.m4: New file.
42741         * modules/stddef: Likewise.
42742         * lib/stddef.in.h: Likewise.
42743         * modules/stddef-tests: Likewise.
42744         * tests/test-stddef.c: Likewise.
42745         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
42746         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
42747         * doc/posix-headers/locale.texi (locale.h): Likewise.
42748         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
42749         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
42750         * doc/posix-headers/string.texi (string.h): Likewise.
42751         * doc/posix-headers/time.texi (time.h): Likewise.
42752         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
42753         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
42754
42755 2009-08-14  Eric Blake  <ebb9@byu.net>
42756
42757         doc: improve git diff of texinfo files
42758         * .gitattributes: Add rule for *.texi files, with hint on how to
42759         use it.
42760         Copied from m4, and based on a report by Bruno Haible.
42761
42762 2009-08-14  Bruno Haible  <bruno@clisp.org>
42763
42764         Disable multithread support by default on Cygwin 1.5.x for real.
42765         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
42766
42767 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42768
42769         update-copyright: much ado about intervals
42770         * build-aux/update-copyright: Implement and document
42771         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
42772         of copyright year intervals.
42773         Also, document UPDATE_COPYRIGHT_YEAR.
42774         * tests/test-update-copyright.sh: Test it.
42775
42776         update-copyright: convert 2-digit to 4-digit years
42777         * build-aux/update-copyright: Implement and document.
42778         * tests/test-update-copyright.sh: Update.
42779
42780 2009-08-14  Jim Meyering  <meyering@redhat.com>
42781
42782         test-exclude: avoid coreutils "make check" failure
42783         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
42784         just as in test-argmatch.c.
42785
42786 2009-08-13  Eric Blake  <ebb9@byu.net>
42787
42788         test-dup2: fix bad assumption
42789         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
42790         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
42791
42792         test-version-etc: fix CRLF portability issue
42793         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
42794         recognize \r.
42795         * tests/test-argp-version-etc-1.sh: Likewise.
42796
42797         getopt: update client modules
42798         * modules/argp (Depends-on): Use getopt-gnu.
42799         * modules/git-merge-changelog (Depends-on): Likewise.
42800         * modules/long-options (Depends-on): Likewise.
42801         * modules/xstrtol (Depends-on): Likewise.
42802
42803 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42804
42805         * tests/test-version-etc.sh: Don't fail on different
42806         project/version.  Don't fail on CRLF differences.  Rewrite to use
42807         multiple -e instead of multiple sed forks, suggested by Eric Blake
42808         <ebb9@byu.net>.
42809         * tests/test-argp-version-etc-1.sh: Likewise.
42810
42811 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42812
42813         * tests/test-version-etc.sh: Don't fail on different
42814         project/version.
42815
42816 2009-08-12  Bruno Haible  <bruno@clisp.org>
42817
42818         Tests for modules 'getopt-posix', 'getopt-gnu'.
42819         * modules/getopt-posix-tests: New file.
42820         * tests/test-getopt.c: New file.
42821         * tests/test-getopt.h: New file.
42822         * tests/test-getopt_long.h: New file.
42823
42824         New modules 'getopt-posix', 'getopt-gnu'.
42825         * modules/getopt-gnu: New file, renamed from modules/getopt.
42826         * modules/getopt-posix: New file.
42827         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
42828         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
42829         (gl_GETOPT): Remove macro.
42830         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
42831         Disable the test against BSD systems that declare optreset. Test
42832         against mingw bug. Test against lack of support of optional arguments
42833         on many platforms.
42834         * doc/glibc-headers/getopt.texi: Update module name and list of
42835         relevant platforms.
42836         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
42837         'getopt-gnu' and more portability problems.
42838         * NEWS: Mention the changes.
42839
42840 2009-08-12  Bruno Haible  <bruno@clisp.org>
42841
42842         Ensure that optarg etc. get declared by <unistd.h>.
42843         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
42844         AC_USE_SYSTEM_EXTENSIONS.
42845         * modules/getopt (Depends-on): Add 'extensions'.
42846
42847 2009-08-12  Bruno Haible  <bruno@clisp.org>
42848
42849         Avoid test link errors.
42850         * modules/pipe-filter-ii-tests (Makefile.am): Define
42851         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
42852         * modules/pipe-filter-gi-tests (Makefile.am): Define
42853         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
42854         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42855
42856 2009-08-12  Bruno Haible  <bruno@clisp.org>
42857
42858         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
42859         gl_GETOPT_SUBSTITUTE before.
42860         (gl_GETOPT): Use it.
42861         * m4/argp.m4 (gl_ARGP): Update.
42862         Reported by Sergey Poznyakoff.
42863
42864         * m4/getopt.m4: Reorder macros.
42865         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
42866         (gl_GETOPT_SUBSTITUTE): Remove macro.
42867
42868 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42869
42870         Minor improvement in gitlog-to-changelog
42871
42872         * build-aux/gitlog-to-changelog: New option `--format' makes
42873         output format string configurable.
42874
42875 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42876
42877         Optimize exclude: use hash tables for non-wildcard patterns.
42878
42879         * lib/exclude.c: Include hash.h and mbuiter.h
42880         (struct exclude_pattern, exclude_segment): New data types.
42881         (struct exclude): Rewrite.
42882         (fnmatch_pattern_has_wildcards): New function.
42883         (new_exclude_segment, free_exclude_segment): New functions.
42884         (excluded_file_pattern_p, excluded_file_name_p): New functions.
42885         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
42886         * lib/exclude.h (is_fnmatch_pattern): New prototype.
42887         * modules/exclude: Depend on hash and mbuiter.
42888
42889         * modules/exclude-tests: New file.
42890         * tests/test-exclude.c: New file.
42891         * tests/test-exclude1.sh: New file.
42892         * tests/test-exclude2.sh: New file.
42893         * tests/test-exclude3.sh: New file.
42894         * tests/test-exclude4.sh: New file.
42895         * tests/test-exclude5.sh: New file.
42896         * tests/test-exclude6.sh: New file.
42897         * tests/test-exclude7.sh: New file.
42898
42899 2009-08-12  Bruno Haible  <bruno@clisp.org>
42900
42901         Ensure that getopt() gets declared by <unistd.h>.
42902         * lib/unistd.in.h: Conditionally include getopt.h.
42903         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
42904         Set GNULIB_UNISTD_H_GETOPT.
42905         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42906         GNULIB_UNISTD_H_GETOPT.
42907         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
42908
42909 2009-08-12  Bruno Haible  <bruno@clisp.org>
42910
42911         Clarify logic.
42912         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
42913         gl_replace_getopt instead of GETOPT_H.
42914
42915 2009-08-12  Bruno Haible  <bruno@clisp.org>
42916
42917         * m4/getopt.m4: Add comments.
42918
42919 2009-08-12  Bruno Haible  <bruno@clisp.org>
42920
42921         Disable multithread support by default on Cygwin 1.5.x.
42922         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
42923         set gl_use_threads=no if not specified otherwise.
42924
42925 2009-08-11  Bruno Haible  <bruno@clisp.org>
42926
42927         Avoid compilation error on NetBSD 5.0.
42928         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
42929         * tests/test-stdio.c: Likewise.
42930         * tests/test-stdlib.c: Likewise.
42931         * tests/test-string.c: Likewise.
42932         * tests/test-unistd.c: Likewise.
42933         Reported by Greg Troxel <gdt@ir.bbn.com>
42934         at <https://savannah.gnu.org/support/?106973>.
42935
42936 2009-08-11  Bruno Haible  <bruno@clisp.org>
42937
42938         * modules/dup2-tests (Depends-on): Remove close.
42939
42940         Undo 2009-07-19 commit.
42941         * modules/acl-tests (Depends-on): Remove close.
42942         * modules/binary-io-tests (Depends-on): Likewise.
42943         * modules/closein-tests (Depends-on): Likewise.
42944         * modules/flock-tests (Depends-on): Likewise.
42945         * modules/fsync-tests (Depends-on): Likewise.
42946         * modules/lseek-tests (Depends-on): Likewise.
42947         * modules/pipe-tests (Depends-on): Likewise.
42948         * modules/posix_spawn-tests (Depends-on): Likewise.
42949         * modules/posix_spawnp-tests (Depends-on): Likewise.
42950         * modules/stat-time-tests (Depends-on): Likewise.
42951         * modules/yesno-tests (Depends-on): Likewise.
42952
42953 2009-08-10  Bruno Haible  <bruno@clisp.org>
42954
42955         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
42956
42957 2009-08-10  Bruno Haible  <bruno@clisp.org>
42958
42959         Fix a gcc warning.
42960         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
42961
42962 2009-08-10  Bruno Haible  <bruno@clisp.org>
42963
42964         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
42965         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
42966         not only the first time.
42967         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
42968         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
42969         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
42970         is 1, not only the the first time.
42971
42972 2009-08-10  Bruno Haible  <bruno@clisp.org>
42973
42974         Make it possible to use module 'gethostname' without module 'close'.
42975         * lib/unistd.in.h (close): Evoke a link error only if
42976         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42977         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42978         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42979         * modules/unistd (Makefile.am): Substitute
42980         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42981         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
42982         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42983         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
42984         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42985         * modules/sys_ioctl (Makefile.am): Substitute
42986         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42987         * modules/socket (configure.ac): On native Windows, set
42988         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
42989         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42990         Reported by Sam Steingold <sds@gnu.org>.
42991
42992 2009-08-10  Bruno Haible  <bruno@clisp.org>
42993
42994         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
42995         * modules/ioctl (configure.ac): Likewise.
42996
42997 2009-08-10  Bruno Haible  <bruno@clisp.org>
42998
42999         Avoid collision between gnulib wrapper and libintl wrapper.
43000         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
43001         already defined in intl/printf.c.
43002         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
43003         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
43004
43005 2009-08-09  Bruno Haible  <bruno@clisp.org>
43006
43007         Make <sys/select.h> really self-contained, also on Solaris 10.
43008         * lib/sys_select.in.h: Include <string.h>.
43009         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
43010         Solaris 10 problem.
43011         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
43012         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
43013         Reported by Jim Meyering.
43014
43015 2009-08-09  Bruno Haible  <bruno@clisp.org>
43016
43017         Avoid warnings from 'aclocal' that are due to a use of macro name
43018         AM_XGETTEXT_OPTION that is not defined in automake.
43019         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
43020         automake.
43021         * modules/error (configure.ac): Likewise.
43022         * modules/propername (configure.ac): Likewise.
43023         * modules/vasprintf (configure.ac): Likewise.
43024         * modules/verror (configure.ac): Likewise.
43025         * modules/xprintf (configure.ac): Likewise.
43026         * modules/xvasprintf (configure.ac): Likewise.
43027
43028 2009-08-08  Bruno Haible  <bruno@clisp.org>
43029
43030         Avoid compilation error in C++ mode.
43031         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
43032         Reported by Sam Steingold <sds@gnu.org>.
43033
43034 2009-08-08  Bruno Haible  <bruno@clisp.org>
43035
43036         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
43037         for the various Unix platforms.
43038         * doc/posix-headers/limits.texi: Update platforms list regarding
43039         HOST_NAME_MAX.
43040         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43041
43042 2009-08-07  Jim Meyering  <meyering@redhat.com>
43043
43044         selinux-at: fix typo in a comment
43045         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
43046         Spotted by Paolo Bonzini.
43047
43048         selinux-at: remove redundant m4 code, add documentation
43049         * modules/selinux-at (configure.ac): Remove redundant code.
43050         LIB_SELINUX is already set via the dependent module, selinux-h.
43051         (Include): Add quotes around selinux-at.h.
43052         * lib/selinux-at.h: Add documentation.
43053         Reported by Bruno Haible in
43054         http://marc.info/?l=gnulib-bug&m=124958988300749
43055
43056 2009-08-07  Bruno Haible  <bruno@clisp.org>
43057
43058         Avoid link error on MacOS X 10.3 and 10.4.
43059         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
43060         on non-ELF systems.
43061         * lib/argp-pv.c (argp_program_version): Likewise.
43062         Reported by Simon Josefsson.
43063
43064 2009-08-07  Simon Josefsson  <simon@josefsson.org>
43065
43066         * tests/test-version-etc.sh: Use $EXEEXT.
43067
43068 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
43069
43070         update-copyright: update documentation to point to maint.mk
43071         * build-aux/update-copyright: Here.
43072
43073 2009-08-06  Jim Meyering  <meyering@redhat.com>
43074
43075         maint.mk: support update-copyright-local
43076         * top/maint.mk (update-copyright-local): Define place-holder.
43077         (update-copyright): Depend on $(update-copyright-local).
43078
43079 2009-08-06  Jim Meyering  <meyering@redhat.com>
43080
43081         selinux-at: new module
43082         Initially written for coreutils, this module will soon be
43083         used by findutils, too.
43084         * MODULES.html.sh [Misc]: Add selinux-at.
43085         * lib/selinux-at.h: New file, from coreutils.
43086         * lib/selinux-at.c: Likewise.
43087         * modules/selinux-at: Likewise.
43088         (License): Change from LGPL to GPL, since it depends
43089         on the GPL'd openat module.
43090
43091         doc: update README
43092         * README: Remove references to cogito.
43093         Remove cvs-repo-updating instructions from 2007.
43094         Don't imply that CVS is better if you have limited disk space.
43095
43096 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43097
43098         update-copyright: support C-style comments
43099         * build-aux/update-copyright: Implement and document.
43100         * tests/test-update-copyright.sh: Test.
43101
43102 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43103
43104         update-copyright: support omitted "(C)"
43105         * build-aux/update-copyright: Implement and document.  Also,
43106         allow variable whitespace before "(C)".
43107         * tests/test-update-copyright.sh: Test.
43108
43109 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43110
43111         update-copyright: don't trip on non-FSF copyright statements
43112         * build-aux/update-copyright: Fix so that the first correctly
43113         formatted FSF copyright statement is recognized no matter what
43114         appears before it.  Update documentation.
43115         * tests/test-update-copyright.sh: Test that.
43116
43117 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43118
43119         update-copyright: clean up code a little
43120         * build-aux/update-copyright: Append "_re" to the name of any
43121         variable holding a regular expression.
43122         Replace "old" and "new" with "stmt" in variable names.
43123         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
43124         handled correctly.
43125         Format code more consistently.
43126
43127 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43128
43129         update-copyright-tests: improve portability
43130         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
43131         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
43132
43133 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43134
43135         update-copyright: support @copyright{} and &copy;
43136         * build-aux/update-copyright: Implement and document.
43137         * tests/test-update-copyright.sh: Test.
43138
43139 2009-08-04  Jim Meyering  <meyering@redhat.com>
43140
43141         update-copyright-tests: correctly test EOL=\r\n handling
43142         * tests/test-update-copyright.sh: Put \r at the end of some lines
43143         for the dos-eol tests.  Based on a patch by Joel E. Denny.
43144
43145         maint.mk: make update-copyright exclusion list more configurable
43146         * top/maint.mk (update-copyright): Default to excluding COPYING,
43147         but allow an override, in case someone does want to update that file.
43148
43149         maint.mk: don't update copyright date in COPYING
43150         * top/maint.mk (update-copyright): Exclude COPYING.
43151
43152         maint.mk: add a copyright-updating rule
43153         * top/maint.mk (update-copyright): New rule.
43154         Derived from coreutils/Makefile.am.
43155
43156         update-copyright: rename some variables
43157         * build-aux/update-copyright: Rename a few variables for clarity.
43158         Tweak syntax.  List Joel E. Denny as coauthor.
43159
43160 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43161
43162         update-copyright: fix bug for 2-digit last year and add tests
43163         * build-aux/update-copyright: Fix bug.
43164         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
43165         specified.
43166         * modules/update-copyright-tests: New
43167         * tests/test-update-copyright.sh: New.
43168
43169 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43170
43171         update-copyright: handle leading tabs in line prefix
43172         * build-aux/update-copyright: Count leading tabs as 8 spaces
43173         when computing margin.  This helps with the formatting of
43174         ChangeLogs, for example.
43175         Fix documentation a little.
43176
43177 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43178
43179         update-copyright: support EOL=\r\n
43180         * build-aux/update-copyright: Implement that.
43181
43182 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43183
43184         update-copyright: automatically format copyright statements
43185         * build-aux/update-copyright: Implement that.
43186         Also, be a little more predictable and safer by always failing
43187         when the full copyright format is not perfectly recognized as an
43188         unbroken whole.  Discussed at
43189         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
43190         Rewrite documentation.
43191
43192 2009-08-03  Bruno Haible  <bruno@clisp.org>
43193
43194         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
43195
43196 2009-08-02  Bruno Haible  <bruno@clisp.org>
43197
43198         Tests for module 'uname'.
43199         * modules/uname-tests: New file.
43200         * tests/test-uname.c: New file.
43201
43202         New module 'uname'.
43203         * lib/uname.c: New file.
43204         * m4/uname.m4: New file.
43205         * modules/uname: New file.
43206         * doc/posix-functions/uname.texi: Mention the new module.
43207
43208 2009-08-02  Bruno Haible  <bruno@clisp.org>
43209
43210         Tests for module 'sys_utsname'.
43211         * modules/sys_utsname-tests: New file.
43212         * tests/test-sys_utsname.c: New file.
43213
43214         New module 'sys_utsname'.
43215         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
43216         * m4/sys_utsname_h.m4: New file.
43217         * modules/sys_utsname: New file.
43218         * doc/posix-headers/sys_utsname.texi: Mention the new module.
43219
43220 2009-08-02  Bruno Haible  <bruno@clisp.org>
43221
43222         Implicitly initialize the sockets library.
43223         * lib/gethostname.c: Include sockets.h.
43224         (rpl_gethostname): Invoke gl_sockets_startup.
43225         * lib/socket.c: Include sockets.h.
43226         (rpl_socket): Invoke gl_sockets_startup.
43227         * modules/gethostname (Depends-on): Add sockets.
43228         * modules/socket (Depends-on): Likewise.
43229         * tests/test-poll.c: Don't include sockets.h.
43230         (main): Don't invoke gl_sockets_startup.
43231         * tests/test-select.c: Don't include sockets.h.
43232         (main): Don't invoke gl_sockets_startup.
43233
43234 2009-08-02  Bruno Haible  <bruno@clisp.org>
43235
43236         Allow multiple calls to gl_sockets_startup.
43237         * lib/sockets.c (initialized_sockets_version): New variable.
43238         (gl_sockets_startup): Do nothing if already called for this or a higher
43239         version.
43240         (gl_sockets_cleanup): Reset initialized_sockets_version.
43241
43242 2009-08-03  Simon Josefsson  <simon@josefsson.org>
43243
43244         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
43245         different project/version.
43246
43247 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
43248             Bruno Haible  <bruno@clisp.org>
43249
43250         Tests for module 'pipe-filter-gi'.
43251         * modules/pipe-filter-gi-tests: New file.
43252         * tests/test-pipe-filter-gi1.sh: New file.
43253         * tests/test-pipe-filter-gi1.c: New file.
43254         * tests/test-pipe-filter-gi2.sh: New file.
43255         * tests/test-pipe-filter-gi2-main.c: New file.
43256         * tests/test-pipe-filter-gi2-child.c: New file.
43257
43258         New module 'pipe-filter-gi'.
43259         * lib/pipe-filter-gi.c: New file.
43260         * modules/pipe-filter-gi: New file.
43261
43262 2009-08-02  Bruno Haible  <bruno@clisp.org>
43263             Paolo Bonzini  <bonzini@gnu.org>
43264
43265         Tests for module 'pipe-filter-ii'.
43266         * modules/pipe-filter-ii-tests: New file.
43267         * tests/test-pipe-filter-ii1.sh: New file.
43268         * tests/test-pipe-filter-ii1.c: New file.
43269         * tests/test-pipe-filter-ii2.sh: New file.
43270         * tests/test-pipe-filter-ii2-main.c: New file.
43271         * tests/test-pipe-filter-ii2-child.c: New file.
43272
43273         New module 'pipe-filter-ii'.
43274         * lib/pipe-filter.h: New file.
43275         * lib/pipe-filter-ii.c: New file.
43276         * lib/pipe-filter-aux.h: New file.
43277         * modules/pipe-filter-ii: New file.
43278
43279 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43280
43281         * lib/gc-libgcrypt.c: Change copyright to FSF.
43282         * lib/gc-gnulib.c: Likewise.
43283
43284 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
43285
43286         * lib/gethostname.c: Include limits.h.
43287
43288 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43289             Bruno Haible  <bruno@clisp.org>
43290
43291         Ensure HOST_NAME_MAX as part of the gethostname module.
43292         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
43293         define also HOST_NAME_MAX.
43294         * tests/test-gethostname.c: Include <limits.h>.
43295         (main): Check also HOST_NAME_MAX.
43296         * doc/posix-headers/limits.texi: Document the mingw problem.
43297
43298 2009-08-02  Bruno Haible  <bruno@clisp.org>
43299
43300         * lib/gethostname.c (gethostname): Fix handling of large len argument.
43301         Add comments.
43302
43303 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43304
43305         * lib/gethostname.c: Add Windows wrapper.
43306         * m4/gethostname.m4: Look for gethostname in -lws2_32.
43307         * modules/gethostname: Depend on sys_socket & errno, for also
43308         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
43309         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
43310
43311 2009-07-31  Jim Meyering  <meyering@redhat.com>
43312
43313         getloadavg: fix symbol name in comment
43314         * lib/getloadavg.c: Correct a typo I introduced when adding
43315         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
43316         Matt Kraai spotted the problem.
43317
43318 2009-07-29  Matt Kraai  <mkraai@beckman.com>
43319
43320         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
43321         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
43322         code also if ! defined N_NAME_POINTER.
43323         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
43324         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
43325         but the n_name member is a 12-byte array.
43326
43327 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
43328
43329         update-copyright: generalize comment handling
43330         * build-aux/update-copyright: Handle copyright statements
43331         within more comment styles.
43332         Document usage.
43333         Report any file with an external copyright holder or parse failure.
43334
43335 2009-07-29  Jim Meyering  <meyering@redhat.com>
43336
43337         mktime: correct setting of REPLACE_MKTIME
43338         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
43339
43340         update-copyright: new module
43341         * modules/update-copyright: New file.
43342         * build-aux/update-copyright: New file.
43343         * MODULES.html.sh (maint+release support): Add update-copyright.
43344
43345 2009-07-27  Bruno Haible  <bruno@clisp.org>
43346
43347         Fix compilation error when <ctime> is used and mktime is replaced.
43348         * lib/time.in.h (mktime): New declaration.
43349         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
43350         REPLACE_MKTIME instead of defining mktime in config.h.
43351         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
43352         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
43353         Reported by Ross McFarland <rwmcfa1@neces.com>.
43354
43355 2009-07-27  Bruno Haible  <bruno@clisp.org>
43356
43357         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
43358         Reported by Matt Kraai <mkraai@beckman.com>.
43359
43360 2009-07-25  Jim Meyering  <meyering@redhat.com>
43361
43362         maint.mk: avoid warnings about missing files
43363         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
43364         diagnostic when .prev-version does not exist.
43365         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
43366         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
43367         nonexistent cfg.mk.
43368         Suggestions from Simon Josefsson.
43369
43370 2009-07-25  Bruno Haible  <bruno@clisp.org>
43371
43372         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
43373         defined as macros. Needed on QNX 6.4.1.
43374         Reported by Matt Kraai <mkraai@beckman.com>.
43375
43376 2009-07-23  Jim Meyering  <meyering@redhat.com>
43377
43378         maint.mk: invoke "make dist" with a working value of XZ_OPT
43379         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
43380
43381 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
43382
43383         Make fseeko.c compile on QNX.
43384         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
43385
43386 2009-07-22  Peter Simons  <simons@cryp.to>
43387
43388         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
43389         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
43390         * lib/md4.h: Likewise.
43391         * lib/md5.h: Likewise.
43392         * lib/sha1.h: Likewise.
43393         * lib/sha256.h: Likewise.
43394         * lib/sha512.h: Likewise.
43395
43396         tests-sha1: don't assign literal string to 'char *' variable
43397         * tests/test-sha1.c (main): Declare locals with "const" to match
43398         attributes of the right hand side.
43399
43400 2009-07-21  Eric Blake  <ebb9@byu.net>
43401
43402         dup2: fix more mingw problems
43403         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
43404         fd to itself.
43405         * doc/posix-functions/dup2.texi (dup2): Document the bug.
43406         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
43407         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
43408         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
43409         care of mingw bugs.
43410
43411 2009-07-21  Jim Meyering  <meyering@redhat.com>
43412
43413         vc-list-files: avoid failure when /bin/sh is dash
43414         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
43415         On some Debian based systems, /bin/sh is a symlink to dash, and running
43416         this command would omit the "/" following each 'tests' prefix:
43417           dash -x build-aux/vc-list-files -C . tests
43418         That is because bash and dash work differently:
43419           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
43420           bash ok
43421           dash odd
43422
43423 2009-07-21  Eric Blake  <ebb9@byu.net>
43424
43425         dup2-tests: test previous patch
43426         * modules/dup2-tests: New file.
43427         * tests/test-dup2.c: Likewise.
43428         * tests/test-open.c (main): Avoid unspecified behavior.
43429         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
43430         test.
43431
43432         dup2: work around mingw and cygwin 1.5 bug
43433         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
43434         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43435         * modules/unistd (Makefile.am): Substitute it.
43436         * lib/unistd.in.h (dup2): Declare the replacement.
43437         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
43438         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
43439         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
43440         * modules/execute (Depends-on): Add dup2.
43441         * modules/fseterr (Depends-on): Likewise.
43442         * modules/pipe (Depends-on): Likewise.
43443         * modules/posix_spawn-internal (Depends-on): Likewise.
43444
43445 2009-07-21  Bruno Haible  <bruno@clisp.org>
43446
43447         * modules/.gitattributes: New file.
43448
43449 2009-07-20  Bruno Haible  <bruno@clisp.org>
43450
43451         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
43452         (main): Use it.
43453
43454 2009-07-20  Eric Blake  <ebb9@byu.net>
43455
43456         test-pipe: make a bit more robust.
43457         * tests/test-pipe.c (myerr): Allow error messages regardless of
43458         what we do to stderr.
43459         (test_pipe): Rearrange to avoid deadlock.
43460         (child_main): Try a larger read, to ensure we avoided deadlock.
43461         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
43462         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
43463         if misused.
43464
43465 2009-07-19  Jim Meyering  <meyering@redhat.com>
43466
43467         fts: avoid false-positive cycle-detection
43468         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
43469         for each new command line argument.
43470
43471 2009-07-19  Bruno Haible  <bruno@clisp.org>
43472
43473         Fix build error on mingw with the modules sys_select and unistd.
43474         * modules/acl-tests (Depends-on): Add close.
43475         * modules/binary-io-tests (Depends-on): Likewise.
43476         * modules/closein-tests (Depends-on): Likewise.
43477         * modules/flock-tests (Depends-on): Likewise.
43478         * modules/fsync-tests (Depends-on): Likewise.
43479         * modules/lseek-tests (Depends-on): Likewise.
43480         * modules/pipe-tests (Depends-on): Likewise.
43481         * modules/posix_spawn-tests (Depends-on): Likewise.
43482         * modules/posix_spawnp-tests (Depends-on): Likewise.
43483         * modules/stat-time-tests (Depends-on): Likewise.
43484         * modules/yesno-tests (Depends-on): Likewise.
43485
43486 2009-07-19  Bruno Haible  <bruno@clisp.org>
43487
43488         Unify conditionals.
43489         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
43490         macros, not at the compiler macros.
43491         * lib/pipe.c: Likewise.
43492         * lib/execute.c: Likewise.
43493         * lib/spawni.c: Likewise.
43494
43495 2009-07-19  Bruno Haible  <bruno@clisp.org>
43496
43497         Fix handling of closed stdin/stdout/stderr on mingw.
43498         * lib/w32spawn.h: Include unistd.h.
43499         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
43500         file descriptor with O_NOINHERIT flag.
43501         (fd_safer_noinherit): New function, based on fd-safer.c.
43502         (dup_safer_noinherit): New function, based on dup-safer.c.
43503         (undup_safer_noinherit): New function.
43504         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
43505         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
43506         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
43507         instead of fd_safer.
43508         * tests/test-pipe.c: Include <windows.h>.
43509         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
43510         result.
43511
43512         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
43513         from main.
43514         (test_pipe): Pass an extra argument for disambiguation.
43515         (main): Invoke parent_main or child_main.
43516
43517         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
43518         consistently.
43519
43520 2009-07-18  Eric Blake  <ebb9@byu.net>
43521
43522         test-pipe: fix mingw build
43523         * tests/test-pipe.c (main): Avoid fcntl on mingw.
43524
43525 2009-07-18  Bruno Haible  <bruno@clisp.org>
43526
43527         * modules/pipe-tests (Makefile.am): Fix typo.
43528
43529 2009-07-18  Eric Blake  <ebb9@byu.net>
43530
43531         error: fix mingw build
43532         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
43533         Reported by Bruno Haible.
43534
43535         error: avoid undefined use of stdout
43536         * lib/error.c (error, error_at_line): Check that fd 1 is open
43537         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
43538         is handling faults and the close_stdout module wants to report the
43539         detection of closed stdout as an error.
43540
43541 2009-07-17  Eric Blake  <ebb9@byu.net>
43542
43543         pipe: be robust in face of closed fds
43544         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
43545         should cause child to misbehave.
43546         * modules/pipe-tests: New module.
43547         * tests/test-pipe.c: New file.
43548         * tests/test-pipe.sh: New file.
43549         Reported by Akim Demaille.
43550
43551 2009-07-14  Bruno Haible  <bruno@clisp.org>
43552
43553         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
43554         Reported by anonymous kc.
43555
43556 2009-07-07  Jim Meyering  <meyering@redhat.com>
43557
43558         maint.mk: don't look for translatable strings in *.m4 or *.mk
43559         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
43560         when searching for translatable strings.
43561
43562 2009-07-05  Jim Meyering  <meyering@redhat.com>
43563
43564         remove superfluous parentheses in STREQ definition
43565         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
43566         * lib/getugroups.c (STREQ): Likewise.
43567         * lib/fnmatch.c (STREQ): Likewise.
43568         Spotted by Bruno Haible.
43569
43570 2009-07-04  Jim Meyering  <meyering@redhat.com>
43571
43572         argv-iter: new module
43573         * MODULES.html.sh: Add argv-iter.
43574         * lib/argv-iter.c, lib/argv-iter.h: New files.
43575         * modules/argv-iter: New file.
43576         * modules/argv-iter-tests: New file.
43577         * tests/test-argv-iter.c: Test it.
43578
43579 2009-07-04  Bruno Haible  <bruno@clisp.org>
43580
43581         Fix assertion.
43582         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
43583         contains more exact copies of a given entry than file2, leave the extra
43584         copies unpaired rather than aborting.
43585         Reported by Eric Blake.
43586
43587 2009-07-02  Bruno Haible  <bruno@clisp.org>
43588
43589         Speedup git-merge-changelog for git cherry-pick.
43590         * lib/git-merge-changelog.c (struct entries_mapping): New type.
43591         (entries_mapping_get): New function, extracted from compute_mapping.
43592         (entries_mapping_reverse_get): New function.
43593         (compute_mapping): Add a 'full' argument. Return the result in a
43594         'struct entries_mapping'.
43595         (main): Update. Access the mappings through entries_mapping_get.
43596         Reported by Eric Blake.
43597
43598 2009-07-02  Bruno Haible  <bruno@clisp.org>
43599
43600         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
43601         best_i.
43602
43603 2009-07-02  Bruno Haible  <bruno@clisp.org>
43604
43605         Speed up approximate search for matching ChangeLog entries.
43606         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
43607         argument. Call fstrcmp_bounded instead of fstrcmp.
43608         (compute_mapping, try_split_merged_entry, main): Update callers.
43609
43610 2009-07-02  Bruno Haible  <bruno@clisp.org>
43611
43612         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
43613
43614 2009-06-30  Bruno Haible  <bruno@clisp.org>
43615
43616         Reduce the number of uc_is_cased calls.
43617         * lib/unicase.h (casing_suffix_context_t): Add
43618         'first_char_except_ignorable' field.
43619         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
43620         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
43621         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
43622         Update initializer.
43623         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
43624         case-ignorable characters.
43625         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
43626         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
43627         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
43628         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
43629         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
43630
43631 2009-06-30  Bruno Haible  <bruno@clisp.org>
43632
43633         Tests for module 'unicase/ignorable'.
43634         * modules/unicase/ignorable-tests: New file.
43635         * tests/unicase/test-ignorable.c: New file, generated by
43636         gen-uni-tables.
43637
43638         Tests for module 'unicase/cased'.
43639         * modules/unicase/cased-tests: New file.
43640         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
43641         * tests/unicase/test-predicate-part1.h: New file, derived from
43642         tests/unictype/test-predicate-part1.h.
43643         * tests/unicase/test-predicate-part2.h: New file, same as
43644         tests/unictype/test-predicate-part2.h.
43645
43646         Fix evaluation of "Before C" condition of FINAL_SIGMA.
43647         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
43648         (output_casing_properties): New function.
43649         (main): Call it.
43650         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
43651         * lib/unicase/cased.c: Include unictype/bitmap.h.
43652         (uc_is_cased): Define through a bitmap lookup.
43653         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
43654         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
43655         (uc_is_case_ignorable): Define through a bitmap lookup.
43656         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
43657         lib/unictype/bitmap.h.
43658         (Depends-on): Add inline. Clean up.
43659         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
43660         lib/unictype/bitmap.h.
43661         (Depends-on): Add inline. Clean up.
43662         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
43663         recognition.
43664         * tests/unicase/test-u16-tolower.c (main): Likewise.
43665         * tests/unicase/test-u32-tolower.c (main): Likewise.
43666
43667 2009-06-30  Bruno Haible  <bruno@clisp.org>
43668
43669         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
43670         * lib/unicase/u16-casemap.c: Likewise.
43671         * lib/unicase/u32-casemap.c: Likewise.
43672
43673 2009-06-29  Bruno Haible  <bruno@clisp.org>
43674
43675         Define u32_casefold as a wrapper around u32_ct_casefold.
43676         * lib/unicase/u32-casefold.c: Update.
43677         * modules/unicase/u32-casefold (Depends-on): Add
43678         unicase/u32-ct-casefold, unicase/empty-prefix-context,
43679         unicase/empty-suffix-context. Clean up.
43680
43681         Define u16_casefold as a wrapper around u16_ct_casefold.
43682         * lib/unicase/u16-casefold.c: Update.
43683         * modules/unicase/u16-casefold (Depends-on): Add
43684         unicase/u16-ct-casefold, unicase/empty-prefix-context,
43685         unicase/empty-suffix-context. Clean up.
43686
43687         Define u8_casefold as a wrapper around u8_ct_casefold.
43688         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
43689         * lib/unicase/u8-casefold.c: Update.
43690         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
43691         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43692
43693         Define u32_totitle as a wrapper around u32_ct_totitle.
43694         * lib/unicase/u32-totitle.c: Update.
43695         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
43696         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43697
43698         Define u16_totitle as a wrapper around u16_ct_totitle.
43699         * lib/unicase/u16-totitle.c: Update.
43700         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
43701         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43702
43703         Define u8_totitle as a wrapper around u8_ct_totitle.
43704         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
43705         functions.
43706         (FUNC): Delegate to U_CT_TOTITLE.
43707         * lib/unicase/u8-totitle.c: Update.
43708         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
43709         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43710
43711         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
43712         invocation.
43713         * modules/unicase/u32-tolower (Depends-on): Add
43714         unicase/empty-prefix-context, unicase/empty-suffix-context.
43715
43716         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
43717         invocation.
43718         * modules/unicase/u16-tolower (Depends-on): Add
43719         unicase/empty-prefix-context, unicase/empty-suffix-context.
43720
43721         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
43722         * modules/unicase/u8-tolower (Depends-on): Add
43723         unicase/empty-prefix-context, unicase/empty-suffix-context.
43724
43725         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
43726         invocation.
43727         * modules/unicase/u32-toupper (Depends-on): Add
43728         unicase/empty-prefix-context, unicase/empty-suffix-context.
43729
43730         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
43731         invocation.
43732         * modules/unicase/u16-toupper (Depends-on): Add
43733         unicase/empty-prefix-context, unicase/empty-suffix-context.
43734
43735         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
43736         * modules/unicase/u8-toupper (Depends-on): Add
43737         unicase/empty-prefix-context, unicase/empty-suffix-context.
43738
43739         New module 'unicase/u32-ct-casefold'.
43740         * lib/unicase/u32-ct-casefold.c: New file.
43741         * modules/unicase/u32-ct-casefold: New file.
43742
43743         New module 'unicase/u16-ct-casefold'.
43744         * lib/unicase/u16-ct-casefold.c: New file.
43745         * modules/unicase/u16-ct-casefold: New file.
43746
43747         New module 'unicase/u8-ct-casefold'.
43748         * lib/unicase/u8-ct-casefold.c: New file.
43749         * lib/unicase/u-ct-casefold.h: New file, derived from
43750         lib/unicase/u-casefold.h.
43751         * modules/unicase/u8-ct-casefold: New file.
43752
43753         New module 'unicase/u32-ct-totitle'.
43754         * lib/unicase/u32-ct-totitle.c: New file.
43755         * modules/unicase/u32-ct-totitle: New file.
43756
43757         New module 'unicase/u16-ct-totitle'.
43758         * lib/unicase/u16-ct-totitle.c: New file.
43759         * modules/unicase/u16-ct-totitle: New file.
43760
43761         New module 'unicase/u8-ct-totitle'.
43762         * lib/unicase/u8-ct-totitle.c: New file.
43763         * lib/unicase/u-ct-totitle.h: New file, derived from
43764         lib/unicase/u-totitle.h.
43765         * modules/unicase/u8-ct-totitle: New file.
43766
43767         New module 'unicase/u32-ct-tolower'.
43768         * lib/unicase/u32-ct-tolower.c: New file.
43769         * modules/unicase/u32-ct-tolower: New file.
43770
43771         New module 'unicase/u16-ct-tolower'.
43772         * lib/unicase/u16-ct-tolower.c: New file.
43773         * modules/unicase/u16-ct-tolower: New file.
43774
43775         New module 'unicase/u8-ct-tolower'.
43776         * lib/unicase/u8-ct-tolower.c: New file.
43777         * modules/unicase/u8-ct-tolower: New file.
43778
43779         New module 'unicase/u32-ct-toupper'.
43780         * lib/unicase/u32-ct-toupper.c: New file.
43781         * modules/unicase/u32-ct-toupper: New file.
43782
43783         New module 'unicase/u16-ct-toupper'.
43784         * lib/unicase/u16-ct-toupper.c: New file.
43785         * modules/unicase/u16-ct-toupper: New file.
43786
43787         New module 'unicase/u8-ct-toupper'.
43788         * lib/unicase/u8-ct-toupper.c: New file.
43789         * modules/unicase/u8-ct-toupper: New file.
43790
43791         Add context arguments to u*_casemap functions.
43792         * lib/unicase/unicasemap.h: Include unicase.h.
43793         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
43794         suffix_context arguments.
43795         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
43796         functions.
43797         (FUNC): Add prefix_context and suffix_context arguments. Use
43798         uc_is_cased and uc_is_case_ignorable.
43799         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
43800         * lib/unicase/u16-casemap.c: Likewise.
43801         * lib/unicase/u32-casemap.c: Likewise.
43802         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
43803         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43804         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
43805         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43806         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
43807         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43808
43809         New module 'unicase/u32-suffix-context'.
43810         * lib/unicase/u32-suffix-context.c: New file.
43811         * modules/unicase/u32-suffix-context: New file.
43812
43813         New module 'unicase/u16-suffix-context'.
43814         * lib/unicase/u16-suffix-context.c: New file.
43815         * modules/unicase/u16-suffix-context: New file.
43816
43817         New module 'unicase/u8-suffix-context'.
43818         * lib/unicase/u8-suffix-context.c: New file.
43819         * lib/unicase/u-suffix-context.h: New file.
43820         * modules/unicase/u8-suffix-context: New file.
43821
43822         New module 'unicase/empty-suffix-context'.
43823         * lib/unicase/empty-suffix-context.c: New file.
43824         * modules/unicase/empty-suffix-context: New file.
43825
43826         New module 'unicase/u32-prefix-context'.
43827         * lib/unicase/u32-prefix-context.c: New file.
43828         * modules/unicase/u32-prefix-context: New file.
43829
43830         New module 'unicase/u16-prefix-context'.
43831         * lib/unicase/u16-prefix-context.c: New file.
43832         * modules/unicase/u16-prefix-context: New file.
43833
43834         New module 'unicase/u8-prefix-context'.
43835         * lib/unicase/u8-prefix-context.c: New file.
43836         * lib/unicase/u-prefix-context.h: New file.
43837         * lib/unicase/context.h: New file.
43838         * modules/unicase/u8-prefix-context: New file.
43839
43840         New module 'unicase/empty-prefix-context'.
43841         * lib/unicase/empty-prefix-context.c: New file.
43842         * modules/unicase/empty-prefix-context: New file.
43843
43844         New module 'unicase/ignorable'.
43845         * lib/unicase/ignorable.c: New file.
43846         * modules/unicase/ignorable: New file.
43847
43848         New module 'unicase/cased'.
43849         * lib/unicase/caseprop.h: New file.
43850         * lib/unicase/cased.c: New file.
43851         * modules/unicase/cased: New file.
43852
43853         New functions for case mapping of substrings.
43854         * lib/unicase.h (casing_prefix_context_t): New type.
43855         (unicase_empty_prefix_context): New variable.
43856         (u8_casing_prefix_context, u16_casing_prefix_context,
43857         u32_casing_prefix_context, u8_casing_prefixes_context,
43858         u16_casing_prefixes_context, u32_casing_prefixes_context): New
43859         declarations.
43860         (casing_suffix_context_t): New type.
43861         (unicase_empty_suffix_context): New variable.
43862         (u8_casing_suffix_context, u16_casing_suffix_context,
43863         u32_casing_suffix_context, u8_casing_suffixes_context,
43864         u16_casing_suffixes_context, u32_casing_suffixes_context,
43865         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
43866         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
43867         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
43868         declarations.
43869
43870 2009-06-28  Jim Meyering  <meyering@redhat.com>
43871
43872         boostrap: indent only with spaces
43873         * build-aux/bootstrap: Indent only with spaces, never TABs.
43874
43875         bootstrap: split long lines
43876         * build-aux/bootstrap: Keep line length < 80.
43877
43878         bootstrap: sync from coreutils
43879         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
43880         just as autoreconf does.  Verify a list of prerequisite
43881         package-name,version-number pairs if defined in bootstrap.conf.
43882         Refer to README-prereq, if prerequisites are not satisfied.
43883
43884 2009-06-27  Eric Blake  <ebb9@byu.net>
43885
43886         tests: add test for bogus NULL definition
43887         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
43888         * tests/test-stdlib.c: Likewise.
43889         * tests/test-string.c: Likewise.
43890         * tests/test-locale.c: Likewise.
43891         * tests/test-unistd.c: Likewise.
43892         * modules/stdio-tests (Depends-on): Add verify.
43893         * modules/stdlib-tests (Depends-on): Likewise.
43894         * modules/string-tests (Depends-on): Likewise.
43895         * modules/locale-tests (Depends-on): Likewise.
43896         * modules/unistd-tests (Depends-on): Likewise.
43897
43898 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
43899
43900         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
43901         self-explaining comment.
43902         * m4/selinux-selinux-h: Update serial.
43903         (gl_LIBSELINUX): New macro, adding a warning for missing development
43904         packages to code extracted from...
43905         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
43906         Add warning for missing development packages here, too.
43907
43908 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
43909
43910         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
43911
43912 2009-06-25  Eric Blake  <ebb9@byu.net>
43913
43914         version-etc: fix regression
43915         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
43916         gcc.
43917         (version_etc): Use it, to catch bugs with trailing NULL.
43918         * lib/version-etc.c (version_etc_arn): Delete unused argument.
43919         (version_etc_va): Fix logic bug.
43920         * modules/version-etc-tests: Add test.
43921         * tests/test-version-etc.c: New file.
43922         * tests/test-version-etc.sh: Likewise.
43923
43924 2009-06-25  Sam Steingold  <sds@gnu.org>
43925
43926         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
43927         mbtowc declaration.
43928
43929 2009-06-25  Eric Blake  <ebb9@byu.net>
43930
43931         fpurge: migrate into <stdio.h>
43932         * lib/fpurge.h: Delete...
43933         * lib/stdio.in.h (fpurge): ...and declare here, instead.
43934         * lib/fpurge.c (fpurge): Change declaring header.
43935         * modules/fpurge (Files): Drop deleted file.
43936         (Depends-on): Add stdio.
43937         (configure.ac): Set witness.
43938         * modules/stdio (Makefile.am): Support fpurge macros.
43939         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43940         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
43941         * lib/fflush.c: Update client.
43942         * tests/test-fpurge.c: Likewise.
43943         * NEWS: Mention the change.
43944
43945 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43946
43947         * lib/argp-version-etc.c (program_authors): Add const
43948         qualifier.
43949         * lib/version-etc.c: Fix typos in the comments.
43950         * modules/argp-version-etc: Depends on version-etc.
43951
43952 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43953
43954         argp-version-etc: new module.
43955
43956         * lib/argp-version-etc.c: New file.
43957         * lib/argp-version-etc.h: New file.
43958         * modules/argp-version-etc: New file.
43959         * modules/argp-version-etc-tests: New file.
43960         * tests/test-argp-version-etc.c: New test.
43961         * tests/test-argp-version-etc-1.sh: New test.
43962
43963 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43964
43965         Provide additional interfaces and documentation for version-etc
43966         module.
43967
43968         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
43969         interfaces.
43970         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
43971         prototypes.
43972
43973 2009-06-24  Bruno Haible  <bruno@clisp.org>
43974
43975         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
43976         HAVE_LIB${NAME} macro.
43977         Reported by Sam Steingold <sds@gnu.org>.
43978
43979 2009-06-23  Simon Josefsson  <simon@josefsson.org>
43980
43981         * modules/hash-tests (test_hash_LDADD): Link to libintl when
43982         needed.
43983
43984 2009-06-21  Bruno Haible  <bruno@clisp.org>
43985
43986         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
43987         work.
43988         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
43989         together with LIB${NAME}, LTLIB${NAME}.
43990         Reported by Sam Steingold <sds@gnu.org>.
43991
43992 2009-06-20  Jim Meyering  <meyering@redhat.com>
43993
43994         tests: make sc_require_test_exit_idiom more generic
43995         * top/maint.mk (Exit_witness_file): New overridable variable.
43996         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
43997         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
43998
43999 2009-06-19  Jim Meyering  <meyering@redhat.com>
44000
44001         hash: reverse order of src/dst parameters in an internal interface
44002         * lib/hash.c (transfer_entries): Reverse order of parameters to
44003         put DST before SRC.  Adjust callers.
44004
44005         tests: test-hash: avoid wholesale duplication
44006         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
44007         Instead, use a loop and add a single conditional.
44008
44009         tests: test-hash: allow seed selection via a command line argument
44010         * tests/test-hash.c (get_seed): New function.
44011         (main): Use it.
44012
44013 2009-06-19  Eric Blake  <ebb9@byu.net>
44014
44015         hash: avoid memory leak on allocation failure
44016         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
44017         failure.  Factor repeated algorithm...
44018         (transfer_entries): ...into new helper routine.
44019         (hash_delete): React to hash_rehash return value.
44020
44021         hash: reduce memory pressure in hash_rehash no-op case
44022         * lib/hash.c (next_prime): Avoid overflow.
44023         (hash_initialize): Factor bucket size computation...
44024         (compute_bucket_size): ...into new helper function.
44025         (hash_rehash): Use new function and open coding to reduce memory
44026         pressure, and avoid a memory leak in USE_OBSTACK code.
44027         Reported by Jim Meyering.
44028
44029 2009-06-18  Eric Blake  <ebb9@byu.net>
44030
44031         hash: make rotation more obvious
44032         * modules/hash (Depends-on): Add bitrotate and stdint.
44033         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
44034         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
44035         (SIZE_MAX): Rely on headers for definition.
44036         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
44037         (raw_hasher): Use rotr_sz.
44038         Suggested by Jim Meyering.
44039
44040         hash: fix memory leak in last patch
44041         * lib/hash.c (hash_rehash): Avoid memory leak.
44042
44043         hash: avoid no-op rehashing
44044         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
44045
44046         hash: provide default callback functions
44047         * lib/hash.c (raw_hasher, raw_comparator): New functions.
44048         (hash_initialize): Use them as defaults.
44049         * tests/test-hash.c (main): Test this.
44050
44051         hash: minor optimization
44052         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
44053         when possible.
44054         (hash_initialize): Document this promise.
44055         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
44056         * tests/test-hash.c (hash_compare_strings): Test this.
44057
44058 2009-06-18  Bruno Haible  <bruno@clisp.org>
44059
44060         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
44061         going to be replaced anyway.
44062
44063 2009-06-18  Bruno Haible  <bruno@clisp.org>
44064
44065         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
44066         in one place.
44067         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
44068         be replaced anyway.
44069
44070 2009-06-18  Eric Blake  <ebb9@byu.net>
44071
44072         hash: check for resize before insertion
44073         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
44074         threshold before insertion, so that a pathological hash_rehash
44075         that fills every bucket can still trigger another rehash.
44076
44077 2009-06-18  Jim Meyering  <meyering@redhat.com>
44078
44079         hash-tests: add a loop around the small tests
44080         * tests/test-hash.c (main): Repeat small tests with selected
44081         small initial table sizes.
44082
44083 2009-06-17  Eric Blake  <ebb9@byu.net>
44084
44085         hash: minor cleanups
44086         * lib/hash.h (hash_entry): Make opaque, by moving...
44087         * lib/hash.c (hash_entry): ...here.
44088         (hash_insert): Clarify restrictions on what can be inserted.
44089         (hash_get_next): Clarify when it is safe to remove an element
44090         during traversal.
44091         (check_tuning): Skip verification when tuning is known safe.
44092         (hash_initialize): Clarify restrictions on tuning.
44093
44094 2009-06-17  Jim Meyering  <jim@meyering.net>
44095         and Eric Blake  <ebb9@byu.net>
44096
44097         hash-tests: new module
44098         * modules/hash-tests: New file.
44099         * tests/test-hash.c: New file.
44100
44101 2009-06-17  Eric Blake  <ebb9@byu.net>
44102
44103         strstr-simple: document new module
44104         * MODULES.html.sh: Document new module.
44105
44106         strstr, strcasestr: replace on platforms with broken memchr
44107         * modules/strstr: Split into...
44108         * modules/strstr-simple: ...new module that does not care about
44109         performance, but does care about glibc bug.
44110         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
44111         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
44112         if platform memchr is broken, per Debian bug 521737.
44113         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
44114         memchr.
44115         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
44116         * doc/posix-functions/strstr.texi (strstr): Document the fix.
44117         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44118         * modules/mountlist (Depends-on): Add strstr-simple.
44119         * modules/gen-uni-tables (Depends-on): Likewise.
44120         * modules/argz (Depends-on): Add strstr.
44121
44122 2009-06-17  Bruno Haible  <bruno@clisp.org>
44123
44124         * modules/posix_spawn-internal (Depends-on): Add errno.
44125
44126 2009-06-17  Bruno Haible  <bruno@clisp.org>
44127
44128         Define missing ESTALE on Interix 3.5.
44129         * lib/errno.in.h (ESTALE): Assign a value if missing.
44130         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
44131         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
44132         missing.
44133         * doc/posix-headers/errno.texi: Mention the Interix bug.
44134         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
44135
44136 2009-06-15  Eric Blake  <ebb9@byu.net>
44137
44138         memchr, memchr2: add valgrind exception
44139         * lib/memchr.valgrind: New file.
44140         * lib/memchr2.valgrind: New file.
44141         * modules/memchr (Files): Distribute valgrind file.
44142         * modules/memchr2 (Files): Likewise.
44143
44144         docs: memchr is no longer obsolete
44145         * MODULES.html.sh: Move memchr from obsolete to string.h section.
44146         * lib/string.in.h (memchr): Simplify logic.
44147
44148 2009-06-14  Jim Meyering  <meyering@redhat.com>
44149
44150         link-follow: fix the "checking..." message to not mention trailing slash
44151         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
44152         never considered trailing slashes.
44153
44154 2009-06-14  Bruno Haible  <bruno@clisp.org>
44155
44156         * m4/memchr.m4: Mention also the bug on IA-64.
44157         * doc/posix-functions/memchr.texi: Likewise.
44158
44159 2009-06-12  Eric Blake  <ebb9@byu.net>
44160
44161         memchr: detect broken x86_64 and alpha implementations
44162         * modules/memchr-tests (Depends-on): Move mmap detection...
44163         * modules/memchr (Depends-on): ...here.
44164         (configure.ac): Set indicator.
44165         * lib/string.in.h (memchr): Declare replacement.
44166         * modules/string (Makefile.am): Trigger replacement.
44167         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44168         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
44169         bugs.
44170         * doc/posix-functions/memchr.texi (memchr): Document the bug.
44171         * modules/getpagesize (License): Relax license.
44172
44173 2009-06-11  Bruno Haible  <bruno@clisp.org>
44174
44175         * lib/idpriv.h: Add more references.
44176
44177 2009-06-08  Bruno Haible  <bruno@clisp.org>
44178
44179         Tests for module 'idpriv-droptemp'.
44180         * modules/idpriv-droptemp-tests: New file.
44181         * tests/test-idpriv-droptemp.sh: New file.
44182         * tests/test-idpriv-droptemp.su.sh: New file.
44183         * tests/test-idpriv-droptemp.c: New file.
44184
44185         New module 'idpriv-droptemp'.
44186         * lib/idpriv-droptemp.c: New file.
44187         * modules/idpriv-droptemp: New file.
44188
44189 2009-06-08  Bruno Haible  <bruno@clisp.org>
44190
44191         Tests for module 'idpriv-drop'.
44192         * modules/idpriv-drop-tests: New file.
44193         * tests/test-idpriv-drop.sh: New file.
44194         * tests/test-idpriv-drop.su.sh: New file.
44195         * tests/test-idpriv-drop.c: New file.
44196
44197         New module 'idpriv-drop'.
44198         * lib/idpriv.h: New file.
44199         * lib-idpriv-drop.c: New file.
44200         * m4/idpriv.m4: New file.
44201         * modules/idpriv-drop: New file.
44202
44203 2009-06-08  Bruno Haible  <bruno@clisp.org>
44204
44205         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
44206         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44207         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44208         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44209         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44210         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44211         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44212
44213 2009-06-08  Eric Blake  <ebb9@byu.net>
44214
44215         test-strstr: use memory fence, when possible
44216         * tests/test-strstr.c (main): Use memory fence, in order to be
44217         more likely to trigger Debian bug 521737.
44218         * modules/strstr-tests (Files): Pull in additional files.
44219
44220         memchr: no longer obsolete, for wider field testing
44221         * modules/memchr (Status, Notice): Delete, this module is no
44222         longer obsolete.
44223         * modules/vasnprintf (Depends-on): Add memchr.
44224
44225 2009-06-07  Jim Meyering  <meyering@redhat.com>
44226
44227         hash: declare some functions with the warn_unused_result attribute
44228         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
44229
44230 2009-06-07  Bruno Haible  <bruno@clisp.org>
44231
44232         * tests/test-alignof.c: Don't test int64_t if it does not exist.
44233         Reported by Eric Blake.
44234
44235 2009-06-06  Eric Blake  <ebb9@byu.net>
44236
44237         test-alignof: fix typo with long double
44238         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
44239         compiler error.
44240
44241 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
44242
44243         Escape non-texinfo { and }s.
44244         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
44245         markup error.
44246
44247 2009-06-04  Jim Meyering  <meyering@redhat.com>
44248
44249         gitlog-to-changelog: don't infloop on an empty commit log
44250         * build-aux/gitlog-to-changelog: Warn about an empty log message.
44251         Reported by Boris Petersen <transacid@centerim.org>.
44252
44253 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
44254
44255         version-etc: extend for packagers
44256         Add three new configure options, intended for packagers:
44257           --with-packager="packager name"
44258           --with-packager-version="packager-specific version"
44259           --with-packager-bug-reports="packager bug reporting"
44260         An example with coreutils:
44261           $ ./configure \
44262             --with-packager=Gentoo \
44263             --with-packager-bug-report=http://bugs.gentoo.org/ \
44264             --with-packager-version="patchset 1.6"
44265           $ ./src/ls --version | head -n2
44266           ls (GNU coreutils) 7.1-dirty
44267           Packaged by Gentoo (patchset 1.6)
44268         Note that the bug reporting info via --help doesn't show up because
44269         coreutils uses its own custom emit_bug_reporting_address() implementation
44270         in src/system.h.  If it didn't, it'd look like:
44271           $ ./src/ls --help | tail -n4
44272           Report bugs to <bug-coreutils@gnu.org>.
44273           Report Gentoo bugs to <http://bugs.gentoo.org/>.
44274           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
44275           General help using GNU software: <http://www.gnu.org/gethelp/>.
44276         * lib/version-etc.c: Print new information, if provided.
44277         * m4/version-etc.m4: New file.
44278         * modules/version-etc (Files): Add m4/version-etc.m4.
44279         (configure.ac): Add gl_VERSION_ETC.
44280
44281 2009-05-31  Bruno Haible  <bruno@clisp.org>
44282
44283         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
44284         and 'int64_t'.
44285         * modules/alignof-tests (Dependencies): Add stdint.
44286         Reported by Eric Blake.
44287
44288 2009-05-31  Bruno Haible  <bruno@clisp.org>
44289
44290         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
44291         restriction due to compiler bugs.
44292         Reported by Eric Blake.
44293
44294 2009-05-31  Simon Josefsson  <simon@josefsson.org>
44295             Bruno Haible  <bruno@clisp.org>
44296
44297         Fix test-alignof failure.
44298         * lib/alignof.h (alignof_slot): New macro.
44299         (alignof_type): New macro, with the same semantics as the previous
44300         'alignof'.
44301         (alignof): Alias to alignof_slot.
44302         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
44303         check that the results are usable as constant expressions.
44304
44305 2009-05-31  Bruno Haible  <bruno@clisp.org>
44306
44307         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
44308         * tests/test-memchr.c (main): Check that memchr does not read past the
44309         first occurrence of the byte.
44310         * tests/test-strstr.c (main): Update comment.
44311         Suggested by Eric Blake.
44312
44313 2009-05-30  Bruno Haible  <bruno@clisp.org>
44314
44315         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
44316         detail how to use dumpbin.
44317         Reported by David Byron <dbyron@dbyron.com>.
44318
44319 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44320
44321         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
44322
44323 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44324
44325         * m4/manywarnings.m4: Add GCC 4.4 warnings.
44326
44327 2009-05-28  Bruno Haible  <bruno@clisp.org>
44328
44329         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
44330         build-aux/ files.
44331
44332 2009-05-28  Simon Josefsson  <simon@josefsson.org>
44333
44334         * gnulib-tool (func_import): Transform license on build-aux/ files too.
44335
44336 2009-05-27  Simon Josefsson  <simon@josefsson.org>
44337
44338         * gnulib-tool (sed_transform_main_lib_file)
44339         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
44340         regexps.
44341
44342 2009-05-26  Simon Josefsson  <simon@josefsson.org>
44343
44344         * tests/test-strstr.c: Add another self-test.
44345         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
44346         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
44347
44348 2009-05-23  Bruno Haible  <bruno@clisp.org>
44349
44350         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
44351         change.
44352
44353 2009-05-21  Bruno Haible  <bruno@clisp.org>
44354
44355         Simplify use of mode_t varargs.
44356         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
44357         uses 'mode_t' or 'int'.
44358         * lib/openat.c (openat): Likewise.
44359         * lib/open-safer.c (open_safer): Likewise.
44360         * m4/mode_t.m4: New file.
44361         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
44362         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
44363         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
44364         * modules/open (Files): Add m4/mode_t.m4.
44365         * modules/openat (Files): Likewise.
44366         * modules/fcntl-safer (Files): Likewise.
44367         Suggested by Eric Blake.
44368
44369 2009-05-21  Pádraig Brady  <P@draigbrady.com>
44370
44371         * doc/glibc-functions/fallocate.texi: New file.
44372         * doc/gnulib.texi: Include it.
44373
44374 2009-05-21  Eric Blake  <ebb9@byu.net>
44375             Bruno Haible  <bruno@clisp.org>
44376
44377         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
44378         invocations.
44379         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44380
44381 2009-05-21  Eric Blake  <ebb9@byu.net>
44382             Bruno Haible  <bruno@clisp.org>
44383
44384         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
44385         include_next. Fix of 2008-11-20 commit.
44386         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
44387         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
44388         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
44389         NEXT_MATH_H.
44390         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
44391         instead of NEXT_MATH_H.
44392
44393 2009-05-21  Bruno Haible  <bruno@clisp.org>
44394
44395         Avoid redefinition warnings for SIZE_MAX.
44396         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
44397         Reported by Simon Josefsson.
44398
44399 2009-05-21  Bruno Haible  <bruno@clisp.org>
44400
44401         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
44402         AC_CACHE_VAL.
44403
44404 2009-05-20  Bruno Haible  <bruno@clisp.org>
44405
44406         Make zeroptr.h work on mingw.
44407         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
44408         mprotect.
44409         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
44410         * modules/memchr2-tests (configure.ac): Likewise.
44411         * modules/memcmp-tests (configure.ac): Likewise.
44412         * modules/memmem-tests (configure.ac): Likewise.
44413         * modules/memrchr-tests (configure.ac): Likewise.
44414         Reported by Simon Josefsson.
44415
44416 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44417
44418         * tests/test-glob.c: Include string.h for strcmp prototype.
44419
44420 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44421
44422         * modules/getdelim (Depends-on): Add explicit stdint, although it
44423         was implicitly already pulled in via realloc-posix.
44424         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
44425
44426 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44427
44428         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
44429         G. Christensen" <tgc@jupiterrise.com>.
44430         * m4/sys_socket_h.m4: Check for sa_family_t.
44431         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
44432         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
44433         * tests/test-sys_socket.c: Check that sa_family_t works.
44434
44435 2009-05-18  Eric Blake  <ebb9@byu.net>
44436
44437         maint.mk: allow gnulib_dir in VPATH build
44438         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
44439
44440 2009-05-15  Jim Meyering  <meyering@redhat.com>
44441
44442         maint.mk: Give gnulib_dir a default definition.
44443         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
44444         Thus, most packages no longer need to specify this variable in cfg.mk
44445
44446 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
44447
44448         rename.m4: fix typos that would make non-mingw cross-configure fail
44449         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
44450
44451 2009-05-13  Eric Blake  <ebb9@byu.net>
44452
44453         mmap-anon: avoid out-of-order autoconf expansion
44454         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
44455         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
44456         * modules/memchr-tests (Depends-on): Add extensions.
44457         * modules/memchr2-tests (Depends-on): Add extensions.
44458         * modules/memcmp-tests (Depends-on): Add extensions.
44459         * modules/memmem-tests (Depends-on): Add extensions.
44460         * modules/memrchr-tests (Depends-on): Add extensions.
44461
44462 2009-05-13  Bruno Haible  <bruno@clisp.org>
44463
44464         Make some tests ISO C 99 compliant.
44465         * tests/zerosize-ptr.h: New file.
44466         * tests/test-memchr.c: Include zerosize-ptr.h.
44467         (main): Use a zero-size object pointer instead of NULL.
44468         * tests/test-memchr2.c: Include zerosize-ptr.h.
44469         (main): Use a zero-size object pointer instead of NULL.
44470         * tests/test-memcmp.c: Include zerosize-ptr.h.
44471         (main): Use a zero-size object pointer instead of NULL.
44472         * tests/test-memmem.c: Include zerosize-ptr.h.
44473         (main): Use a zero-size object pointer instead of NULL.
44474         * tests/test-memrchr.c: Include zerosize-ptr.h.
44475         (main): Use a zero-size object pointer instead of NULL.
44476         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
44477         m4/mmap-anon.m4.
44478         (Depends-on): Add getpagesize.
44479         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44480         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
44481         m4/mmap-anon.m4.
44482         (Depends-on): Add getpagesize.
44483         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44484         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
44485         m4/mmap-anon.m4.
44486         (Depends-on): Add getpagesize.
44487         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44488         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
44489         m4/mmap-anon.m4.
44490         (Depends-on): Add getpagesize.
44491         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44492         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
44493         m4/mmap-anon.m4.
44494         (Depends-on): Add getpagesize.
44495         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44496
44497 2009-05-12  Bruno Haible  <bruno@clisp.org>
44498
44499         Tests for module 'alignof'.
44500         * modules/alignof-tests: New file.
44501         * tests/test-alignof.c: New file.
44502
44503 2009-05-12  Bruno Haible  <bruno@clisp.org>
44504
44505         Fix alignof macro.
44506         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
44507         vendor compilers that are always correct.
44508
44509 2009-05-12  Bruno Haible  <bruno@clisp.org>
44510
44511         Make the MAP_ANONYMOUS detection work on HP-UX 11.
44512         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
44513         not whether its fully works.
44514
44515 2009-05-12  Bruno Haible  <bruno@clisp.org>
44516
44517         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
44518
44519 2009-05-12  Jim Meyering  <meyering@redhat.com>
44520
44521         * top/maint.mk: Adjust backslash alignment.
44522
44523 2009-05-11  Simon Josefsson  <simon@josefsson.org>
44524
44525         * top/maint.mk: Make $(srcdir)/build-aux configurable.
44526
44527 2009-05-11  Eric Blake  <ebb9@byu.net>
44528
44529         argp: avoid undefined behavior
44530         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
44531         macros.
44532
44533 2009-05-08  Simon Josefsson  <simon@josefsson.org>
44534
44535         * tests/test-vc-list-files-git.sh: Do git config of user.email and
44536         user.name to prevent git commit from complaining.
44537
44538 2009-05-10  Bruno Haible  <bruno@clisp.org>
44539
44540         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
44541         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
44542         it rewrites every file name only once.
44543         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
44544
44545 2009-05-08  Bruno Haible  <bruno@clisp.org>
44546
44547         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
44548         instead of 'max'.
44549
44550 2009-05-08  Simon Josefsson  <simon@josefsson.org>
44551
44552         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
44553         sockaddr_storage test.
44554
44555 2009-05-07  Simon Josefsson  <simon@josefsson.org>
44556
44557         * modules/sys_socket (Makefile.am): Substitute
44558         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
44559         * m4/sys_socket_h.m4: Check for sockaddr_storage.
44560         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
44561         * tests/test-sys_socket.c: Check sockaddr_storage.
44562
44563 2009-05-08  Bruno Haible  <bruno@clisp.org>
44564
44565         New module 'alignof'.
44566         * lib/alignof.h: New file.
44567         * modules/alignof: New file.
44568
44569 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44570             Bruno Haible  <bruno@clisp.org>
44571
44572         Fix test-file-has-acl on FreeBSD.
44573         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
44574         mask is implicitly added.
44575         * tests/test-file-has-acl.c: Include <signal.h>.
44576         (main): Terminate the test after 5 seconds.
44577         * modules/acl-tests (configure.ac): Check for alarm function.
44578
44579 2009-05-04  Bruno Haible  <bruno@clisp.org>
44580
44581         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
44582         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
44583         * modules/errno (configure.ac): Drop AC_REQUIRE.
44584         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
44585         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
44586
44587 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44588
44589         * modules/glob-tests: New module.
44590         * tests/test-glob.c: Add.
44591
44592 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44593
44594         * modules/fnmatch-tests: New module.
44595         * tests/test-fnmatch.c: Add.
44596
44597 2009-05-04  Eric Blake  <ebb9@byu.net>
44598
44599         maint: make the new no-submodule-changes rule VPATH-safe
44600         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
44601
44602 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44603             Bruno Haible  <bruno@clisp.org>
44604
44605         acl: Fix infinite loop on FreeBSD.
44606         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
44607         of return value from acl_get_entry.
44608         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
44609         Likewise.
44610
44611 2009-05-03  Bruno Haible  <bruno@clisp.org>
44612
44613         * lib/acl-internal.h (acl_entries): Clarify return value.
44614         * lib/acl_entries.c (acl_entries): Likewise.
44615
44616 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44617
44618         Bug fix in acl module.
44619         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
44620
44621 2009-05-03  Bruno Haible  <bruno@clisp.org>
44622
44623         Create gperf-generated file in the source dir, not in the build dir.
44624         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
44625         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
44626         * modules/unicase/locale-language (unicase/locale-languages.h):
44627         Likewise.
44628         * modules/unicase/special-casing (unicase/special-casing-table.h):
44629         Likewise.
44630         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
44631         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
44632         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
44633         Reported by Ralf Wildenhues.
44634
44635 2009-05-03  Bruno Haible  <bruno@clisp.org>
44636
44637         * modules/fnmatch (Description, configure.ac): Taken from
44638         fnmatch-posix.
44639         * modules/fnmatch-posix: Turn into a symbolic reference to the
44640         'fnmatch' module, and deprecate.
44641         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
44642
44643 2009-05-03  Bruno Haible  <bruno@clisp.org>
44644
44645         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
44646         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
44647         Reported by Ralf Wildenhues.
44648
44649 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44650
44651         * m4/fnmatch.m4: Fix fnmatch re-define.
44652
44653 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44654
44655         priv-set: new module and tests; adapt write-any-file
44656         * lib/priv-set.c: New file.
44657         * lib/priv-set.h: New file.
44658         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
44659         * lib/write-any-file.c: Simplify by using priv-set module.
44660         * m4/priv-set.m4: New file.
44661         * modules/priv-set: New file.
44662         * modules/unlinkdir: Add dependency on priv-set module.
44663         * modules/write-any-file: Likewise.
44664
44665         Tests for module 'priv-set'.
44666         * modules/priv-set-tests: New file.
44667         * tests/test-priv-set.c: New file.
44668
44669 2009-05-03  Jim Meyering  <meyering@redhat.com>
44670             Bruno Haible  <bruno@clisp.org>
44671
44672         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
44673         use the converted UTF-8 variant of the name instead.
44674
44675 2009-05-03  Jim Meyering  <meyering@redhat.com>
44676
44677         tests: tighten some getdate tests
44678         * tests/test-getdate.c (main): Tighten tests: require equality,
44679         not just greater than.  Set TZ envvar to UTC0.
44680
44681 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
44682
44683         getdate: correctly interpret "next monday" when run on a Monday
44684         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
44685         that e.g., "next tues" (when run on a tuesday) results in a date
44686         that is one week in the future, and not today's date.
44687         I.e., add a week when the wday is the same as the current one.
44688         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
44689         and earlier by Martin Bernreuther and Jan Minář.
44690         * tests/test-getdate.c (main): Check that "next DAY" is always in
44691         the future and that "last DAY" is always in the past.
44692
44693 2009-05-02  Jim Meyering  <meyering@redhat.com>
44694
44695         build: ensure that a release build fails when a submodule is unclean
44696         * top/maint.mk (no-submodule-changes): New rule.
44697         (alpha beta major): Depend on it.
44698
44699 2009-05-02  Bruno Haible  <bruno@clisp.org>
44700
44701         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
44702         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
44703         shell variable gl_fnmatch_required to detect which variant is
44704         requested.
44705         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
44706         gl_FUNC_FNMATCH_POSIX.
44707         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
44708         exclude fnmatch-posix.
44709
44710 2009-05-02  Bruno Haible  <bruno@clisp.org>
44711
44712         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
44713         * modules/mbsrtowcs (License): Change to LGPLv2+.
44714         * modules/strnlen1 (License): Likewise.
44715         Reported by Simon Josefsson.
44716
44717 2009-05-02  Bruno Haible  <bruno@clisp.org>
44718
44719         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
44720         "cross".
44721         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
44722         gnulib-tool was called with option --source-base=lib.
44723
44724 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44725
44726         Use automake *-local hooks without commands, for extensibility.
44727         * modules/localcharset (Makefile.am): Rename install-exec-local
44728         rule to install-exec-localcharset, and make it a prerequisite of
44729         install-exec-local.  Likewise, rename the uninstall-local rule to
44730         uninstall-localcharset, and make it a prerequisite of the former.
44731
44732 2009-05-01  Bruno Haible  <bruno@clisp.org>
44733
44734         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
44735         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44736         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
44737         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
44738         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
44739         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44740         m4/locale-zh.m4, m4/codeset.m4.
44741
44742         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44743         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
44744         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44745         m4/locale-zh.m4.
44746
44747         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
44748         REPLACE_WCRTOMB if mbstate_t must be replaced.
44749         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
44750         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
44751
44752 2009-05-01  Bruno Haible  <bruno@clisp.org>
44753
44754         Avoid compiler warnings when redefining macros defined by <libintl.h>.
44755         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
44756         dngettext, dcngettext, textdomain, bindtextdomain,
44757         bind_textdomain_codeset): Undefine before redefining.
44758
44759 2009-04-30  Bruno Haible  <bruno@clisp.org>
44760
44761         Fix bug introduced on 2009-04-25.
44762         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
44763         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
44764         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
44765         is defined.
44766         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
44767         is defined.
44768         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
44769         is defined.
44770         Reported by Elbert_Pol <elbert.pol@gmail.com>.
44771
44772 2009-04-28  Bruno Haible  <bruno@clisp.org>
44773
44774         Comment tweaks.
44775         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
44776         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
44777         * lib/unicase.h (u*_casexfrm): Likewise.
44778         Reported by Paolo Bonzini.
44779
44780 2009-04-28  Bruno Haible  <bruno@clisp.org>
44781
44782         Fix a compilation error.
44783         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
44784         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44785         Reported by Jim Meyering.
44786
44787 2009-04-27  Bruno Haible  <bruno@clisp.org>
44788
44789         New module 'libunistring'.
44790         * modules/libunistring: New file.
44791         * m4/libunistring.m4: New file.
44792         * MODULES.html.sh (Unicode string functions): Add it.
44793
44794 2009-04-27  Eric Blake  <ebb9@byu.net>
44795
44796         maint.mk: allow package-specific header to provide <config.h>
44797         * top/maint.mk (sc_require_config_h): New variable.
44798         (sc_require_config_h, sc_require_config_h_first): Use it.
44799
44800 2009-04-27  Simon Josefsson  <simon@josefsson.org>
44801
44802         * top/maint.mk (sc_avoid_if_before_free): Except
44803         useless-if-before-free script.
44804
44805 2009-04-27  Eric Blake  <ebb9@byu.net>
44806
44807         maintainer-makefile: depend on all required helper scripts
44808         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
44809         useless-if-before-free.
44810         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
44811         version, rather than assuming gnulib checkout is available.
44812         Reported by Simen Josefsson.
44813
44814 2009-04-26  Bruno Haible  <bruno@clisp.org>
44815
44816         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
44817         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
44818         "../" or "..".
44819
44820 2009-04-26  Bruno Haible  <bruno@clisp.org>
44821
44822         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
44823         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
44824         AC_LIB_HAVE_LINKFLAGS.
44825
44826 2009-04-26  Bruno Haible  <bruno@clisp.org>
44827
44828         Simplify calling convention of u*_conv_from_encoding.
44829         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
44830         u32_conv_from_encoding): Expect a resultbuf argument and return the
44831         result directly as a pointer.
44832         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
44833         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
44834         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
44835         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
44836         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
44837         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44838         Update.
44839         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
44840         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
44841         * lib/vasnprintf.c (VASNPRINTF): Update.
44842         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
44843         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
44844         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
44845         * NEWS: Mention the change.
44846
44847 2009-04-26  Bruno Haible  <bruno@clisp.org>
44848
44849         Simplify calling convention of u*_conv_to_encoding.
44850         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
44851         u32_conv_to_encoding): Expect a resultbuf argument and return the
44852         result directly as a pointer.
44853         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44854         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
44855         freeing scaled_offsets if mem_iconveha failed.
44856         * lib/unicase/u-casexfrm.h (FUNC): Update.
44857         * lib/uninorm/u-normxfrm.h (FUNC): Update.
44858         * lib/vasnprintf.c (VASNPRINTF): Update.
44859         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
44860         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
44861         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
44862         * NEWS: Mention the change.
44863
44864 2009-04-26  Bruno Haible  <bruno@clisp.org>
44865
44866         Avoid test failures on AIX and OSF/1.
44867         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
44868         malloc(0).
44869         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44870         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44871         Likewise.
44872         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
44873         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
44874         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
44875         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
44876         * doc/posix-functions/malloc.texi: Document the portability problem
44877         related to malloc(0).
44878
44879 2009-04-26  Bruno Haible  <bruno@clisp.org>
44880
44881         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
44882         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
44883         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
44884
44885 2009-04-25  Bruno Haible  <bruno@clisp.org>
44886
44887         Avoid link error when creating a namespace clean library.
44888         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
44889         as macro with arguments if already defined as an alias.
44890         * lib/signbitf.c (gl_signbitf): Don't undefine.
44891         * lib/signbitd.c (gl_signbitd): Don't undefine.
44892         * lib/signbitl.c (gl_signbitl): Don't undefine.
44893
44894 2009-04-25  Jim Meyering  <meyering@redhat.com>
44895
44896         vc-list-files: fix another quoting bug
44897         * build-aux/vc-list-files: Avoid sed backslash expansion
44898         of pathological directory names.
44899
44900 2009-04-25  Eric Blake  <ebb9@byu.net>
44901
44902         vc-list-files: fix shell quoting error
44903         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
44904         timestamp.
44905
44906 2009-04-25  Jim Meyering  <meyering@redhat.com>
44907
44908         vc-list-files: restore lost functionality with subdir argument
44909         * build-aux/vc-list-files: When given a non-"." sub-directory
44910         argument, substitute the $dir/ prefix back onto each resulting name.
44911         Otherwise, coreutils' root_tests check would fail.
44912
44913 2009-04-24  Eric Blake  <ebb9@byu.net>
44914
44915         vc-list-files: ignore git symlinks
44916         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
44917         than ls-files, to ignore git symlinks.
44918
44919         maint.mk: import improvements from m4
44920         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
44921         (move_if_change): Delete unused macro.
44922         (news-date-check, vc-diff-check): Support VPATH builds.
44923         (announcement): Likewise.  Split --bootstrap-tools list...
44924         (boostrap-tools): ...into separate list, which can be overridden
44925         in cfg.mk.
44926         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
44927         requiring dependency on useless-if-before-free module.
44928         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
44929         Support VPATH builds.
44930
44931 2009-04-24  Jim Meyering  <meyering@redhat.com>
44932
44933         maint.mk: remove coreutils-specific rules and variables
44934         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
44935         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
44936         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
44937
44938         maint.mk: remove obsolete rule
44939         * top/maint.mk (rel-check): Remove rule.
44940         (WGET, WGETFLAGS): Remove now-unused variables.
44941
44942 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44943
44944         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
44945         consistency.
44946
44947         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
44948         '$(PATH_SEPARATOR)' instead of ':'.
44949
44950 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44951
44952         * lib/getopt1.c (main): Use 'const' for static array.
44953
44954 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44955
44956         * top/maint.mk: Sync with coreutils.
44957         * NEWS: Explain incompatibilities.
44958
44959 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44960             Bruno Haible  <bruno@clisp.org>
44961
44962         Fix cross-compilation results.
44963         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
44964         statement, as third argument of AC_TRY_RUN.
44965         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
44966         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
44967         Likewise.
44968         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44969         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
44970         Likewise.
44971         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
44972         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
44973         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
44974
44975 2009-04-20  Bruno Haible  <bruno@clisp.org>
44976
44977         Avoid test failure on mingw.
44978         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
44979
44980 2009-04-20  Bruno Haible  <bruno@clisp.org>
44981
44982         Avoid compilation error on mingw.
44983         * modules/localename-tests (Depends-on): Add locale.
44984
44985 2009-04-19  Bruno Haible  <bruno@clisp.org>
44986
44987         Support for building a shared library on Windows platforms.
44988         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
44989         (main): Test the presence of UNINORM_NFC here.
44990         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
44991         (main): Test the presence of UNINORM_NFD here.
44992         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
44993         (main): Test the presence of UNINORM_NFKC here.
44994         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
44995         (main): Test the presence of UNINORM_NFKD here.
44996
44997 2009-04-19  Bruno Haible  <bruno@clisp.org>
44998
44999         Avoid a compiler warning.
45000         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
45001         Change type of variable 'sequence'.
45002
45003 2009-04-19  Bruno Haible  <bruno@clisp.org>
45004
45005         * modules/configmake (Makefile.am): When the contents of configmake.h
45006         does not change, arrange to preserve its modification time.
45007
45008 2009-04-17  Simon Josefsson  <simon@josefsson.org>
45009
45010         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
45011         gettext domain.
45012
45013 2009-04-16  Jim Meyering  <meyering@redhat.com>
45014
45015         useless-if-before-free: improve conversion code
45016         * build-aux/useless-if-before-free: Adjust code-in-comment to match
45017         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
45018
45019 2009-04-14  Bruno Haible  <bruno@clisp.org>
45020
45021         * modules/fcntl (Depends-on): Add extensions.
45022         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
45023
45024 2009-04-12  Ben Pfaff  <blp@gnu.org>
45025
45026         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
45027         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
45028
45029 2009-03-20  Ben Pfaff  <blp@gnu.org>
45030
45031         Make rename replace existing destinations on Windows.
45032         * m4/rename.m4: Add test for Mingw.
45033         * lib/rename.c: Add rename replacement that uses MoveFileEx with
45034         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
45035         * doc/posix-functions/rename.texi: Document.
45036
45037 2009-04-10  Bruno Haible  <bruno@clisp.org>
45038
45039         New include file "iconveh.h".
45040         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
45041         * lib/striconveh.h: Include it.
45042         (enum iconv_ilseq_handler): Remove definition.
45043         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
45044         striconveh.h.
45045         * lib/striconveha.c: Include striconveh.h.
45046         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
45047         * modules/striconveh (Files): Add lib/iconveh.h.
45048         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
45049         lib/striconveh.h.
45050
45051 2009-04-10  Bruno Haible  <bruno@clisp.org>
45052
45053         * lib/uniconv.h: Update comment.
45054
45055 2009-04-10  Bruno Haible  <bruno@clisp.org>
45056
45057         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
45058         always.
45059         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
45060         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45061         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45062         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
45063         "unistring-notinline.h", so that the function gets defined always.
45064         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
45065         * lib/unistr/u8-uctomb.c: Likewise.
45066         * lib/unistr/u16-mbtouc.c: Likewise.
45067         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45068         * lib/unistr/u16-uctomb.c: Likewise.
45069         * lib/unistr/u32-mbtouc.c: Likewise.
45070         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45071         * lib/unistr/u32-uctomb.c: Likewise.
45072
45073 2009-04-10  Bruno Haible  <bruno@clisp.org>
45074
45075         Mark 'utime' obsolete.
45076         * modules/utime (Status, Notice): New sections.
45077         Suggested by Jim Meyering.
45078
45079         Fix cross-compile guess for utime test.
45080         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
45081         autoconf.
45082         * doc/posix-functions/utime.texi: Give more precisions.
45083         Reported by Jan <ipif@ymail.com>.
45084
45085 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
45086
45087         filevercmp: correct today's change
45088         * lib/filevercmp.c: Also handle coreutils' test inputs.
45089         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
45090
45091         Fix regression in 'filevercmp' module. Thanks Sven Joachim
45092         for reporting it.
45093         * lib/filevercmp.c: Special handle for "", "." and "..".
45094         * tests/test-filevercmp.c: Enlarge the set suite.
45095
45096 2009-04-07  Jim Meyering  <meyering@redhat.com>
45097
45098         useless-if-before-free: show how to remove braced useless free, too
45099         * build-aux/useless-if-before-free: still only in a comment, though.
45100
45101 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
45102
45103         maint.mk: import changes to syntax-check macros from coreutils
45104         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
45105         Use them in the relevant macros.
45106
45107 2009-04-06  Bruno Haible  <bruno@clisp.org>
45108
45109         Fix unportable use of bit-fields.
45110         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
45111         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
45112         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
45113
45114 2009-04-06  Bruno Haible  <bruno@clisp.org>
45115
45116         Avoid test failures on AIX and OSF/1.
45117         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
45118         that malloc(0) = NULL.
45119         * tests/unicase/test-u8-tolower.c (check): Likewise.
45120         * tests/unicase/test-u8-totitle.c (check): Likewise.
45121         * tests/unicase/test-u8-toupper.c (check): Likewise.
45122         * tests/unicase/test-u16-casefold.c (check): Likewise.
45123         * tests/unicase/test-u16-tolower.c (check): Likewise.
45124         * tests/unicase/test-u16-totitle.c (check): Likewise.
45125         * tests/unicase/test-u16-toupper.c (check): Likewise.
45126         * tests/unicase/test-u32-casefold.c (check): Likewise.
45127         * tests/unicase/test-u32-tolower.c (check): Likewise.
45128         * tests/unicase/test-u32-totitle.c (check): Likewise.
45129         * tests/unicase/test-u32-toupper.c (check): Likewise.
45130         * tests/uninorm/test-u8-nfc.c (check): Likewise.
45131         * tests/uninorm/test-u8-nfd.c (check): Likewise.
45132         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
45133         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
45134         * tests/uninorm/test-u16-nfc.c (check): Likewise.
45135         * tests/uninorm/test-u16-nfd.c (check): Likewise.
45136         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
45137         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
45138         * tests/uninorm/test-u32-nfc.c (check): Likewise.
45139         * tests/uninorm/test-u32-nfd.c (check): Likewise.
45140         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
45141         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
45142
45143 2009-04-05  Bruno Haible  <bruno@clisp.org>
45144
45145         Work around an autoconf limitation.
45146         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
45147         comment line if it would be longer than 3 KB.
45148
45149 2009-04-05  Bruno Haible  <bruno@clisp.org>
45150
45151         Avoid test failure with libiconv-1.13.
45152         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
45153         of the expected test results.
45154
45155 2009-04-05  Bruno Haible  <bruno@clisp.org>
45156
45157         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
45158         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
45159         that it should be installed.
45160
45161 2009-04-05  Bruno Haible  <bruno@clisp.org>
45162
45163         * gnulib-tool: New option --copy-file.
45164         (func_usage): Document it.
45165         (func_dest_tmpfilename): Moved out of func_import.
45166         (func_add_file, func_update_file): New functions, extracted from
45167         func_import.
45168         (func_import): Update.
45169
45170 2009-04-05  Karl Berry  <karl@gnu.org>
45171
45172         * README: prominently mention gnulib-tool.
45173         Rearrange sections so getting the code is near the top.
45174
45175 2009-04-05  Bruno Haible  <bruno@clisp.org>
45176
45177         * lib/unicase.h: Mention u*_cmp2.
45178         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45179         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
45180         * lib/unicase/ulc-casecmp.c: Likewise.
45181         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
45182         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
45183         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
45184         unistr/u8-cmp.
45185         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
45186         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
45187         unistr/u16-cmp.
45188         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
45189         unistr/u32-cmp.
45190
45191         * lib/uninorm.h: Mention u*_cmp2.
45192         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45193         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
45194         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
45195         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
45196         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
45197         unistr/u8-cmp.
45198         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
45199         unistr/u16-cmp.
45200         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
45201         unistr/u32-cmp.
45202
45203         New module 'unistr/u32-cmp2'.
45204         * lib/unistr/u32-cmp2.c: New file.
45205         * modules/unistr/u32-cmp2: New file.
45206
45207         New module 'unistr/u16-cmp2'.
45208         * lib/unistr/u16-cmp2.c: New file.
45209         * modules/unistr/u16-cmp2: New file.
45210
45211         New module 'unistr/u8-cmp2'.
45212         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
45213         * lib/unistr/u8-cmp2.c: New file.
45214         * lib/unistr/u-cmp2.h: New file.
45215         * modules/unistr/u8-cmp2: New file.
45216
45217 2009-04-05  Bruno Haible  <bruno@clisp.org>
45218
45219         * lib/unictype.h (uc_property_is_valid): New macro.
45220         * tests/unictype/test-pr_byname.c (main): Use it.
45221
45222         * lib/unistr.h: Doc fixes.
45223         * lib/uniconv.h: Doc fixes.
45224         * lib/unictype.h: Doc fixes.
45225
45226 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
45227
45228         Port coreutils 7.2 to Solaris 8.
45229
45230         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
45231         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
45232         for Solaris 8.  This is a bit of a hack, as it means it's the
45233         caller's responsibility to add -lnsl if needed, but most likely it
45234         won't be needed since only getaddrinfo uses this and getaddrinfo
45235         isn't needed on Solaris 8.
45236
45237         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
45238         problem to Solaris 8 encountered with coreutils 7.2, which
45239         resulted in a message "fnmatch.c:292: warning: passing argument 4
45240         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
45241         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
45242
45243 2009-04-03  Simon Josefsson  <simon@josefsson.org>
45244
45245         * m4/ld-version-script.m4: Add FIXME comment.
45246
45247 2009-04-02  Simon Josefsson  <simon@josefsson.org>
45248
45249         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
45250         SOVERSION variable.
45251
45252 2009-04-02  Bruno Haible  <bruno@clisp.org>
45253
45254         * Makefile (info, html, dvi, pdf): Combine the rules.
45255         Suggested by Jim Meyering.
45256
45257 2009-04-01  Bruno Haible  <bruno@clisp.org>
45258
45259         * Makefile (info, html, dvi, pdf): New targets.
45260         Reported by Reuben Thomas <rrt@sc3d.org>.
45261
45262 2009-04-01  Bruno Haible  <bruno@clisp.org>
45263
45264         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
45265         can be put into PATH.
45266         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
45267
45268 2009-04-01  Bruno Haible  <bruno@clisp.org>
45269
45270         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
45271
45272 2009-04-01  Bruno Haible  <bruno@clisp.org>
45273
45274         Rename module 'visibility'.
45275         * modules/lib-symbol-visibility: Renamed from modules/visibility.
45276         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
45277         * doc/gnulib.texi: Update.
45278         * MODULES.html.sh (Misc): Update.
45279         * NEWS: Mention the change.
45280
45281 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45282
45283         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
45284         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
45285         Eric Blake <ebb9@byu.net> for review.
45286         * MODULES.html.sh: Add lib-msvc-compat.
45287         * doc/gnulib.texi: Link to new section.
45288         * m4/ld-output-def.m4: New file.
45289         * doc/ld-output-def.texi: New file.
45290
45291 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45292
45293         Rename ld-version-script to lib-symbol-versions.  Suggested by
45294         Bruno Haible <bruno@clisp.org>.
45295         * modules/ld-version-script: Renamed to lib-symbol-versions.
45296         * doc/ld-version-script.texi: Fix module name.
45297         * MODULES.html.sh: Add lib-symbol-versions.
45298
45299 2009-03-31  Simon Josefsson  <simon@josefsson.org>
45300
45301         * modules/u64-tests: New file.
45302         * tests/test-u64.c: New file.
45303
45304 2009-03-04  Simon Josefsson  <simon@josefsson.org>
45305
45306         * MODULES.html.sh: Mention u64.
45307         * modules/u64: New module.
45308         * modules/crypto/sha512: Depend on u64 module instead of providing
45309         u64.h.
45310
45311 2009-03-27  Eric Blake  <ebb9@byu.net>
45312
45313         test-strerror: make debugging EAI_SYSTEM easier
45314         * modules/getaddrinfo-tests (Depends-on): Add strerror.
45315         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
45316         failure was EAI_SYSTEM.
45317
45318 2009-03-25  Bruno Haible  <bruno@clisp.org>
45319
45320         Fix a problem with --enable-relocatable on Solaris 7.
45321         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
45322         since 2008-02-24.
45323
45324 2009-03-25  Eric Blake  <ebb9@byu.net>
45325
45326         test-sockets: avoid gcc warning
45327         * tests/test-sockets.c (main): Silence compiler warning.
45328
45329 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
45330
45331         New modules nproc, pthread, contributed by Glen Lenker.
45332
45333         * MODULES.html.sh: Add pthread, nproc.
45334         * lib/nproc.c: New file.
45335         * lib/nproc.h: New file.
45336         * lib/pthread.in.h: New file.
45337         * m4/pthread.m4: New file.
45338         * modules/nproc: New file.
45339         * modules/pthread: New file.
45340
45341 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45342
45343         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
45344         New variable.
45345
45346 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
45347
45348         filevercmp: handle simple~ and numbered.~3~ backup suffixes
45349         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
45350         * tests/test-filevercmp.c: Add tests for backup suffixes.
45351
45352 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45353
45354         * modules/stdlib (Depends-on): Add stdint, needed when defining
45355         struct random_data on, for example, HP-UX 10.20.  Reported by
45356         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45357
45358 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45359
45360         * lib/readline.c (readline): Call fflush on stdout after printing
45361         prompt.
45362
45363 2009-03-20  Bruno Haible  <bruno@clisp.org>
45364
45365         Remove dependency from 'close' module to -lws2_32 on native Windows.
45366         * lib/close-hook.h: New file.
45367         * lib/close-hook.c: New file.
45368         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
45369         w32sock.h.
45370         (_gl_close_fd_maybe_socket): Remove function.
45371         (rpl_close): Invoke execute_all_close_hooks instead of
45372         _gl_close_fd_maybe_socket.
45373         * lib/sockets.c: Include close-hook.h, w32sock.h.
45374         (close_fd_maybe_socket): New function, essentially from lib/close.c.
45375         (close_sockets_hook): New variable.
45376         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
45377         (gl_sockets_cleanup): Unregister it.
45378         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
45379         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
45380         * modules/close-hook: New file.
45381         * modules/close (Files): Remove lib/w32sock.h.
45382         (Depends-on): Add close-hook.
45383         (Link): Remove section.
45384         * modules/sockets (Files): Add lib/w32sock.h.
45385         (Depends-on): Add close-hook.
45386         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
45387         invocation.
45388         * NEWS: Mention that LIB_CLOSE is gone.
45389
45390 2009-03-23  Eric Blake  <ebb9@byu.net>
45391
45392         signal-tests: test previous patch
45393         * tests/test-signal.c: New file.
45394         * modules/signal-tests: Likewise.
45395
45396         signal.h: always support 'volatile sig_atomic_t'
45397         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
45398         (gl_SIGNAL_H_DEFAULTS): Add a default.
45399         * modules/signal (Makefile.am): Substitute if needed.
45400         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
45401         users can blindly add volatile.
45402         * doc/posix-headers/signal.texi (signal.h): Document it.
45403         Reported by Matthew Woehlke.
45404
45405 2009-03-23  Jim Meyering  <meyering@redhat.com>
45406
45407         pathmax: PATH_MAX: use pathconf only when available
45408         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
45409         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
45410         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
45411         This avoids a link failure in a PSP cross-compilation environment
45412         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
45413
45414         * lib/vasnprintf.c (divide): Fix typo in comment.
45415
45416 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45417
45418         * gnulib-tool (func_filter_filelist): Fix comment.
45419
45420 2009-03-20  Bruno Haible  <bruno@clisp.org>
45421
45422         Make sockets.h self-contained.
45423         * lib/sockets.c: Include sockets.h first.
45424         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
45425
45426 2009-03-19  Eric Blake  <ebb9@byu.net>
45427
45428         doc: mention more functions added in cygwin 1.7.0
45429         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
45430         addition.
45431         * doc/posix-functions/log2f.texi: Likewise.
45432
45433 2009-03-19  Jim Meyering  <meyering@redhat.com>
45434
45435         fsusage: avoid syntax error due to statement-before-declaration
45436         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
45437         after all declarations.  Reported by Matthew Woehlke in
45438         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
45439
45440 2009-03-18  Eric Blake  <ebb9@byu.net>
45441
45442         build-aux/compile: sync from automake
45443         * build-aux/compile: New file, from automake.
45444         * config/srclist.txt: Mention build-aux/compile.
45445
45446 2009-03-17  Bruno Haible  <bruno@clisp.org>
45447
45448         * lib/git-merge-changelog.c: Fix typo in comment.
45449         Reported by Reuben Thomas <rrt@sc3d.org>.
45450
45451 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
45452
45453         * m4/regex.m4: update and improve help for
45454         --without-included-regex.
45455
45456 2009-03-17  Simon Josefsson  <simon@josefsson.org>
45457
45458         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
45459         failure on missing include files.
45460
45461 2009-03-17  Eric Blake  <ebb9@byu.net>
45462
45463         doc: mention more functions added in cygwin 1.7.0
45464         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
45465         addition.
45466         * doc/posix-functions/fwscanf.texi: Likewise.
45467         * doc/posix-functions/swprintf.texi: Likewise.
45468         * doc/posix-functions/swscanf.texi: Likewise.
45469         * doc/posix-functions/vfwprintf.texi: Likewise.
45470         * doc/posix-functions/vfwscanf.texi: Likewise.
45471         * doc/posix-functions/vswprintf.texi: Likewise.
45472         * doc/posix-functions/vswscanf.texi: Likewise.
45473         * doc/posix-functions/vwprintf.texi: Likewise.
45474         * doc/posix-functions/vwscanf.texi: Likewise.
45475         * doc/posix-functions/wcscasecmp.texi: Likewise.
45476         * doc/posix-functions/wcsdup.texi: Likewise.
45477         * doc/posix-functions/wcsftime.texi: Likewise.
45478         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45479         * doc/posix-functions/wprintf.texi: Likewise.
45480         * doc/posix-functions/wscanf.texi: Likewise.
45481         * doc/glibc-functions/gethostbyname2.texi: Likewise.
45482
45483 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45484
45485         maint.mk: really add $(AM_MAKEFLAGS)
45486         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
45487         was inadvertently omitted in the last commit.
45488         Spotted by Bruno Haible.
45489
45490         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
45491         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
45492         $(AM_MAKEFLAGS)' rather than plain `make'.
45493
45494         gnulib-tool: execute $MAKE not make
45495         * gnulib-tool: Default $MAKE to 'make'.
45496         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
45497         than make.  Initialize $MAKE in the do-autobuild script.
45498
45499         gnulib-tool: use $MAKE not make in generated files
45500         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
45501         make, in generated files.  Initialize $MAKE in the do-autobuild
45502         script.
45503
45504         * top/GNUmakefile (_have-git-version-gen): Fix typo.
45505
45506         GNUmakefile: disable parallelism only for multiple, recursive targets
45507         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
45508         additions in the Makefile.
45509         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
45510         by Automake.
45511         (.NOTPARALLEL): Only disable parallel builds if multiple targets
45512         are listed on the command line and at least one of them is
45513         listed in $(ALL_RECURSIVE_TARGETS).
45514
45515 2009-03-14  Bruno Haible  <bruno@clisp.org>
45516
45517         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
45518         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
45519         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
45520         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
45521         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
45522         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
45523         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
45524         unistr/u8-uctomb.
45525         * modules/unistr/u8-strchr (Depends-on): Likewise.
45526         * modules/unistr/u8-strrchr (Depends-on): Likewise.
45527         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
45528         unistr/u16-uctomb.
45529         * modules/unistr/u16-strchr (Depends-on): Likewise.
45530         * modules/unistr/u16-strrchr (Depends-on): Likewise.
45531
45532 2009-03-12  Bruno Haible  <bruno@clisp.org>
45533
45534         Work around select() bug on Interix 3.5.
45535         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
45536         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
45537         * m4/select.m4: New file.
45538         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
45539         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
45540         * modules/select (Files): Add m4/select.m4.
45541         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
45542         * modules/nanosleep (Depends-on): Add select.
45543         * modules/poll (Depends-on): Likewise.
45544         * doc/posix-functions/select.texi: Mention the Interix bug.
45545         Reported by Markus Duft <mduft@gentoo.org>.
45546
45547         * lib/select.c: Renamed from lib/winsock-select.c.
45548         * modules/select (Files): Add lib/select.c, remove
45549         lib/winsock-select.c.
45550         (configure.ac): Update.
45551
45552 2009-03-12  Jim Meyering  <meyering@redhat.com>
45553
45554         avoid gcc warnings about unused macro definitions
45555         * lib/readtokens.c (STREQ): Remove unused definition.
45556         * lib/xmalloc.c (SIZE_MAX): Likewise.
45557         * lib/openat-die.c (N_): Likewise.
45558         * lib/mountlist.c (SIZE_MAX): Remove definition.
45559         Instead, include <stdint.h>.
45560         * lib/readutmp.c: Likewise.
45561         * modules/readutmp (Depends-on): Add stdint.
45562         * modules/mountlist (Depends-on): Add stdint.
45563         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
45564
45565 2009-03-10  Bruno Haible  <bruno@clisp.org>
45566
45567         Tests for module 'mbmemcasecoll'.
45568         * modules/mbmemcasecoll-tests: New file.
45569         * tests/test-mbmemcasecoll1.sh: New file.
45570         * tests/test-mbmemcasecoll2.sh: New file.
45571         * tests/test-mbmemcasecoll3.sh: New file.
45572         * tests/test-mbmemcasecoll.c: New file.
45573
45574         New module 'mbmemcasecoll'.
45575         * lib/mbmemcasecoll.h: New file.
45576         * lib/mbmemcasecoll.c: New file.
45577         * modules/mbmemcasecoll: New file.
45578
45579         * tests/test-mbmemcasecmp.h: New file, extracted from
45580         tests/test-mbmemcasecmp.c.
45581         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
45582         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
45583         (main): Update.
45584         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
45585
45586 2009-03-09  Bruno Haible  <bruno@clisp.org>
45587
45588         Tests for module 'mbmemcasecmp'.
45589         * modules/mbmemcasecmp-tests: New file.
45590         * tests/test-mbmemcasecmp1.sh: New file.
45591         * tests/test-mbmemcasecmp2.sh: New file.
45592         * tests/test-mbmemcasecmp3.sh: New file.
45593         * tests/test-mbmemcasecmp.c: New file.
45594
45595         New module 'mbmemcasecmp'.
45596         * lib/mbmemcasecmp.h: New file.
45597         * lib/mbmemcasecmp.c: New file.
45598         * modules/mbmemcasecmp: New file.
45599
45600 2009-03-09  Bruno Haible  <bruno@clisp.org>
45601
45602         Tests for module 'unicase/ulc-casecoll'.
45603         * modules/unicase/ulc-casecoll-tests: New file.
45604         * tests/unicase/test-ulc-casecoll1.sh: New file.
45605         * tests/unicase/test-ulc-casecoll2.sh: New file.
45606         * tests/unicase/test-ulc-casecoll.c: New file.
45607
45608         New module 'unicase/ulc-casecoll'.
45609         * lib/unicase.h (ulc_casecoll): New declaration.
45610         * lib/unicase/ulc-casecoll.c: New file.
45611         * modules/unicase/ulc-casecoll: New file.
45612
45613         New module 'unicase/ulc-casexfrm'.
45614         * lib/unicase.h (ulc_casexfrm): New declaration.
45615         * lib/unicase/ulc-casexfrm.c: New file.
45616         * modules/unicase/ulc-casexfrm: New file.
45617
45618 2009-03-09  Bruno Haible  <bruno@clisp.org>
45619
45620         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
45621         invocations.
45622
45623         * m4/mbscasecmp.m4: Remove file.
45624         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
45625         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
45626
45627         * m4/mbscasestr.m4: Remove file.
45628         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
45629         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
45630
45631         * m4/mbschr.m4: Remove file.
45632         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
45633         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
45634
45635         * m4/mbscspn.m4: Remove file.
45636         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
45637         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
45638
45639         * m4/mbslen.m4: Remove file.
45640         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
45641         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
45642
45643         * m4/mbsncasecmp.m4: Remove file.
45644         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
45645         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
45646
45647         * m4/mbsnlen.m4: Remove file.
45648         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
45649         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
45650
45651         * m4/mbspbrk.m4: Remove file.
45652         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
45653         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
45654
45655         * m4/mbspcasecmp.m4: Remove file.
45656         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
45657         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
45658
45659         * m4/mbsrchr.m4: Remove file.
45660         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
45661         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
45662
45663         * m4/mbssep.m4: Remove file.
45664         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
45665         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
45666
45667         * m4/mbsspn.m4: Remove file.
45668         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
45669         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
45670
45671         * m4/mbsstr.m4: Remove file.
45672         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
45673         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
45674
45675         * m4/mbstok_r.m4: Remove file.
45676         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
45677         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
45678
45679         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
45680
45681         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
45682         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
45683
45684         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
45685
45686 2009-03-08  Bruno Haible  <bruno@clisp.org>
45687
45688         Tests for module 'unicase/ulc-casecmp'.
45689         * modules/unicase/ulc-casecmp-tests: New file.
45690         * tests/unicase/test-ulc-casecmp1.sh: New file.
45691         * tests/unicase/test-ulc-casecmp2.sh: New file.
45692         * tests/unicase/test-ulc-casecmp.c: New file.
45693
45694         New module 'unicase/ulc-casecmp'.
45695         * lib/unicase.h (ulc_casecmp): New declaration.
45696         * lib/unicase/ulc-casecmp.c: New file.
45697         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
45698         'const SRC_UNIT *'.
45699         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
45700         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
45701         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
45702         * modules/unicase/ulc-casecmp: New file.
45703
45704         Tests for module 'unicase/u32-is-cased'.
45705         * modules/unicase/u32-is-cased-tests: New file.
45706         * tests/unicase/test-u32-is-cased.c: New file.
45707
45708         Tests for module 'unicase/u16-is-cased'.
45709         * modules/unicase/u16-is-cased-tests: New file.
45710         * tests/unicase/test-u16-is-cased.c: New file.
45711
45712         Tests for module 'unicase/u8-is-cased'.
45713         * modules/unicase/u8-is-cased-tests: New file.
45714         * tests/unicase/test-u8-is-cased.c: New file.
45715         * tests/unicase/test-is-cased.h: New file.
45716
45717         New module 'unicase/u32-is-cased'.
45718         * lib/unicase/u32-is-cased.c: New file.
45719         * modules/unicase/u32-is-cased: New file.
45720
45721         New module 'unicase/u16-is-cased'.
45722         * lib/unicase/u16-is-cased.c: New file.
45723         * modules/unicase/u16-is-cased: New file.
45724
45725         New module 'unicase/u8-is-cased'.
45726         * lib/unicase/u8-is-cased.c: New file.
45727         * lib/unicase/u-is-cased.h: New file.
45728         * modules/unicase/u8-is-cased: New file.
45729
45730         Tests for module 'unicase/u32-is-casefolded'.
45731         * modules/unicase/u32-is-casefolded-tests: New file.
45732         * tests/unicase/test-u32-is-casefolded.c: New file.
45733
45734         Tests for module 'unicase/u16-is-casefolded'.
45735         * modules/unicase/u16-is-casefolded-tests: New file.
45736         * tests/unicase/test-u16-is-casefolded.c: New file.
45737
45738         Tests for module 'unicase/u8-is-casefolded'.
45739         * modules/unicase/u8-is-casefolded-tests: New file.
45740         * tests/unicase/test-u8-is-casefolded.c: New file.
45741         * tests/unicase/test-is-casefolded.h: New file.
45742
45743         New module 'unicase/u32-is-casefolded'.
45744         * lib/unicase/u32-is-casefolded.c: New file.
45745         * modules/unicase/u32-is-casefolded: New file.
45746
45747         New module 'unicase/u16-is-casefolded'.
45748         * lib/unicase/u16-is-casefolded.c: New file.
45749         * modules/unicase/u16-is-casefolded: New file.
45750
45751         New module 'unicase/u8-is-casefolded'.
45752         * lib/unicase/u8-is-casefolded.c: New file.
45753         * modules/unicase/u8-is-casefolded: New file.
45754
45755         Tests for module 'unicase/u32-is-titlecase'.
45756         * modules/unicase/u32-is-titlecase-tests: New file.
45757         * tests/unicase/test-u32-is-titlecase.c: New file.
45758
45759         Tests for module 'unicase/u16-is-titlecase'.
45760         * modules/unicase/u16-is-titlecase-tests: New file.
45761         * tests/unicase/test-u16-is-titlecase.c: New file.
45762
45763         Tests for module 'unicase/u8-is-titlecase'.
45764         * modules/unicase/u8-is-titlecase-tests: New file.
45765         * tests/unicase/test-u8-is-titlecase.c: New file.
45766         * tests/unicase/test-is-titlecase.h: New file.
45767
45768         New module 'unicase/u32-is-titlecase'.
45769         * lib/unicase/u32-is-titlecase.c: New file.
45770         * modules/unicase/u32-is-titlecase: New file.
45771
45772         New module 'unicase/u16-is-titlecase'.
45773         * lib/unicase/u16-is-titlecase.c: New file.
45774         * modules/unicase/u16-is-titlecase: New file.
45775
45776         New module 'unicase/u8-is-titlecase'.
45777         * lib/unicase/u8-is-titlecase.c: New file.
45778         * modules/unicase/u8-is-titlecase: New file.
45779
45780         Tests for module 'unicase/u32-is-lowercase'.
45781         * modules/unicase/u32-is-lowercase-tests: New file.
45782         * tests/unicase/test-u32-is-lowercase.c: New file.
45783
45784         Tests for module 'unicase/u16-is-lowercase'.
45785         * modules/unicase/u16-is-lowercase-tests: New file.
45786         * tests/unicase/test-u16-is-lowercase.c: New file.
45787
45788         Tests for module 'unicase/u8-is-lowercase'.
45789         * modules/unicase/u8-is-lowercase-tests: New file.
45790         * tests/unicase/test-u8-is-lowercase.c: New file.
45791         * tests/unicase/test-is-lowercase.h: New file.
45792
45793         New module 'unicase/u32-is-lowercase'.
45794         * lib/unicase/u32-is-lowercase.c: New file.
45795         * modules/unicase/u32-is-lowercase: New file.
45796
45797         New module 'unicase/u16-is-lowercase'.
45798         * lib/unicase/u16-is-lowercase.c: New file.
45799         * modules/unicase/u16-is-lowercase: New file.
45800
45801         New module 'unicase/u8-is-lowercase'.
45802         * lib/unicase/u8-is-lowercase.c: New file.
45803         * modules/unicase/u8-is-lowercase: New file.
45804
45805         Tests for module 'unicase/u32-is-uppercase'.
45806         * modules/unicase/u32-is-uppercase-tests: New file.
45807         * tests/unicase/test-u32-is-uppercase.c: New file.
45808
45809         Tests for module 'unicase/u16-is-uppercase'.
45810         * modules/unicase/u16-is-uppercase-tests: New file.
45811         * tests/unicase/test-u16-is-uppercase.c: New file.
45812
45813         Tests for module 'unicase/u8-is-uppercase'.
45814         * modules/unicase/u8-is-uppercase-tests: New file.
45815         * tests/unicase/test-u8-is-uppercase.c: New file.
45816         * tests/unicase/test-is-uppercase.h: New file.
45817
45818         New module 'unicase/u32-is-uppercase'.
45819         * lib/unicase/u32-is-uppercase.c: New file.
45820         * modules/unicase/u32-is-uppercase: New file.
45821
45822         New module 'unicase/u16-is-uppercase'.
45823         * lib/unicase/u16-is-uppercase.c: New file.
45824         * modules/unicase/u16-is-uppercase: New file.
45825
45826         New module 'unicase/u8-is-uppercase'.
45827         * lib/unicase/u8-is-uppercase.c: New file.
45828         * modules/unicase/u8-is-uppercase: New file.
45829
45830         New module 'unicase/u32-is-invariant'.
45831         * lib/unicase/u32-is-invariant.c: New file.
45832         * modules/unicase/u32-is-invariant: New file.
45833
45834         New module 'unicase/u16-is-invariant'.
45835         * lib/unicase/u16-is-invariant.c: New file.
45836         * modules/unicase/u16-is-invariant: New file.
45837
45838         New module 'unicase/u8-is-invariant'.
45839         * lib/unicase/u8-is-invariant.c: New file.
45840         * lib/unicase/invariant.h: New file.
45841         * lib/unicase/u-is-invariant.h: New file.
45842         * modules/unicase/u8-is-invariant: New file.
45843
45844         Tests for module 'unicase/u32-casecoll'.
45845         * modules/unicase/u32-casecoll-tests: New file.
45846         * tests/unicase/test-u32-casecoll.c: New file.
45847
45848         Tests for module 'unicase/u16-casecoll'.
45849         * modules/unicase/u16-casecoll-tests: New file.
45850         * tests/unicase/test-u16-casecoll.c: New file.
45851
45852         Tests for module 'unicase/u8-casecoll'.
45853         * modules/unicase/u8-casecoll-tests: New file.
45854         * tests/unicase/test-u8-casecoll.c: New file.
45855
45856         New module 'unicase/u32-casecoll'.
45857         * lib/unicase/u32-casecoll.c: New file.
45858         * modules/unicase/u32-casecoll: New file.
45859
45860         New module 'unicase/u16-casecoll'.
45861         * lib/unicase/u16-casecoll.c: New file.
45862         * modules/unicase/u16-casecoll: New file.
45863
45864         New module 'unicase/u8-casecoll'.
45865         * lib/unicase/u8-casecoll.c: New file.
45866         * lib/unicase/u-casecoll.h: New file.
45867         * modules/unicase/u8-casecoll: New file.
45868
45869         New module 'unicase/u32-casexfrm'.
45870         * lib/unicase/u32-casexfrm.c: New file.
45871         * modules/unicase/u32-casexfrm: New file.
45872
45873         New module 'unicase/u16-casexfrm'.
45874         * lib/unicase/u16-casexfrm.c: New file.
45875         * modules/unicase/u16-casexfrm: New file.
45876
45877         New module 'unicase/u8-casexfrm'.
45878         * lib/unicase/u8-casexfrm.c: New file.
45879         * lib/unicase/u-casexfrm.h: New file.
45880         * modules/unicase/u8-casexfrm: New file.
45881
45882         Tests for module 'unicase/u32-casecmp'.
45883         * modules/unicase/u32-casecmp-tests: New file.
45884         * tests/unicase/test-u32-casecmp.c: New file.
45885
45886         Tests for module 'unicase/u16-casecmp'.
45887         * modules/unicase/u16-casecmp-tests: New file.
45888         * tests/unicase/test-u16-casecmp.c: New file.
45889
45890         Tests for module 'unicase/u8-casecmp'.
45891         * modules/unicase/u8-casecmp-tests: New file.
45892         * tests/unicase/test-u8-casecmp.c: New file.
45893         * tests/unicase/test-casecmp.h: New file.
45894
45895         New module 'unicase/u32-casecmp'.
45896         * lib/unicase/u32-casecmp.c: New file.
45897         * modules/unicase/u32-casecmp: New file.
45898
45899         New module 'unicase/u16-casecmp'.
45900         * lib/unicase/u16-casecmp.c: New file.
45901         * modules/unicase/u16-casecmp: New file.
45902
45903         New module 'unicase/u8-casecmp'.
45904         * lib/unicase/u8-casecmp.c: New file.
45905         * lib/unicase/u-casecmp.h: New file.
45906         * modules/unicase/u8-casecmp: New file.
45907
45908         Tests for module 'unicase/u32-casefold'.
45909         * modules/unicase/u32-casefold-tests: New file.
45910         * tests/unicase/test-u32-casefold.c: New file.
45911
45912         Tests for module 'unicase/u16-casefold'.
45913         * modules/unicase/u16-casefold-tests: New file.
45914         * tests/unicase/test-u16-casefold.c: New file.
45915
45916         Tests for module 'unicase/u8-casefold'.
45917         * modules/unicase/u8-casefold-tests: New file.
45918         * tests/unicase/test-u8-casefold.c: New file.
45919
45920         New module 'unicase/u32-casefold'.
45921         * lib/unicase/u32-casefold.c: New file.
45922         * modules/unicase/u32-casefold: New file.
45923
45924         New module 'unicase/u16-casefold'.
45925         * lib/unicase/u16-casefold.c: New file.
45926         * modules/unicase/u16-casefold: New file.
45927
45928         New module 'unicase/u8-casefold'.
45929         * lib/unicase/u8-casefold.c: New file.
45930         * lib/unicase/u-casefold.h: New file.
45931         * modules/unicase/u8-casefold: New file.
45932
45933         New module 'unicase/tocasefold'.
45934         * lib/unicase/casefold.h: New file.
45935         * lib/unicase/tocasefold.c: New file.
45936         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
45937         * modules/unicase/tocasefold: New file.
45938
45939         Tests for module 'unicase/u32-totitle'.
45940         * modules/unicase/u32-totitle-tests: New file.
45941         * tests/unicase/test-u32-totitle.c: New file.
45942
45943         Tests for module 'unicase/u16-totitle'.
45944         * modules/unicase/u16-totitle-tests: New file.
45945         * tests/unicase/test-u16-totitle.c: New file.
45946
45947         Tests for module 'unicase/u8-totitle'.
45948         * modules/unicase/u8-totitle-tests: New file.
45949         * tests/unicase/test-u8-totitle.c: New file.
45950
45951         New module 'unicase/u32-totitle'.
45952         * lib/unicase/u32-totitle.c: New file.
45953         * modules/unicase/u32-totitle: New file.
45954
45955         New module 'unicase/u16-totitle'.
45956         * lib/unicase/u16-totitle.c: New file.
45957         * modules/unicase/u16-totitle: New file.
45958
45959         New module 'unicase/u8-totitle'.
45960         * lib/unicase/u8-totitle.c: New file.
45961         * lib/unicase/u-totitle.h: New file.
45962         * modules/unicase/u8-totitle: New file.
45963
45964         Tests for module 'unicase/u32-tolower'.
45965         * modules/unicase/u32-tolower-tests: New file.
45966         * tests/unicase/test-u32-tolower.c: New file.
45967
45968         Tests for module 'unicase/u16-tolower'.
45969         * modules/unicase/u16-tolower-tests: New file.
45970         * tests/unicase/test-u16-tolower.c: New file.
45971
45972         Tests for module 'unicase/u8-tolower'.
45973         * modules/unicase/u8-tolower-tests: New file.
45974         * tests/unicase/test-u8-tolower.c: New file.
45975
45976         New module 'unicase/u32-tolower'.
45977         * lib/unicase/u32-tolower.c: New file.
45978         * modules/unicase/u32-tolower: New file.
45979
45980         New module 'unicase/u16-tolower'.
45981         * lib/unicase/u16-tolower.c: New file.
45982         * modules/unicase/u16-tolower: New file.
45983
45984         New module 'unicase/u8-tolower'.
45985         * lib/unicase/u8-tolower.c: New file.
45986         * modules/unicase/u8-tolower: New file.
45987
45988         Tests for module 'unicase/u32-toupper'.
45989         * modules/unicase/u32-toupper-tests: New file.
45990         * tests/unicase/test-u32-toupper.c: New file.
45991
45992         Tests for module 'unicase/u16-toupper'.
45993         * modules/unicase/u16-toupper-tests: New file.
45994         * tests/unicase/test-u16-toupper.c: New file.
45995
45996         Tests for module 'unicase/u8-toupper'.
45997         * modules/unicase/u8-toupper-tests: New file.
45998         * tests/unicase/test-u8-toupper.c: New file.
45999
46000         New module 'unicase/u32-toupper'.
46001         * lib/unicase/u32-toupper.c: New file.
46002         * modules/unicase/u32-toupper: New file.
46003
46004         New module 'unicase/u16-toupper'.
46005         * lib/unicase/u16-toupper.c: New file.
46006         * modules/unicase/u16-toupper: New file.
46007
46008         New module 'unicase/u8-toupper'.
46009         * lib/unicase/u8-toupper.c: New file.
46010         * modules/unicase/u8-toupper: New file.
46011
46012         New module 'unicase/u32-casemap'.
46013         * lib/unicase/u32-casemap.c: New file.
46014         * modules/unicase/u32-casemap: New file.
46015
46016         New module 'unicase/u16-casemap'.
46017         * lib/unicase/u16-casemap.c: New file.
46018         * modules/unicase/u16-casemap: New file.
46019
46020         New module 'unicase/u8-casemap'.
46021         * lib/unicase/unicasemap.h: New file.
46022         * lib/unicase/u8-casemap.c: New file.
46023         * lib/unicase/u-casemap.h: New file.
46024         * modules/unicase/u8-casemap: New file.
46025
46026         New module 'unicase/special-casing'.
46027         * lib/unicase/special-casing.h: New file.
46028         * lib/unicase/special-casing.c: New file.
46029         * lib/unicase/special-casing-table.gperf: New file, generated by
46030         gen-uni-tables.c.
46031         * modules/unicase/special-casing: New file.
46032
46033         Tests for module 'unicase/locale-language'.
46034         * modules/unicase/locale-language-tests: New file.
46035         * tests/unicase/test-locale-language.sh: New file.
46036         * tests/unicase/test-locale-language.c: New file.
46037
46038         New module 'unicase/locale-language'.
46039         * lib/unicase/locale-language.c: New file.
46040         * lib/unicase/locale-languages.gperf: New file.
46041         * modules/unicase/locale-language: New file.
46042
46043         Generate more tables for case conversion and case folding.
46044         * lib/gen-uni-tables.c (SCC_*): New enum items.
46045         (struct special_casing_rule): New type.
46046         (casing_rules, num_casing_rules, allocated_casing_rules): New
46047         variables.
46048         (add_casing_rule, fill_casing_rules): New functions.
46049         (struct casefold_rule): New type.
46050         (casefolding_rules, num_casefolding_rules,
46051         allocated_casefolding_rules): New variables.
46052         (fill_casefolding_rules): New function.
46053         (unicode_casefold): New variable.
46054         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
46055         sort_casing_rules, output_casing_rules): New functions.
46056         (main): Accept to more arguments: SpecialCasing.txt and
46057         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
46058         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
46059         Output mapping for casefolding.
46060
46061         * lib/unicase.h: Include stdbool.h, uninorm.h.
46062         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
46063         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
46064         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
46065         arguments.
46066         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
46067         resultp arguments.
46068         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
46069         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
46070         resultp arguments.
46071         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
46072         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
46073         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
46074         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
46075         declarations.
46076         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
46077
46078 2009-03-08  Bruno Haible  <bruno@clisp.org>
46079
46080         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46081         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
46082         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
46083         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46084
46085 2009-03-07  Bruno Haible  <bruno@clisp.org>
46086
46087         Adjust u*_normcmp, u*_normcoll API.
46088         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46089         u16_normcoll, u32_normcoll): Change failure conventions.
46090         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
46091         errno and return -1.
46092         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46093
46094 2009-03-07  Bruno Haible  <bruno@clisp.org>
46095
46096         Tests for module 'uninorm/u32-normcoll'.
46097         * modules/uninorm/u32-normcoll-tests: New file.
46098         * tests/uninorm/test-u32-normcoll.c: New file.
46099
46100         Tests for module 'uninorm/u16-normcoll'.
46101         * modules/uninorm/u16-normcoll-tests: New file.
46102         * tests/uninorm/test-u16-normcoll.c: New file.
46103
46104         Tests for module 'uninorm/u8-normcoll'.
46105         * modules/uninorm/u8-normcoll-tests: New file.
46106         * tests/uninorm/test-u8-normcoll.c: New file.
46107
46108 2009-03-07  Bruno Haible  <bruno@clisp.org>
46109
46110         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
46111         tests/uninorm/test-u32-normcmp.c.
46112         * tests/uninorm/test-u32-normcmp.c: Include it.
46113         (test_nonascii): New function, extracted from main. Add some more
46114         tests.
46115         (main): Invoke test_ascii and test_nonascii.
46116         * modules/uninorm/u32-normcmp-tests (Files): Add
46117         tests/uninorm/test-u32-normcmp.h.
46118         (Depends-on): Remove uninorm/u32-normcmp.
46119
46120         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
46121         tests/uninorm/test-u16-normcmp.c.
46122         * tests/uninorm/test-u16-normcmp.c: Include it.
46123         (test_nonascii): New function, extracted from main. Add some more
46124         tests.
46125         (main): Invoke test_ascii and test_nonascii.
46126         * modules/uninorm/u16-normcmp-tests (Files): Add
46127         tests/uninorm/test-u16-normcmp.h.
46128         (Depends-on): Remove uninorm/u16-normcmp.
46129
46130         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
46131         tests/uninorm/test-u8-normcmp.c.
46132         * tests/uninorm/test-u8-normcmp.c: Include it.
46133         (test_nonascii): New function, extracted from main. Add some more
46134         tests.
46135         (main): Invoke test_ascii and test_nonascii.
46136         * modules/uninorm/u8-normcmp-tests (Files): Add
46137         tests/uninorm/test-u8-normcmp.h.
46138         (Depends-on): Remove uninorm/u8-normcmp.
46139
46140 2009-03-07  Bruno Haible  <bruno@clisp.org>
46141
46142         New module 'uninorm/u32-normcoll'.
46143         * lib/uninorm/u32-normcoll.c: New file.
46144         * modules/uninorm/u32-normcoll: New file.
46145
46146         New module 'uninorm/u16-normcoll'.
46147         * lib/uninorm/u16-normcoll.c: New file.
46148         * modules/uninorm/u16-normcoll: New file.
46149
46150         New module 'uninorm/u8-normcoll'.
46151         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
46152         declarations.
46153         * lib/uninorm/u8-normcoll.c: New file.
46154         * lib/uninorm/u-normcoll.h: New file.
46155         * modules/uninorm/u8-normcoll: New file.
46156
46157         New module 'uninorm/u32-normxfrm'.
46158         * lib/uninorm/u32-normxfrm.c: New file.
46159         * modules/uninorm/u32-normxfrm: New file.
46160
46161         New module 'uninorm/u16-normxfrm'.
46162         * lib/uninorm/u16-normxfrm.c: New file.
46163         * modules/uninorm/u16-normxfrm: New file.
46164
46165         New module 'uninorm/u8-normxfrm'.
46166         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
46167         declarations.
46168         * lib/uninorm/u8-normxfrm.c: New file.
46169         * lib/uninorm/u-normxfrm.h: New file.
46170         * modules/uninorm/u8-normxfrm: New file.
46171
46172 2009-03-07  Bruno Haible  <bruno@clisp.org>
46173
46174         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
46175         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
46176         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
46177
46178 2009-03-07  Bruno Haible  <bruno@clisp.org>
46179
46180         New module 'memxfrm'.
46181         * lib/memxfrm.h: New file.
46182         * lib/memxfrm.c: New file.
46183         * modules/memxfrm: New file.
46184
46185 2009-03-07  Bruno Haible  <bruno@clisp.org>
46186
46187         New module 'memcmp2'.
46188         * lib/memcmp2.h: New file.
46189         * lib/memcmp2.c: New file.
46190         * modules/memcmp2: New file.
46191
46192 2009-03-07  Bruno Haible  <bruno@clisp.org>
46193
46194         Tests for module 'uninorm/decomposing-form'.
46195         * modules/uninorm/decomposing-form-tests: New file.
46196         * tests/uninorm/test-decomposing-form.c: New file.
46197
46198         New module 'uninorm/decomposing-form'.
46199         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
46200         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
46201         Add 'decomposing_variant' field.
46202         * lib/uninorm/decomposing-form.c: New file.
46203         * lib/uninorm/nfc.c (uninorm_nfc): Update.
46204         * lib/uninorm/nfd.c (uninorm_nfd): Update.
46205         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
46206         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
46207         * modules/uninorm/decomposing-form: New file.
46208         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
46209         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
46210
46211 2009-03-07  Bruno Haible  <bruno@clisp.org>
46212
46213         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
46214         strings.
46215
46216 2009-03-06  Bruno Haible  <bruno@clisp.org>
46217
46218         Tests for module 'uninorm/u32-normcmp'.
46219         * tests/uninorm/test-u32-normcmp.c: New file.
46220         * modules/uninorm/u32-normcmp-tests: New file.
46221
46222         Tests for module 'uninorm/u16-normcmp'.
46223         * tests/uninorm/test-u16-normcmp.c: New file.
46224         * modules/uninorm/u16-normcmp-tests: New file.
46225
46226         Tests for module 'uninorm/u8-normcmp'.
46227         * tests/uninorm/test-u8-normcmp.c: New file.
46228         * modules/uninorm/u8-normcmp-tests: New file.
46229
46230         New module 'uninorm/u32-normcmp'.
46231         * lib/uninorm/u32-normcmp.c: New file.
46232         * modules/uninorm/u32-normcmp: New file.
46233
46234         New module 'uninorm/u16-normcmp'.
46235         * lib/uninorm/u16-normcmp.c: New file.
46236         * modules/uninorm/u16-normcmp: New file.
46237
46238         New module 'uninorm/u8-normcmp'.
46239         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
46240         declarations.
46241         * lib/uninorm/u8-normcmp.c: New file.
46242         * lib/uninorm/u-normcmp.h: New file.
46243         * modules/uninorm/u8-normcmp: New file.
46244
46245 2009-03-06  Bruno Haible  <bruno@clisp.org>
46246
46247         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
46248         Reported by Eric Blake.
46249
46250 2009-03-06  Eric Blake  <ebb9@byu.net>
46251             Bruno Haible  <bruno@clisp.org>
46252
46253         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
46254         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
46255         condition.
46256         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46257         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
46258         condition.
46259         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46260
46261 2009-03-06  Eric Blake  <ebb9@byu.net>
46262
46263         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
46264         to avoid compiler warnings.
46265         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
46266
46267 2009-03-05  Bruno Haible  <bruno@clisp.org>
46268
46269         * tests/test-ftell.c (main): Disable test beyond end of file on
46270         FreeMiNT.
46271         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46272
46273 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
46274
46275         * lib/filevercmp.c: Move hidden files up in ordering.
46276         * tests/test-filevercmp.c: Add tests for hidden files.
46277
46278 2009-03-04  Bruno Haible  <bruno@clisp.org>
46279
46280         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
46281         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
46282         AM_CFLAGS.
46283         Reported by Simon Josefsson.
46284
46285 2009-03-03  Bruno Haible  <bruno@clisp.org>
46286
46287         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
46288         Reported by Simon Josefsson.
46289
46290         * doc/ld-version-script.texi: Update node reference.
46291
46292 2009-03-03  Bruno Haible  <bruno@clisp.org>
46293
46294         * modules/visibility (License): Change to 'unlimited'.
46295         Suggested by Simon Josefsson.
46296
46297 2009-03-03  Jim Meyering  <meyering@redhat.com>
46298
46299         unlinkdir: cannot_unlink_dir may modify process state
46300         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
46301         it's neither thread-safe nor appropriate for use in a library.
46302
46303 2009-03-03  Eric Blake  <ebb9@byu.net>
46304
46305         test-closein: silence test under Darwin
46306         * tests/test-closein.sh: Ignore stderr from cat, since we don't
46307         care if it dies from EPIPE or EBADF.
46308
46309 2009-03-03  Bruno Haible  <bruno@clisp.org>
46310
46311         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
46312         earlier.
46313         * doc/visibility.texi: Fix @node and @section.
46314
46315 2009-03-03  Simon Josefsson  <simon@josefsson.org>
46316
46317         * doc/gnulib.texi: Link to sections for ld version script and
46318         visibility.
46319         * doc/visibility.texi: Add @node and @section.
46320         * modules/ld-version-script: New module.
46321         * m4/ld-version-script.m4: New file.
46322         * doc/ld-version-script.texi: New file.
46323
46324 2009-03-02  David Lutterkort  <lutter@redhat.com>
46325
46326         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
46327         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46328
46329 2009-03-02  Bruno Haible  <bruno@clisp.org>
46330
46331         * doc/visibility.texi: Mention libtool's -export-symbols option.
46332
46333 2009-03-02  Jim Meyering  <meyering@redhat.com>
46334
46335         announce-gen: new option: --no-print-checksums
46336         * build-aux/announce-gen (usage): Describe it.
46337         (print_checksums): Print a newline here, not in the [*] footnote.
46338         (main): Honor it.
46339
46340 2009-03-01  Bruno Haible  <bruno@clisp.org>
46341
46342         Use socklen_t in the native Windows replacements prototypes.
46343         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
46344         instead of 'int'.
46345         * lib/getsockopt.c (rpl_getsockopt): Likewise.
46346         * lib/setsockopt.c (rpl_setsockopt): Likewise.
46347         * modules/getsockopt (Depends-on): Add socklen.
46348         * modules/setsockopt (Depends-on): Add socklen.
46349
46350 2009-03-01  Bruno Haible  <bruno@clisp.org>
46351
46352         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
46353         least 4.2.
46354
46355 2009-03-01  Eric Blake  <ebb9@byu.net>
46356             Bruno Haible  <bruno@clisp.org>
46357
46358         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
46359         error messages.
46360         * lib/wait-process.c (wait_subprocess): Omit error message about
46361         deadly signal sent to the child of termsigp != NULL.
46362
46363 2009-03-01  Eric Blake  <ebb9@byu.net>
46364
46365         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
46366
46367 2009-03-01  Bruno Haible  <bruno@clisp.org>
46368
46369         Avoid a gcc warning.
46370         * tests/test-sched.c (b): Make global.
46371         Reported by Eric Blake.
46372
46373 2009-01-19  Martin Lambers  <marlam@marlam.de>
46374
46375         Provide POSIX semantics for socket timeout options on W32.
46376         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
46377         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
46378         * modules/setsockopt: Depend on sys_time module for struct timeval.
46379         * modules/getsockopt: Depend on sys_time module for struct timeval.
46380
46381 2009-03-01  Simon Josefsson  <simon@josefsson.org>
46382
46383         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
46384         __USE_GNU, for consistency with netdb.in.h.
46385         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46386
46387 2009-03-01  Bruno Haible  <bruno@clisp.org>
46388
46389         More support for FreeMiNT.
46390         * lib/fseeko.c (rpl_fseeko): Complete last commit.
46391         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46392
46393 2009-03-01  Bruno Haible  <bruno@clisp.org>
46394
46395         More support for FreeMiNT.
46396         * lib/fpurge.c (fpurge): Correct last commit.
46397         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46398
46399 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46400
46401         Fix unportable awk script in vc-list-files.
46402         * build-aux/vc-list-files: In the replacement awk script, use
46403         substr with a second argument of 1, not zero.
46404         Report by Simon Josefsson.
46405
46406 2009-02-28  Bruno Haible  <bruno@clisp.org>
46407
46408         More support for FreeMiNT.
46409         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
46410         to FreeMiNT today.
46411         * lib/fwriting.c (fwriting): Likewise.
46412         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
46413
46414 2009-02-28  Bruno Haible  <bruno@clisp.org>
46415
46416         * tests/test-freadseek.c (main): Disable test beyond end of file on
46417         FreeMiNT.
46418         * tests/test-ftello.c (main): Likewise.
46419         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46420
46421 2009-02-28  Bruno Haible  <bruno@clisp.org>
46422
46423         Add tentative support for FreeMiNT.
46424         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
46425         * lib/fpurge.c (fpurge): Likewise.
46426         * lib/freadable.c (freadable): Likewise.
46427         * lib/freading.c (freading): Likewise.
46428         * lib/freadptr.c (freadptr): Likewise.
46429         * lib/freadseek.c (freadptrinc): Likewise.
46430         * lib/fseeko.c (rpl_fseeko): Likewise.
46431         * lib/fseterr.c (fseterr): Likewise.
46432         * lib/fwritable.c (fwritable): Likewise.
46433         * lib/fwriting.c (fwriting): Likewise.
46434         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
46435         Hourihane.
46436         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46437
46438 2009-02-28  Bruno Haible  <bruno@clisp.org>
46439
46440         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
46441         SIGCHLD.
46442         Reported by Jim Meyering.
46443
46444 2009-02-28  Bruno Haible  <bruno@clisp.org>
46445
46446         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
46447         Mention the results of these tests on various platforms.
46448         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
46449         order.
46450         * doc/posix-functions/printf.texi: Likewise.
46451         * doc/posix-functions/snprintf.texi: Likewise.
46452         * doc/posix-functions/sprintf.texi: Likewise.
46453         * doc/posix-functions/vfprintf.texi: Likewise.
46454         * doc/posix-functions/vprintf.texi: Likewise.
46455         * doc/posix-functions/vsnprintf.texi: Likewise.
46456         * doc/posix-functions/vsprintf.texi: Likewise.
46457         * doc/glibc-functions/obstack_printf.texi: Likewise.
46458         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
46459
46460 2009-02-28  Bruno Haible  <bruno@clisp.org>
46461
46462         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
46463         Reported by Loïc Minier <lool@dooz.org>.
46464
46465 2009-02-27  Bruno Haible  <bruno@clisp.org>
46466
46467         * gnulib-tool (func_import): Make the sed expression used to create the
46468         sed script for updating the .gitignore file POSIX compliant.
46469         Reported by Eric Blake.
46470
46471 2009-02-27  Bruno Haible  <bruno@clisp.org>
46472
46473         * gnulib-tool (sed): Don't alias as "sed --posix".
46474         Reported by Eric Blake.
46475
46476 2009-02-27  Bruno Haible  <bruno@clisp.org>
46477
46478         Avoid test link errors.
46479         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
46480         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
46481         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
46482         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
46483         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46484
46485 2009-02-27  Bruno Haible  <bruno@clisp.org>
46486
46487         Avoid spurious "(cached)" in configure output.
46488         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
46489         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
46490         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
46491         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
46492         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
46493         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
46494         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
46495         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
46496         Reported by Eric Blake.
46497
46498 2009-02-27  Eric Blake  <ebb9@byu.net>
46499
46500         printf: fix regression in previous patch
46501         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
46502
46503 2009-02-27  Bruno Haible  <bruno@clisp.org>
46504
46505         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
46506         value.
46507         * lib/stdint.in.h: Likewise.
46508         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
46509
46510 2009-02-27  Eric Blake  <ebb9@byu.net>
46511
46512         doc: mention more functions added in cygwin 1.7.0
46513         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
46514         addition.
46515         * doc/posix-functions/open_wmemstream.texi: Likewise.
46516         * doc/posix-functions/wcsnlen.texi: Likewise.
46517         * doc/posix-functions/wcsnrtombs.texi: Likewise.
46518         * doc/posix-functions/wcstod.texi: Likewise.
46519         * doc/posix-functions/wcstof.texi: Likewise.
46520         * doc/posix-functions/wcstoimax.texi: Likewise.
46521         * doc/posix-functions/wcstok.texi: Likewise.
46522         * doc/posix-functions/wcstoumax.texi: Likewise.
46523
46524         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
46525         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
46526         * doc/posix-functions/fprintf.texi: Update.
46527         * doc/posix-functions/printf.texi: Update.
46528         * doc/posix-functions/snprintf.texi: Update.
46529         * doc/posix-functions/sprintf.texi: Update.
46530         * doc/posix-functions/vfprintf.texi: Update.
46531         * doc/posix-functions/vprintf.texi: Update.
46532         * doc/posix-functions/vsnprintf.texi: Update.
46533         * doc/posix-functions/vsprintf.texi: Update.
46534         * doc/glibc-functions/obstack_printf.texi: Update.
46535         * doc/glibc-functions/obstack_vprintf.texi: Update.
46536
46537 2009-02-26  Eric Blake  <ebb9@byu.net>
46538
46539         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
46540         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
46541         compilation bug by using runtime conversion.
46542         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
46543         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
46544         * modules/ceill-tests (Files): Use nan.h.
46545         * modules/floorl-tests (Files): Likewise.
46546         * modules/frexpl-tests (Files): Likewise.
46547         * modules/isnanl-tests (Files): Likewise.
46548         * modules/ldexpl-tests (Files): Likewise.
46549         * modules/roundl-tests (Files): Likewise.
46550         * modules/truncl-tests (Files): Likewise.
46551         * tests/test-ceill.c (main): Use a working NaN.
46552         * tests/test-floorl.c (main): Likewise.
46553         * tests/test-frexpl.c (main): Likewise.
46554         * tests/test-isnan.c (test_long_double): Likewise.
46555         * tests/test-isnanl.h (main): Likewise.
46556         * tests/test-ldexpl.h (main): Likewise.
46557         * tests/test-roundl.h (main): Likewise.
46558         * tests/test-truncl.h (main): Likewise.
46559         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
46560
46561 2009-02-26  Eric Blake  <ebb9@byu.net>
46562             Bruno Haible  <bruno@clisp.org>
46563
46564         Work around a *printf bug with %ls on Solaris.
46565         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
46566         precision is specified, sprintf stops converting the wide string
46567         argument when the number of bytes that have been produced by this
46568         conversion equals or exceeds the precision.
46569         * doc/posix-functions/fprintf.texi: Update.
46570         * doc/posix-functions/printf.texi: Update.
46571         * doc/posix-functions/snprintf.texi: Update.
46572         * doc/posix-functions/sprintf.texi: Update.
46573         * doc/posix-functions/vfprintf.texi: Update.
46574         * doc/posix-functions/vprintf.texi: Update.
46575         * doc/posix-functions/vsnprintf.texi: Update.
46576         * doc/posix-functions/vsprintf.texi: Update.
46577         * doc/glibc-functions/obstack_printf.texi: Update.
46578         * doc/glibc-functions/obstack_vprintf.texi: Update.
46579
46580 2009-02-26  Eric Blake  <ebb9@byu.net>
46581
46582         stdlib: favor compiler check of random.h
46583         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
46584         to avoid an ObjC random.h installed by Swarm.
46585
46586 2009-02-26  Bruno Haible  <bruno@clisp.org>
46587
46588         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
46589         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
46590         Reported by Gary V. Vaughan <gary@gnu.org>.
46591
46592 2009-02-26  Bruno Haible  <bruno@clisp.org>
46593
46594         Fix *printf behaviour regarding the %ls directive.
46595         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
46596         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
46597         NEED_PRINTF_DIRECTIVE_LS.
46598         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
46599         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46600         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46601         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
46602         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
46603         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
46604         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
46605         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46606         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46607         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46608         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46609         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
46610         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46611         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46612         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46613         * doc/posix-functions/fprintf.texi: Update.
46614         * doc/posix-functions/printf.texi: Update.
46615         * doc/posix-functions/snprintf.texi: Update.
46616         * doc/posix-functions/sprintf.texi: Update.
46617         * doc/posix-functions/vfprintf.texi: Update.
46618         * doc/posix-functions/vprintf.texi: Update.
46619         * doc/posix-functions/vsnprintf.texi: Update.
46620         * doc/posix-functions/vsprintf.texi: Update.
46621         * doc/glibc-functions/obstack_printf.texi: Update.
46622         * doc/glibc-functions/obstack_vprintf.texi: Update.
46623         Reported by Eric Blake.
46624
46625 2009-02-25  Bruno Haible  <bruno@clisp.org>
46626
46627         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
46628         with known value.
46629         Reported by Gary V. Vaughan <gary@gnu.org>.
46630
46631 2009-02-25  Bruno Haible  <bruno@clisp.org>
46632
46633         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
46634         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
46635         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
46636         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
46637         Reported by Gary V. Vaughan <gary@gnu.org>.
46638
46639 2009-02-25  Bruno Haible  <bruno@clisp.org>
46640
46641         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
46642         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
46643         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
46644         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
46645         Reported by Gary V. Vaughan <gary@gnu.org>.
46646
46647 2009-02-25  Eric Blake  <ebb9@byu.net>
46648
46649         tests: skip fseek/ftell tests if ungetc is broken
46650         * m4/ungetc.m4: New file.
46651         * modules/fseek-tests: Split test, so ungetc dependency is
46652         separate from rest of test.
46653         * modules/fseeko-tests: Likewise.
46654         * modules/ftell-tests: Likewise.
46655         * modules/ftello-tests: Likewise.
46656         * tests/test-fseek.c (main): Isolate ungetc dependency.
46657         * tests/test-fseeko.c (main): Likewise.
46658         * tests/test-ftell.c (main): Likewise.
46659         * tests/test-ftello.c (main): Likewise.
46660         * tests/test-fseek2.sh: New file.
46661         * tests/test-fseeko2.sh: Likewise.
46662         * tests/test-ftell2.sh: Likewise.
46663         * tests/test-ftello2.sh: Likewise.
46664
46665 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
46666
46667         test-getaddrinfo: fix usage of skip return code 77
46668         * tests/test-gettaddrinfo.c: Return skip code 77 only
46669         for first occurance of skip (4x77 is not 77)
46670
46671 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
46672
46673         strtod: avoid C99 decl-after-statement
46674         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
46675
46676 2009-02-24  Eric Blake  <ebb9@byu.net>
46677
46678         strtod: detect HP-UX 11.31 bug
46679         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
46680         Reported by Gary V. Vaughan.
46681
46682 2009-02-23  Bruno Haible  <bruno@clisp.org>
46683
46684         Fix invalid read past end of memory block.
46685         * lib/vasnprintf.c (DCHAR_SET): Define.
46686         (local_wcslen): Define only when needed.
46687         (local_strnlen, local_wcsnlen): New functions.
46688         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
46689         directives that involve a conversion ourselves.
46690         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
46691         wcsnlen, mbrtowc, wcrtomb.
46692         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
46693         * tests/test-vasprintf-posix.c (test_function): Likewise.
46694         * tests/test-snprintf-posix.h (test_function): Likewise.
46695         * tests/test-sprintf-posix.h (test_function): Likewise.
46696         Reported by Ben Pfaff <blp@cs.stanford.edu>.
46697
46698 2009-02-22  Bruno Haible  <bruno@clisp.org>
46699
46700         Implement new clarified decomposition of Hangul syllables.
46701         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
46702         of type LTV, return only a pairwise decomposition.
46703         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
46704         Likewise.
46705         * tests/uninorm/test-decomposition.c (main): Updated expected result.
46706         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
46707         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
46708
46709 2009-02-22  Bruno Haible  <bruno@clisp.org>
46710
46711         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
46712         zero-length results and shrink excess allocated memory.
46713         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
46714         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
46715         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
46716         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
46717         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
46718         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
46719         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
46720         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
46721         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
46722         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
46723         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
46724         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
46725
46726 2009-02-21  Bruno Haible  <bruno@clisp.org>
46727
46728         * doc/gnulib.texi: Include safe-alloc.texi earlier.
46729         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
46730         spaces after a period. Put a space between a macro name and its
46731         argument list. Trivial rewordings.
46732         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
46733         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
46734         (main): Return 0 explicitly.
46735
46736 2009-02-21  Bruno Haible  <bruno@clisp.org>
46737
46738         Tests for module 'uninorm/filter'.
46739         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
46740         * modules/uninorm/filter-tests: New file.
46741
46742         New module 'uninorm/filter'.
46743         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
46744         uninorm_filter_flush, uninorm_filter_free): New declarations.
46745         * lib/uninorm/uninorm-filter.c: New file.
46746         * modules/uninorm/filter: New file.
46747
46748 2009-02-21  Bruno Haible  <bruno@clisp.org>
46749
46750         Tests for module 'uninorm/nfkc'.
46751         * tests/uninorm/test-nfkc.c: New file.
46752         * tests/uninorm/test-u8-nfkc.c: New file.
46753         * tests/uninorm/test-u16-nfkc.c: New file.
46754         * tests/uninorm/test-u32-nfkc.c: New file.
46755         * tests/uninorm/test-u32-nfkc-big.sh: New file.
46756         * tests/uninorm/test-u32-nfkc-big.c: New file.
46757         * modules/uninorm/nfkc-tests: New file.
46758
46759         New module 'uninorm/nfkc'.
46760         * lib/uninorm/nfkc.c: New file.
46761         * modules/uninorm/nfkc: New file.
46762
46763         Tests for module 'uninorm/nfkd'.
46764         * tests/uninorm/test-nfkd.c: New file.
46765         * tests/uninorm/test-u8-nfkd.c: New file.
46766         * tests/uninorm/test-u16-nfkd.c: New file.
46767         * tests/uninorm/test-u32-nfkd.c: New file.
46768         * tests/uninorm/test-u32-nfkd-big.sh: New file.
46769         * tests/uninorm/test-u32-nfkd-big.c: New file.
46770         * modules/uninorm/nfkd-tests: New file.
46771
46772         New module 'uninorm/nfkd'.
46773         * lib/uninorm/nfkd.c: New file.
46774         * modules/uninorm/nfkd: New file.
46775
46776         Tests for module 'uninorm/nfc'.
46777         * tests/uninorm/test-nfc.c: New file.
46778         * tests/uninorm/test-u8-nfc.c: New file.
46779         * tests/uninorm/test-u16-nfc.c: New file.
46780         * tests/uninorm/test-u32-nfc.c: New file.
46781         * tests/uninorm/test-u32-nfc-big.sh: New file.
46782         * tests/uninorm/test-u32-nfc-big.c: New file.
46783         * modules/uninorm/nfc-tests: New file.
46784
46785         New module 'uninorm/nfc'.
46786         * lib/uninorm/nfc.c: New file.
46787         * modules/uninorm/nfc: New file.
46788
46789         Tests for module 'uninorm/nfd'.
46790         * tests/uninorm/test-nfd.c: New file.
46791         * tests/uninorm/test-u8-nfd.c: New file.
46792         * tests/uninorm/test-u16-nfd.c: New file.
46793         * tests/uninorm/test-u32-nfd.c: New file.
46794         * tests/uninorm/test-u32-nfd-big.sh: New file.
46795         * tests/uninorm/test-u32-nfd-big.c: New file.
46796         * tests/uninorm/test-u32-normalize-big.h: New file.
46797         * tests/uninorm/test-u32-normalize-big.c: New file.
46798         * tests/uninorm/NormalizationTest.txt: New file, created from
46799         Unicode 5.1.0 NormalizationTest.txt.
46800         * modules/uninorm/nfd-tests: New file.
46801
46802         New module 'uninorm/nfd'.
46803         * lib/uninorm/nfd.c: New file.
46804         * modules/uninorm/nfd: New file.
46805
46806         New module 'uninorm/u32-normalize'.
46807         * lib/uninorm/u32-normalize.c: New file.
46808         * modules/uninorm/u32-normalize: New file.
46809
46810         New module 'uninorm/u16-normalize'.
46811         * lib/uninorm/u16-normalize.c: New file.
46812         * modules/uninorm/u16-normalize: New file.
46813
46814         New module 'uninorm/u8-normalize'.
46815         * lib/uninorm/u8-normalize.c: New file.
46816         * lib/uninorm/normalize-internal.h: New file.
46817         * lib/uninorm/u-normalize-internal.h: New file.
46818         * modules/uninorm/u8-normalize: New file.
46819
46820         New module 'uninorm/decompose-internal'.
46821         * lib/uninorm/decompose-internal.c: New file.
46822         * modules/uninorm/decompose-internal: New file.
46823
46824         Tests for module 'uninorm/composition'.
46825         * tests/uninorm/test-composition.c: New file.
46826         * modules/uninorm/composition-tests: New file.
46827
46828         New module 'uninorm/composition'.
46829         * lib/uninorm/composition.c: New file.
46830         * lib/uninorm/composition-table.gperf: New file, generated by
46831         gen-uni-tables.
46832         * modules/uninorm/composition: New file.
46833
46834         Tests for module 'uninorm/compat-decomposition'.
46835         * tests/uninorm/test-compat-decomposition.c: New file.
46836         * modules/uninorm/compat-decomposition-tests: New file.
46837
46838         New module 'uninorm/compat-decomposition'.
46839         * lib/uninorm/decompose-internal.h: New file.
46840         * lib/uninorm/compat-decomposition.c: New file.
46841         * modules/uninorm/compat-decomposition: New file.
46842
46843         Tests for module 'uninorm/canonical-decomposition'.
46844         * tests/uninorm/test-canonical-decomposition.c: New file.
46845         * modules/uninorm/canonical-decomposition-tests: New file.
46846
46847         New module 'uninorm/canonical-decomposition'.
46848         * lib/uninorm/canonical-decomposition.c: New file.
46849         * modules/uninorm/canonical-decomposition: New file.
46850
46851         Tests for module 'uninorm/decomposition'.
46852         * tests/uninorm/test-decomposition.c: New file.
46853         * modules/uninorm/decomposition-tests: New file.
46854
46855         New module 'uninorm/decomposition'.
46856         * lib/uninorm/decomposition.c: New file.
46857         * modules/uninorm/decomposition: New file.
46858
46859         New module 'uninorm/decomposition-table'.
46860         * lib/uninorm/decomposition-table.h: New file.
46861         * lib/uninorm/decomposition-table.c: New file.
46862         * lib/uninorm/decomposition-table1.h: New file, generated by
46863         gen-uni-tables.
46864         * lib/uninorm/decomposition-table2.h: New file, generated by
46865         gen-uni-tables.
46866         * modules/uninorm/decomposition-table: New file.
46867
46868         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
46869         (UC_DECOMP_*): New enumeration items.
46870         (get_decomposition): New function.
46871         (struct decomp_table): New type.
46872         (output_decomposition, output_decomposition_tables): New functions.
46873         (unicode_composition_exclusions): New variable.
46874         (fill_composition_exclusions, debug_output_composition_tables): New
46875         functions.
46876         (main): Accept one more argument. Invoke fill_composition_exclusions.
46877         Output decomposition and composition tables.
46878
46879         New module 'uninorm/base'.
46880         * lib/uninorm.h: New file.
46881         * lib/unictype.h: Update comment.
46882         * modules/uninorm/base: New file.
46883
46884 2009-02-21  David Lutterkort  <lutter@redhat.com>
46885
46886         Tests for module 'safe-alloc'.
46887         * tests/test-safe-alloc.c: New file.
46888         * modules/safe-alloc-tests: New file.
46889
46890         New module 'safe-alloc'.
46891         * lib/safe-alloc.h: New file.
46892         * lib/safe-alloc.c: New file.
46893         * m4/safe-alloc.m4: New file.
46894         * modules/safe-alloc: New file.
46895         * doc/safe-alloc.texi: New file.
46896         * doc/gnulib.texi: Include it.
46897         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
46898         safe-alloc.
46899
46900 2009-02-18  Bruno Haible  <bruno@clisp.org>
46901
46902         Fix link error on non-glibc systems.
46903         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
46904         variable.
46905         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46906
46907 2009-02-18  Jim Meyering  <meyering@redhat.com>
46908
46909         fts: avoid used-uninitialized error due to recent change
46910         * lib/fts.c (fts_read): Guard uses of the new member,
46911         parent->fts_n_dirs_remaining, since it's not relevant for
46912         the parent of a directory specified on the command-line.
46913
46914 2009-02-17  James Youngman  <jay@gnu.org>
46915             Bruno Haible  <bruno@clisp.org>
46916
46917         * m4/include_next.m4: Reformulate comment.
46918
46919 2009-02-16  Jim Meyering  <meyering@redhat.com>
46920
46921         fts: add #if guards so that the fts_lgpl module still builds
46922         * lib/fts.c: Guard just-added hash-table-using parts with
46923         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
46924         Reported by Simon Josefsson.
46925
46926 2009-02-15  Bruno Haible  <bruno@clisp.org>
46927
46928         * modules/array-mergesort-tests: New file.
46929         * tests/test-array-mergesort.c: New file.
46930
46931         New module 'array-mergesort'.
46932         * modules/array-mergesort: New file.
46933         * lib/array-mergesort.h: New file.
46934
46935 2009-02-15  Bruno Haible  <bruno@clisp.org>
46936
46937         Fix 2009-02-07 commit.
46938         * lib/gen-uni-tables.c (output_predicate, output_category,
46939         output_combclass, output_bidi_category, output_decimal_digit,
46940         output_digit, output_numeric, output_mirror, output_scripts,
46941         output_ident_category, output_simple_mapping): Fix format directives.
46942         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
46943
46944 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
46945
46946         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
46947         fixes are available from IBM.
46948
46949 2009-02-13  Jim Meyering  <meyering@redhat.com>
46950
46951         fts: arrange not to stat non-directories in more cases
46952         This makes GNU find (when it doesn't need to stat each file)
46953         *much* more efficient at traversing reiserfs file systems.
46954         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
46955         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
46956         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
46957         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
46958         (leaf_optimization_applies): New function.
46959         (LCO_hash, LCO_compare): New helper functions.
46960         (link_count_optimize_ok): New function.
46961         (fts_stat): Initialize new member (if dir).
46962         (fts_read): Decrement parent's fts_n_dirs_remaining count if
46963         we've just stat'ed a directory.  Skip the stat call when possible.
46964         ---
46965         Note this AFS-related exchange:
46966         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
46967         and note find's pioctl call in find/fstype.c.
46968         But that is necessary only if you want to enable the
46969         optimization for AFS, and for now, I don't.
46970
46971         fts: move a function definition "up" (no semantic change)
46972         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
46973         "up" to precede upcoming use of a related function.
46974
46975 2009-02-11  Jim Meyering  <meyering@redhat.com>
46976
46977         fts: correct internal computation of nlinks (optimization-related)
46978         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
46979         whether the current entry is a directory, so don't test it.
46980
46981 2009-02-10  Bruno Haible  <bruno@clisp.org>
46982
46983         Tests for module 'uniwbrk/ulc-wordbreaks'.
46984         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
46985         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
46986         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
46987
46988         Tests for module 'uniwbrk/u32-wordbreaks'.
46989         * modules/uniwbrk/u32-wordbreaks-tests: New file.
46990         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
46991
46992         Tests for module 'uniwbrk/u16-wordbreaks'.
46993         * modules/uniwbrk/u16-wordbreaks-tests: New file.
46994         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
46995
46996         Tests for module 'uniwbrk/u8-wordbreaks'.
46997         * modules/uniwbrk/u8-wordbreaks-tests: New file.
46998         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
46999
47000 2009-02-10  Bruno Haible  <bruno@clisp.org>
47001
47002         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
47003         property.
47004         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
47005         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
47006         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
47007
47008 2009-02-10  Simon Josefsson  <simon@josefsson.org>
47009
47010         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
47011         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
47012
47013 2009-02-10  Bruno Haible  <bruno@clisp.org>
47014
47015         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
47016         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
47017         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
47018         * lib/unilbrk/u8-possible-linebreaks.c: Update.
47019         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
47020         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
47021
47022 2009-02-09  Simon Josefsson  <simon@josefsson.org>
47023
47024         * lib/sockets.h (gl_fd_to_handle): New function.
47025
47026         * tests/test-sockets.c: Call gl_fd_to_handle.
47027
47028 2009-02-09  Bruno Haible  <bruno@clisp.org>
47029
47030         * doc/havelib.texi: Document the conventions on bi-arch systems.
47031
47032 2009-02-08  Bruno Haible  <bruno@clisp.org>
47033
47034         Document the AC_LIB_LINKFLAGS macro.
47035         * doc/havelib.texi: New file, mostly written on 2005-05-24.
47036         * doc/gnulib.texi: Include it.
47037
47038 2009-02-08  Bruno Haible  <bruno@clisp.org>
47039
47040         Fix wrong order of sections, compared to TOC.
47041         * doc/gnulib.texi: Include relocatable-maint.texi after the
47042         "Regular expressions" node, not before.
47043
47044 2009-02-08  Bruno Haible  <bruno@clisp.org>
47045
47046         Tests for module 'unicase/totitle'.
47047         * modules/unicase/totitle-tests: New file.
47048
47049         Tests for module 'unicase/tolower'.
47050         * modules/unicase/tolower-tests: New file.
47051
47052         Tests for module 'unicase/toupper'.
47053         * modules/unicase/toupper-tests: New file.
47054         * tests/unicase/test-mapping-part1.h: New file.
47055         * tests/unicase/test-mapping-part2.h: New file.
47056
47057         New module 'unicase/totitle'.
47058         * modules/unicase/totitle: New file.
47059         * lib/unicase/totitle.c: New file.
47060
47061         New module 'unicase/tolower'.
47062         * modules/unicase/tolower: New file.
47063         * lib/unicase/tolower.c: New file.
47064
47065         New module 'unicase/toupper'.
47066         * modules/unicase/toupper: New file.
47067         * lib/unicase/toupper.c: New file.
47068         * lib/unicase/simple-mapping.h: New file.
47069
47070         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
47071         (mapping_table): New structure.
47072         (output_simple_mapping): New function.
47073         (main): Invoke output_simple_mapping_test and output_simple_mapping.
47074         * modules/gen-uni-tables (Description): Update.
47075         * lib/unicase/toupper.h: New file, automatically generated by
47076         gen-uni-tables.
47077         * lib/unicase/tolower.h: New file, automatically generated by
47078         gen-uni-tables.
47079         * lib/unicase/totitle.h: New file, automatically generated by
47080         gen-uni-tables.
47081         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
47082         gen-uni-tables.
47083         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
47084         gen-uni-tables.
47085         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
47086         gen-uni-tables.
47087
47088         New module 'unicase/base'.
47089         * modules/unicase/base: New file.
47090         * lib/unicase.h: New file.
47091
47092 2009-02-08  Bruno Haible  <bruno@clisp.org>
47093
47094         New module 'uniwbrk/ulc-wordbreaks'.
47095         * modules/uniwbrk/ulc-wordbreaks: New file.
47096         * lib/uniwbrk/ulc-wordbreaks.c: New file.
47097
47098         New module 'uniwbrk/u32-wordbreaks'.
47099         * modules/uniwbrk/u32-wordbreaks: New file.
47100         * lib/uniwbrk/u32-wordbreaks.c: New file.
47101
47102         New module 'uniwbrk/u16-wordbreaks'.
47103         * modules/uniwbrk/u16-wordbreaks: New file.
47104         * lib/uniwbrk/u16-wordbreaks.c: New file.
47105
47106         New module 'uniwbrk/u8-wordbreaks'.
47107         * modules/uniwbrk/u8-wordbreaks: New file.
47108         * lib/uniwbrk/u8-wordbreaks.c: New file.
47109         * lib/uniwbrk/u-wordbreaks.h: New file.
47110
47111         New module 'uniwbrk/table'.
47112         * modules/uniwbrk/table: New file.
47113         * lib/uniwbrk/wbrktable.h: New file.
47114         * lib/uniwbrk/wbrktable.c: New file.
47115
47116         New module 'uniwbrk/wordbreak-property'.
47117         * modules/uniwbrk/wordbreak-property: New file.
47118         * lib/uniwbrk/wordbreak-property.c: New file.
47119
47120         * lib/gen-uni-tables.c (WBP_*): New enum items.
47121         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
47122         (unicode_org_wbp): New variable.
47123         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
47124         New functions.
47125         (wbp_table): New structure.
47126         (output_wbp, output_wbrk_tables): New functions.
47127         (main): Accept additional argument. Invoke fill_org_wbp,
47128         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
47129         output_wbrk_tables.
47130         * modules/gen-uni-tables (Description): Update.
47131         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
47132         gen-uni-tables.
47133
47134         New module 'uniwbrk/base'.
47135         * modules/uniwbrk/base: New file.
47136         * lib/uniwbrk.h: New file.
47137
47138 2009-02-08  Bruno Haible  <bruno@clisp.org>
47139
47140         Update to Unicode 5.1.0.
47141         * lib/gen-uni-tables.c (is_property_alphabetic): Include
47142         U+2185..U+2188.
47143         (is_property_default_ignorable_code_point): Don't include characters
47144         of category Cc or Cs and not-a-characters.
47145         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
47146         U+0D79, U+109E, U+109F, U+A60C.
47147         * lib/unictype/bidi_of.h: Regenerated.
47148         * lib/unictype/blocks.h: Regenerated.
47149         * lib/unictype/categ_C.h: Regenerated.
47150         * lib/unictype/categ_Cf.h: Regenerated.
47151         * lib/unictype/categ_Cn.h: Regenerated.
47152         * lib/unictype/categ_L.h: Regenerated.
47153         * lib/unictype/categ_Ll.h: Regenerated.
47154         * lib/unictype/categ_Lm.h: Regenerated.
47155         * lib/unictype/categ_Lo.h: Regenerated.
47156         * lib/unictype/categ_Lu.h: Regenerated.
47157         * lib/unictype/categ_M.h: Regenerated.
47158         * lib/unictype/categ_Mc.h: Regenerated.
47159         * lib/unictype/categ_Me.h: Regenerated.
47160         * lib/unictype/categ_Mn.h: Regenerated.
47161         * lib/unictype/categ_N.h: Regenerated.
47162         * lib/unictype/categ_Nd.h: Regenerated.
47163         * lib/unictype/categ_Nl.h: Regenerated.
47164         * lib/unictype/categ_No.h: Regenerated.
47165         * lib/unictype/categ_P.h: Regenerated.
47166         * lib/unictype/categ_Pd.h: Regenerated.
47167         * lib/unictype/categ_Pe.h: Regenerated.
47168         * lib/unictype/categ_Pf.h: Regenerated.
47169         * lib/unictype/categ_Pi.h: Regenerated.
47170         * lib/unictype/categ_Po.h: Regenerated.
47171         * lib/unictype/categ_Ps.h: Regenerated.
47172         * lib/unictype/categ_S.h: Regenerated.
47173         * lib/unictype/categ_Sk.h: Regenerated.
47174         * lib/unictype/categ_Sm.h: Regenerated.
47175         * lib/unictype/categ_So.h: Regenerated.
47176         * lib/unictype/categ_of.h: Regenerated.
47177         * lib/unictype/combining.h: Regenerated.
47178         * lib/unictype/ctype_alnum.h: Regenerated.
47179         * lib/unictype/ctype_alpha.h: Regenerated.
47180         * lib/unictype/ctype_graph.h: Regenerated.
47181         * lib/unictype/ctype_lower.h: Regenerated.
47182         * lib/unictype/ctype_print.h: Regenerated.
47183         * lib/unictype/ctype_punct.h: Regenerated.
47184         * lib/unictype/ctype_upper.h: Regenerated.
47185         * lib/unictype/decdigit.h: Regenerated.
47186         * lib/unictype/digit.h: Regenerated.
47187         * lib/unictype/mirror.h: Regenerated.
47188         * lib/unictype/numeric.h: Regenerated.
47189         * lib/unictype/pr_alphabetic.h: Regenerated.
47190         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
47191         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
47192         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
47193         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
47194         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
47195         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
47196         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
47197         * lib/unictype/pr_combining.h: Regenerated.
47198         * lib/unictype/pr_dash.h: Regenerated.
47199         * lib/unictype/pr_decimal_digit.h: Regenerated.
47200         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
47201         * lib/unictype/pr_deprecated.h: Regenerated.
47202         * lib/unictype/pr_diacritic.h: Regenerated.
47203         * lib/unictype/pr_extender.h: Regenerated.
47204         * lib/unictype/pr_format_control.h: Regenerated.
47205         * lib/unictype/pr_grapheme_base.h: Regenerated.
47206         * lib/unictype/pr_grapheme_extend.h: Regenerated.
47207         * lib/unictype/pr_grapheme_link.h: Regenerated.
47208         * lib/unictype/pr_id_continue.h: Regenerated.
47209         * lib/unictype/pr_id_start.h: Regenerated.
47210         * lib/unictype/pr_ideographic.h: Regenerated.
47211         * lib/unictype/pr_ignorable_control.h: Regenerated.
47212         * lib/unictype/pr_lowercase.h: Regenerated.
47213         * lib/unictype/pr_math.h: Regenerated.
47214         * lib/unictype/pr_numeric.h: Regenerated.
47215         * lib/unictype/pr_other_alphabetic.h: Regenerated.
47216         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
47217         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
47218         * lib/unictype/pr_other_id_continue.h: Regenerated.
47219         * lib/unictype/pr_other_lowercase.h: Regenerated.
47220         * lib/unictype/pr_other_math.h: Regenerated.
47221         * lib/unictype/pr_punctuation.h: Regenerated.
47222         * lib/unictype/pr_sentence_terminal.h: Regenerated.
47223         * lib/unictype/pr_soft_dotted.h: Regenerated.
47224         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
47225         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
47226         * lib/unictype/pr_unified_ideograph.h: Regenerated.
47227         * lib/unictype/pr_uppercase.h: Regenerated.
47228         * lib/unictype/pr_xid_continue.h: Regenerated.
47229         * lib/unictype/pr_xid_start.h: Regenerated.
47230         * lib/unictype/pr_zero_width.h: Regenerated.
47231         * lib/unictype/scripts.h: Regenerated.
47232         * lib/unictype/scripts_byname.gperf: Regenerated.
47233         * lib/unictype/sy_java_ident.h: Regenerated.
47234         * lib/unilbrk/lbrkprop1.h: Regenerated.
47235         * lib/unilbrk/lbrkprop2.h: Regenerated.
47236         * tests/unictype/test-categ_C.c: Regenerated.
47237         * tests/unictype/test-categ_Cf.c: Regenerated.
47238         * tests/unictype/test-categ_Cn.c: Regenerated.
47239         * tests/unictype/test-categ_L.c: Regenerated.
47240         * tests/unictype/test-categ_Ll.c: Regenerated.
47241         * tests/unictype/test-categ_Lm.c: Regenerated.
47242         * tests/unictype/test-categ_Lo.c: Regenerated.
47243         * tests/unictype/test-categ_Lu.c: Regenerated.
47244         * tests/unictype/test-categ_M.c: Regenerated.
47245         * tests/unictype/test-categ_Mc.c: Regenerated.
47246         * tests/unictype/test-categ_Me.c: Regenerated.
47247         * tests/unictype/test-categ_Mn.c: Regenerated.
47248         * tests/unictype/test-categ_N.c: Regenerated.
47249         * tests/unictype/test-categ_Nd.c: Regenerated.
47250         * tests/unictype/test-categ_Nl.c: Regenerated.
47251         * tests/unictype/test-categ_No.c: Regenerated.
47252         * tests/unictype/test-categ_P.c: Regenerated.
47253         * tests/unictype/test-categ_Pd.c: Regenerated.
47254         * tests/unictype/test-categ_Pe.c: Regenerated.
47255         * tests/unictype/test-categ_Pf.c: Regenerated.
47256         * tests/unictype/test-categ_Pi.c: Regenerated.
47257         * tests/unictype/test-categ_Po.c: Regenerated.
47258         * tests/unictype/test-categ_Ps.c: Regenerated.
47259         * tests/unictype/test-categ_S.c: Regenerated.
47260         * tests/unictype/test-categ_Sk.c: Regenerated.
47261         * tests/unictype/test-categ_Sm.c: Regenerated.
47262         * tests/unictype/test-categ_So.c: Regenerated.
47263         * tests/unictype/test-ctype_alnum.c: Regenerated.
47264         * tests/unictype/test-ctype_alpha.c: Regenerated.
47265         * tests/unictype/test-ctype_graph.c: Regenerated.
47266         * tests/unictype/test-ctype_lower.c: Regenerated.
47267         * tests/unictype/test-ctype_print.c: Regenerated.
47268         * tests/unictype/test-ctype_punct.c: Regenerated.
47269         * tests/unictype/test-ctype_upper.c: Regenerated.
47270         * tests/unictype/test-decdigit.h: Regenerated.
47271         * tests/unictype/test-digit.h: Regenerated.
47272         * tests/unictype/test-numeric.h: Regenerated.
47273         * tests/unictype/test-pr_alphabetic.c: Regenerated.
47274         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
47275         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
47276         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
47277         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
47278         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
47279         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
47280         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
47281         * tests/unictype/test-pr_combining.c: Regenerated.
47282         * tests/unictype/test-pr_dash.c: Regenerated.
47283         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
47284         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
47285         * tests/unictype/test-pr_deprecated.c: Regenerated.
47286         * tests/unictype/test-pr_diacritic.c: Regenerated.
47287         * tests/unictype/test-pr_extender.c: Regenerated.
47288         * tests/unictype/test-pr_format_control.c: Regenerated.
47289         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
47290         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
47291         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
47292         * tests/unictype/test-pr_id_continue.c: Regenerated.
47293         * tests/unictype/test-pr_id_start.c: Regenerated.
47294         * tests/unictype/test-pr_ideographic.c: Regenerated.
47295         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
47296         * tests/unictype/test-pr_lowercase.c: Regenerated.
47297         * tests/unictype/test-pr_math.c: Regenerated.
47298         * tests/unictype/test-pr_numeric.c: Regenerated.
47299         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
47300         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
47301         Regenerated.
47302         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
47303         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
47304         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
47305         * tests/unictype/test-pr_other_math.c: Regenerated.
47306         * tests/unictype/test-pr_punctuation.c: Regenerated.
47307         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
47308         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
47309         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
47310         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
47311         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
47312         * tests/unictype/test-pr_uppercase.c: Regenerated.
47313         * tests/unictype/test-pr_xid_continue.c: Regenerated.
47314         * tests/unictype/test-pr_xid_start.c: Regenerated.
47315         * tests/unictype/test-pr_zero_width.c: Regenerated.
47316
47317         Update to Unicode 5.1.0.
47318         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
47319         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
47320         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
47321         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
47322         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
47323         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
47324         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
47325         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
47326         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
47327         (nonspacing_table_ind): Update.
47328         * tests/uniwidth/test-uc_width2.sh: Update expected result.
47329
47330         Update to Unicode 5.1.0.
47331         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
47332         code transform.
47333         * lib/uniname/uniname.c (unicode_character_name,
47334         unicode_name_character): Add the range 0x1Fxxx to the code transform.
47335         * lib/uniname/uninames.h: Regenerated.
47336         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
47337
47338 2009-02-07  Bruno Haible  <bruno@clisp.org>
47339
47340         Merge gen-ctype and gen-lbrk into a single program.
47341         * lib/gen-uni-tables.c: New file, incorporating
47342         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
47343         Add directory prefixes to the names of the generated files.
47344         * lib/unictype/gen-ctype.c: Remove file.
47345         * lib/unilbrk/gen-lbrk.c: Remove file.
47346         * modules/gen-uni-tables: New file.
47347         * modules/unictype/gen-ctype: Remove file.
47348         * modules/unilbrk/gen-lbrk: Remove file.
47349
47350 2009-02-07  Bruno Haible  <bruno@clisp.org>
47351
47352         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
47353
47354         New module 'unistr/u32-strcoll'.
47355         * modules/unistr/u32-strcoll: New file.
47356         * lib/unistr/u32-strcoll.c: New file.
47357
47358         New module 'unistr/u16-strcoll'.
47359         * modules/unistr/u16-strcoll: New file.
47360         * lib/unistr/u16-strcoll.c: New file.
47361
47362         New module 'unistr/u8-strcoll'.
47363         * modules/unistr/u8-strcoll: New file.
47364         * lib/unistr/u8-strcoll.c: New file.
47365         * lib/unistr/u-strcoll.h: New file.
47366
47367 2009-02-07  Bruno Haible  <bruno@clisp.org>
47368
47369         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
47370         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47371         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47372         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
47373         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
47374         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
47375
47376 2009-02-07  Bruno Haible  <bruno@clisp.org>
47377
47378         Make 64-bit clean.
47379         * lib/unictype/gen-ctype.c (output_predicate, output_category,
47380         output_combclass, output_bidi_category, output_decimal_digit,
47381         output_digit, output_numeric, output_mirror, output_scripts,
47382         output_ident_category): Use proper width specifier in format strings.
47383
47384 2009-02-07  Bruno Haible  <bruno@clisp.org>
47385
47386         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
47387         failure behaviour.
47388
47389 2009-02-07  Jim Meyering  <meyering@redhat.com>
47390
47391         regex: avoid compilation failure with upcoming gcc-4.4
47392         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
47393         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
47394         "... error: integer overflow in preprocessor expression".
47395
47396 2009-02-05  Ben Pfaff  <blp@gnu.org>
47397
47398         Fix link errors on Windows when close module is used.
47399         * modules/close: Add $(LIB_CLOSE) to Link section.
47400         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
47401         $(LIB_CLOSE) on Windows.
47402
47403 2009-02-05  Jim Meyering  <meyering@redhat.com>
47404
47405         still avoid unused-parameter warnings, but do it cleanly
47406         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
47407         (get_fs_usage): Cast to void instead.
47408         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
47409         (dev_from_mount_options, read_file_system_list): Cast to void.
47410         Prompted by Bruno Haible.
47411
47412 2009-02-04  Jim Meyering  <meyering@redhat.com>
47413
47414         fsusage.c: correct copyright year
47415         * lib/fsusage.c: Reflect year in which the change is pushed into
47416
47417         avoid misc. warnings
47418         * lib/fsusage.c (UNUSED_PARAM): Define.
47419         (get_fs_usage): Mark parameter "disk" as unused.
47420         * lib/getugroups.c (getgrent): Use "void" in prototype.
47421         * lib/mountlist.c: Mark unused parameters.
47422         (read_file_system_list): Declare a local with "const".
47423         * lib/nanosleep.c (getnow): Declare static.
47424         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
47425
47426         dirfd: set errno upon failure
47427         * lib/dirfd.c: Include <errno.h>.
47428         Set errno to ENOTSUP when returning -1.
47429         * modules/dirfd (Depends-on): Add errno.
47430         Suggested by John Kodis <kodis@comcast.net>.
47431
47432 2009-02-01  Bruno Haible  <bruno@clisp.org>
47433
47434         Don't assume sizeof (long) >= sizeof (void *).
47435         * lib/memcmp.c: Include stdint.h.
47436         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
47437         srcp2 to 'const byte *'.
47438         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
47439         types to uintptr_t.
47440         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
47441         * modules/memcmp (Depends-on): Add stdint.
47442         Reported by Ozkan Sezer <sezeroz@gmail.com>.
47443
47444 2009-01-30  Eric Blake  <ebb9@byu.net>
47445
47446         fix more require-before-expand issues
47447         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
47448         expand, AC_PROG_AWK.
47449         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
47450
47451 2009-01-28  Eric Blake  <ebb9@byu.net>
47452
47453         version-etc: use consistent URL formatting
47454         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
47455         Improve formatting.  Use fputs for string without %.
47456
47457 2009-01-28  Jim Meyering  <meyering@redhat.com>
47458
47459         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
47460         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
47461         "underquoted definition of NAME" from autoconf-2.59.
47462
47463 2009-01-28  Bruno Haible  <bruno@clisp.org>
47464
47465         * doc/gnulib.texi: Add "Obsolete modules" to index.
47466
47467 2009-01-28  Jim Meyering  <meyering@redhat.com>
47468
47469         useless-if-before-free: recognize more variants
47470         * build-aux/useless-if-before-free: Also recognize e.g.,
47471         if (NULL != p) free (p);
47472
47473 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
47474
47475         test-getaddrinfo: skip (don't fail) this test when there's no network
47476         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
47477         on the presumption that it means you lack network access.
47478
47479 2009-01-26  Jim Meyering  <meyering@redhat.com>
47480
47481         fflush: avoid warnings on modern systems
47482         * lib/fflush.c (rpl_fflush): Move declarations of locals,
47483         pos and result, into scopes where they're used.
47484
47485 2009-01-26  Eric Blake  <ebb9@byu.net>
47486
47487         Silence warning reintroduced by recent extensions patch.
47488         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
47489         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
47490         autoconf.
47491
47492         Backport improved autoconf semantics of AC_DEFUN_ONCE.
47493         * m4/00gnulib.m4: New file.
47494         * gnulib-tool (func_get_filelist): Always use it.
47495         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
47496         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
47497
47498 2009-01-25  Bruno Haible  <bruno@clisp.org>
47499
47500         Make test-quotearg work on MacOS X and AIX.
47501         * tests/test-quotearg.sh: New file.
47502         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
47503         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
47504         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
47505         include <libintl.h>.
47506         (fake_locale): Remove variable.
47507         (gettext, dgettext, dcgettext): Remove functions.
47508         (main): Instead of setting a fake locale, set a real locale. Call
47509         textdomain and bindtextdomain.
47510         * modules/quotearg-tests (Files): Add the new files.
47511         (Depends-on): Add gettext, setenv, unsetenv.
47512         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
47513         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
47514         Augment TESTS_ENVIRONMENT.
47515
47516 2009-01-25  Bruno Haible  <bruno@clisp.org>
47517
47518         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
47519         fr_FR.ISO8859-1 locale on MacOS X.
47520         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
47521         ja_JP.eucJP locale on MacOS X.
47522         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
47523         zh_CN.GB18030 locale on MacOS X.
47524
47525 2009-01-25  Bruno Haible  <bruno@clisp.org>
47526
47527         Avoid link errors on MacOS X 10.3.
47528         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
47529         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
47530
47531 2009-01-25  Bruno Haible  <bruno@clisp.org>
47532
47533         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
47534         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
47535         * modules/pipe (Files): Remove m4/posix_spawn.m4.
47536         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
47537         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
47538         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
47539         posix_spawnattr_init, posix_spawnattr_setsigmask,
47540         posix_spawnattr_setflags, posix_spawnattr_destroy.
47541
47542         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
47543         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
47544         * modules/execute (Files): Remove m4/posix_spawn.m4.
47545         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
47546         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
47547         posix_spawnattr_init, posix_spawnattr_setsigmask,
47548         posix_spawnattr_setflags, posix_spawnattr_destroy.
47549
47550 2009-01-25  Bruno Haible  <bruno@clisp.org>
47551
47552         * lib/glthread/threadlib.c: Include <stdlib.h>.
47553
47554 2009-01-25  Bruno Haible  <bruno@clisp.org>
47555
47556         * lib/glthread/threadlib.c (dummy): New declaration.
47557
47558 2009-01-25  Bruno Haible  <bruno@clisp.org>
47559
47560         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
47561         multibyte characters also for the GB18030 encoding. Don't crash when
47562         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
47563
47564 2009-01-25  Bruno Haible  <bruno@clisp.org>
47565
47566         Avoid redefining 'struct random_data' on OSF/1 5.1.
47567         * lib/stdlib.in.h: Include <random.h> if it exists.
47568         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
47569         HAVE_RANDOM_H. Include <random.h> when testing whether
47570         'struct random_data' exists.
47571         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
47572
47573 2009-01-25  Bruno Haible  <bruno@clisp.org>
47574
47575         Don't install charset.alias on MacOS X >= 10.3.
47576         * lib/localcharset.c (DARWIN7): New macro.
47577         (get_charset_aliases): Hardcode the result for Darwin7.
47578         * modules/localcharset (install-exec-local): Don't install
47579         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
47580
47581 2009-01-25  Bruno Haible  <bruno@clisp.org>
47582
47583         Don't install charset.alias on mingw and Cygwin.
47584         * modules/localcharset (install-exec-local): Don't install
47585         charset.alias on mingw and Cygwin, if the file does not yet exist.
47586         The result for these platforms is hardcoded in localcharset.c.
47587
47588 2009-01-25  Bruno Haible  <bruno@clisp.org>
47589
47590         Make it possible again to use AC_GNU_SOURCE together with gnulib.
47591         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
47592         before requiring AC_USE_SYSTEM_EXTENSIONS.
47593
47594 2009-01-25  Jim Meyering  <meyering@redhat.com>
47595
47596         c-strtod: avoid warnings
47597         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
47598         "assignment discards qualifiers from pointer target type" warnings.
47599
47600 2009-01-24  Bruno Haible  <bruno@clisp.org>
47601
47602         Add support for non-UTF-8 locales on MacOS X.
47603         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
47604         canonical encodings. For Darwin 7 and newer, don't map traditional
47605         encodings to UTF-8.
47606         Reported by Vincent Lefevre <vincent@vinc17.org>
47607         at <http://savannah.gnu.org/bugs/?25235>.
47608
47609 2009-01-24  Bruno Haible  <bruno@clisp.org>
47610
47611         * doc/gnulib.texi (Obsolete modules): New section.
47612         Reported by Mike Frysinger <vapier@gentoo.org>.
47613
47614 2009-01-24  Bruno Haible  <bruno@clisp.org>
47615
47616         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
47617         (%.dvi): New rule.
47618
47619 2009-01-24  Bruno Haible  <bruno@clisp.org>
47620
47621         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
47622         Reported by Eric Blake.
47623
47624 2009-01-24  Bruno Haible  <bruno@clisp.org>
47625
47626         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
47627         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
47628         Reported by Gary V. Vaughan <gary@gnu.org>.
47629
47630 2009-01-24  Bruno Haible  <bruno@clisp.org>
47631
47632         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
47633
47634 2009-01-23  Bruno Haible  <bruno@clisp.org>
47635
47636         Make c-strtod, c-strtold usable in libraries.
47637         * lib/c-strtod.c: Include string.h instead of xalloc.h.
47638         (C_STRTOD): Call strdup instead of xstrdup.
47639         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
47640         * modules/c-strtold (Depends-on): Likewise.
47641         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
47642         * NEWS: Mention the change.
47643         Reported by Michael Gold <mgold@ncf.ca>.
47644
47645 2009-01-23  Jim Meyering  <meyering@redhat.com>
47646
47647         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
47648         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
47649         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
47650
47651 2009-01-23  Simon Josefsson  <simon@josefsson.org>
47652
47653         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
47654         GNU CoreUtils.
47655         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
47656         * modules/version-etc (Description): Update.
47657
47658 2009-01-22  Bruno Haible  <bruno@clisp.org>
47659
47660         Cache the C locale object.
47661         * lib/c-strtod.c (c_locale_cache): New variable.
47662         (c_locale): New function.
47663         (C_STRTOD): Use it, and don't call freelocale.
47664         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
47665         Suggested by Paolo Bonzini.
47666
47667 2009-01-21  Bruno Haible  <bruno@clisp.org>
47668
47669         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
47670         conditions other than overflow.
47671
47672 2009-01-21  Bruno Haible  <bruno@clisp.org>
47673
47674         * lib/c-strtod.c: Include errno.h.
47675         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
47676         value from STRTOD_L and STRTOD.
47677
47678 2009-01-21  Bruno Haible  <bruno@clisp.org>
47679         and Jim Meyering  <meyering@redhat.com>
47680
47681         nanosleep: skip configure test (fail it) for apple universal builds
47682         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
47683         universal builds, assume that nanosleep does not work.
47684         * modules/nanosleep (Depends-on): Add multiarch.
47685
47686         mktime: skip configure test (fail it) for apple universal builds
47687         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
47688         universal builds, assume that mktime does not work.
47689         * modules/mktime (Depends-on): Add multiarch.
47690
47691 2009-01-21  Eric Blake  <ebb9@byu.net>
47692
47693         multiarch: avoid expand-before-require warning
47694         * modules/multiarch (configure.ac): Require, rather than expand,
47695         gl_MULTIARCH.
47696         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
47697         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
47698         enforce that all clients require it.  Partial reversion of
47699         2008-12-29 patch.
47700
47701         error: avoid expand-before-require warning
47702         * modules/errno (configure.ac): Require, rather than expand,
47703         gl_HEADER_ERRNO_H.
47704         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
47705         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
47706         enforce that all clients require it.
47707
47708         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
47709         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
47710         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
47711         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
47712
47713 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
47714
47715         Revert:
47716         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47717
47718         regex: do not depend on obsolete modules.
47719         * modules/regex: Remove memcmp and memmove.
47720
47721 2009-01-20  Bruno Haible  <bruno@clisp.org>
47722
47723         Make the 'link' module link on Windows NT 4.
47724         * lib/link.c (_WIN32_WINNT): Don't define.
47725         (CreateHardLinkFuncType): New type.
47726         (CreateHardLinkFunc, initialized): New variables.
47727         (initialize): New function.
47728         (link): Invoke CreateHardLink indirectly through the function pointer.
47729
47730 2009-01-20  Bruno Haible  <bruno@clisp.org>
47731
47732         Fix compilation failure on mingw.
47733         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
47734
47735 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
47736
47737         * doc/c-strtod.texi: Mention a couple of restrictions.
47738
47739 2009-01-20  Jim Meyering  <meyering@redhat.com>
47740
47741         gettimeofday: move more declarations out of functions
47742         * lib/gettimeofday.c: Move extern declarations of tzset and
47743         gmtime out of containing functions.  Prompted by Bruno Haible.
47744
47745 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47746
47747         regex: do not depend on obsolete modules.
47748         * modules/regex: Remove memcmp and memmove.
47749
47750 2009-01-19  Bruno Haible  <bruno@clisp.org>
47751
47752         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47753         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
47754         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47755         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
47756         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
47757
47758 2009-01-19  Bruno Haible  <bruno@clisp.org>
47759
47760         * tests/test-link.c: Include <errno.h>.
47761         (main): Exit with code 77 when a hard link cannot be created due to
47762         the file system.
47763         * tests/test-link.sh: Skip test when a hard link cannot be created due
47764         to the file system.
47765         Suggested by Eric Blake.
47766
47767 2009-01-19  Martin Lambers  <marlam@marlam.de>
47768
47769         * modules/link-tests: New file.
47770         * tests/test-link.sh: New file.
47771         * tests/test-link.c: New file.
47772
47773 2009-01-19  Eric Blake  <ebb9@byu.net>
47774
47775         doc: mention another function added in cygwin 1.7.0
47776         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
47777         Another new function in cygwin 1.7.
47778
47779 2009-01-19  Bruno Haible  <bruno@clisp.org>
47780
47781         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47782         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
47783         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
47784         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47785         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
47786         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
47787         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
47788         * m4/md4.m4 (gl_MD4): Likewise.
47789         * m4/md5.m4 (gl_MD5): Likewise.
47790         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
47791         * m4/sha1.m4 (gl_SHA1): Likewise.
47792         * m4/sha256.m4 (gl_SHA256): Likewise.
47793         * m4/sha512.m4 (gl_SHA512): Likewise.
47794
47795 2009-01-19  Bruno Haible  <bruno@clisp.org>
47796
47797         * modules/uniname/uniname-tests (Depends-on): Add progname.
47798         * tests/uniname/test-uninames.c: Include progname.h.
47799         (main): Call set_program_name.
47800
47801         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
47802         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
47803         (main): Call set_program_name.
47804
47805         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
47806         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
47807         (main): Call set_program_name.
47808
47809         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
47810         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
47811         (main): Call set_program_name.
47812
47813         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
47814         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
47815         (main): Call set_program_name.
47816
47817         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
47818         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
47819         (main): Call set_program_name.
47820
47821         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
47822         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
47823         (main): Call set_program_name.
47824
47825         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
47826         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
47827         (main): Call set_program_name.
47828
47829         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
47830         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
47831         (main): Call set_program_name.
47832
47833 2009-01-19  Eric Blake  <ebb9@byu.net>
47834
47835         test-unistd: test previous patch
47836         * tests/test-unistd.c: Test *_FILENO macros.
47837
47838         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
47839         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47840         Guarantee a definition.
47841         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
47842         * modules/unistd-safer (Depends-on): Add dependency on unistd.
47843         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
47844         * lib/dup-safer.c (STDERR_FILENO): Likewise.
47845         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47846         Likewise.
47847         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
47848         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
47849         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47850         Likewise.
47851         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
47852         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
47853         (STDERR_FILENO): Likewise.
47854         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
47855         (STDERR_FILENO): Likewise.
47856         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
47857         (STDERR_FILENO): Likewise.
47858         Reported by Elbert Pol.
47859
47860 2009-01-19  Eric Blake  <ebb9@byu.net>
47861
47862         doc: mention more functions added in cygwin 1.7.0
47863         * doc/posix-functions/abort.texi (abort): Update wording related
47864         to cygwin.
47865         * doc/posix-functions/daylight.texi (daylight): Likewise.
47866         * doc/posix-functions/optarg.texi (optarg): Likewise.
47867         * doc/posix-functions/optarg.texi (opterr): Likewise.
47868         * doc/posix-functions/optarg.texi (optind): Likewise.
47869         * doc/posix-functions/optarg.texi (optopt): Likewise.
47870         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
47871         worked in 1.5.x, and was withdrawn in 1.7.
47872         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
47873         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
47874         cygwin versions.
47875         * doc/posix-functions/perror.texi (perror): Likewise.
47876         * doc/posix-functions/printf.texi (printf): Likewise.
47877         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
47878         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
47879         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
47880         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
47881         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
47882         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
47883         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
47884         Likewise.
47885         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
47886         Likewise.
47887         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
47888         this function.
47889         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
47890         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
47891         Likewise.
47892         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
47893         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
47894         * doc/posix-functions/confstr.texi (confstr): Likewise.
47895         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
47896         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
47897         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
47898         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
47899         * doc/posix-functions/fputws.texi (fputws): Likewise.
47900         * doc/posix-functions/fwide.texi (fwide): Likewise.
47901         * doc/posix-functions/getwc.texi (getwc): Likewise.
47902         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
47903         * doc/posix-functions/putwc.texi (putwc): Likewise.
47904         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
47905         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
47906         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
47907         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
47908         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
47909         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
47910         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
47911         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
47912         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
47913         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
47914         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
47915
47916 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47917
47918         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
47919         * lib/ioctl.c: Include <sys/ioctl.h>.
47920
47921 2009-01-19  Simon Josefsson  <simon@josefsson.org>
47922
47923         * modules/getdate-tests (Depends-on): Add progname.
47924         * tests/test-getdate.c: Use progname module, to avoid link errors
47925         on non-glibc systems.
47926
47927 2009-01-18  Simon Josefsson  <simon@josefsson.org>
47928
47929         * modules/filenamecat-tests (Depends-on): Add progname.
47930         * modules/fstrcmp-tests (Depends-on): Likewise.
47931
47932         * tests/test-filenamecat.c: Use progname module, to avoid link
47933         errors on non-glibc systems.
47934         * tests/test-fstrcmp.c: Likewise.
47935
47936 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47937
47938         gettimeofday: avoid warning: nested extern declaration of 'localtime'
47939         * lib/gettimeofday.c: Move extern declaration out of function.
47940
47941 2009-01-18  Bruno Haible  <bruno@clisp.org>
47942
47943         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
47944         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
47945         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
47946
47947 2009-01-18  Bruno Haible  <bruno@clisp.org>
47948
47949         * lib/strftime.c (MEMPCPY): Remove unused macro.
47950         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
47951
47952 2009-01-18  Martin Lambers  <marlam@marlam.de>
47953
47954         New module 'link'.
47955         * lib/unistd.in.h (link): New declaration.
47956         * lib/link.c: New file.
47957         * m4/link.m4: New file.
47958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
47959         HAVE_LINK.
47960         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
47961         * modules/link: New file.
47962         * doc/posix-functions/link.texi: Mention the new module.
47963
47964 2009-01-18  Bruno Haible  <bruno@clisp.org>
47965
47966         * tests/test-avltree_list.c (main): Call set_program_name.
47967         * tests/test-avltree_oset.c (main): Likewise.
47968         * tests/test-obstack-printf.c: Include progname.h.
47969         (main): Call set_program_name.
47970         * tests/test-quotearg.c: Include progname.h.
47971         (main): Call set_program_name.
47972         * tests/test-xmemdup0.c: Include progname.h.
47973         (main): Call set_program_name.
47974
47975 2009-01-18  Bruno Haible  <bruno@clisp.org>
47976
47977         New module 'alphasort'.
47978         * lib/dirent.in.h (alphasort): New declaration.
47979         * lib/alphasort.c: New file, from glibc with modifications.
47980         * m4/alphasort.m4: New file.
47981         * modules/alphasort: New file.
47982         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
47983         HAVE_ALPHASORT.
47984         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
47985         HAVE_ALPHASORT.
47986         * doc/posix-functions/alphasort.texi: Mention the new module and the
47987         portability problems.
47988
47989 2009-01-18  Bruno Haible  <bruno@clisp.org>
47990
47991         New module 'scandir'.
47992         * lib/dirent.in.h (scandir): New declaration.
47993         * lib/scandir.c: New file, from glibc with modifications.
47994         * m4/scandir.m4: New file.
47995         * modules/scandir: New file.
47996         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
47997         HAVE_SCANDIR.
47998         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
47999         HAVE_SCANDIR.
48000         * doc/posix-functions/scandir.texi: Mention the new module and the
48001         portability problems.
48002
48003 2009-01-17  Bruno Haible  <bruno@clisp.org>
48004
48005         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
48006         Update documentation.
48007         (func_remove_suffix): Escape all dots in the suffix. Update
48008         documentation.
48009         (func_filter_filelist): Update documentation.
48010         Reported by Ralf Wildenhues.
48011
48012 2009-01-17  Bruno Haible  <bruno@clisp.org>
48013
48014         * modules/dprintf-posix-tests: New file.
48015         * tests/test-dprintf-posix.sh: New file.
48016         * tests/test-dprintf-posix.c: New file.
48017
48018         New modules 'dprintf', 'dprintf-posix'.
48019         * lib/stdio.in.h (dprintf): New declaration.
48020         * lib/dprintf.c: New file.
48021         * m4/dprintf.m4: New file.
48022         * m4/dprintf-posix.m4: New file.
48023         * modules/dprintf: New file.
48024         * modules/dprintf-posix: New file.
48025         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
48026         HAVE_DPRINTF, REPLACE_DPRINTF.
48027         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
48028         HAVE_DPRINTF, REPLACE_DPRINTF.
48029         * doc/posix-functions/dprintf.texi: Mention the new modules.
48030
48031 2009-01-17  Bruno Haible  <bruno@clisp.org>
48032
48033         * modules/vdprintf-posix-tests: New file.
48034         * tests/test-vdprintf-posix.sh: New file.
48035         * tests/test-vdprintf-posix.c: New file.
48036
48037         New modules 'vdprintf', 'vdprintf-posix'.
48038         * lib/stdio.in.h (vdprintf): New declaration.
48039         * lib/vdprintf.c: New file.
48040         * m4/vdprintf.m4: New file.
48041         * m4/vdprintf-posix.m4: New file.
48042         * modules/vdprintf: New file.
48043         * modules/vdprintf-posix: New file.
48044         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
48045         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48046         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
48047         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48048         * doc/posix-functions/vdprintf.texi: Mention the new modules.
48049
48050 2009-01-17  Bruno Haible  <bruno@clisp.org>
48051
48052         Fix replacement of fopen on mingw.
48053         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
48054         mingw.
48055
48056 2009-01-17  Bruno Haible  <bruno@clisp.org>
48057
48058         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
48059         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
48060
48061 2009-01-17  Bruno Haible  <bruno@clisp.org>
48062
48063         Avoid test-fflush2.sh failure on mingw.
48064         * tests/test-fflush2.c: Include binary-io.h.
48065         (main): Put standard input into binary mode.
48066         * modules/fflush-tests (Depends-on): Add binary-io.
48067
48068 2009-01-17  Bruno Haible  <bruno@clisp.org>
48069
48070         * lib/wchar.in.h: In another particular situation, include only the
48071         system's <wchar.h> file.
48072         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
48073         Reported by Albert Chin-A-Young <china@thewrittenword.com>
48074         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
48075
48076 2009-01-17  Bruno Haible  <bruno@clisp.org>
48077
48078         Support for stripping executables in --enable-relocatable.
48079         * build-aux/install-reloc: Expect one more argument, or an environment
48080         variable RELOC_STRIP_PROG. If set, strip the destination program and
48081         its wrapper.
48082         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
48083         RELOC_STRIP_PROG.
48084         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
48085         to set RELOCATABLE_STRIP.
48086         * NEWS: Mention the new Makefile requirement.
48087
48088 2009-01-17  Bruno Haible  <bruno@clisp.org>
48089
48090         * build-aux/install-reloc: Remove debugging information left over by
48091         C compiler on MacOS X.
48092
48093 2009-01-17  Bruno Haible  <bruno@clisp.org>
48094
48095         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
48096         * lib/progreloc.c (find_executable): Fix type of pointer passed to
48097         _NSGetExecutablePath.
48098
48099 2009-01-16  Jim Meyering  <meyering@redhat.com>
48100
48101         strerror: avoid warnings about discarding "const"
48102         * lib/strerror.c (rpl_strerror): Instead of returning a const
48103         string from each and every "case", use a variable, and add a single
48104         cast after the switch.
48105
48106 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
48107
48108         * lib/arpa_inet.in.h: Add extern "C" block for C++.
48109
48110 2009-01-16  Bruno Haible  <bruno@clisp.org>
48111
48112         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
48113         array initializer syntax that also works in C++ mode.
48114         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48115
48116 2009-01-16  Jim Meyering  <meyering@redhat.com>
48117
48118         poll: suppress a warning
48119         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
48120         to ignore "...unsigned expression < 0 is always false" warnings.
48121
48122 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
48123
48124         poll: remove declarations of unused variables
48125         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
48126         sockbuf and optlen.
48127
48128 2009-01-15  Bruno Haible  <bruno@clisp.org>
48129
48130         Make fflush-after-ungetc POSIX compliant on BSD systems.
48131         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
48132         (clear_ungetc_buffer): Implement also for other systems.
48133         (rpl_fflush): On glibc systems, invoke
48134         clear_ungetc_buffer_preserving_position. Otherwise, invoke
48135         clear_ungetc_buffer after fetching the stream's position, not before.
48136
48137 2009-01-15  Bruno Haible  <bruno@clisp.org>
48138
48139         Make fflush-after-ungetc POSIX compliant on glibc systems.
48140         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
48141         after ungetc.
48142         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
48143         (rpl_fflush): On glibc systems, simply call the system's fflush
48144         function after clearing the ungetc buffer.
48145         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
48146         Instead, lseek only to the end of file, then use the system's fseeko
48147         for the rest. On glibc systems, reset the EOF indicator bit.
48148
48149 2009-01-15  Jim Meyering  <meyering@redhat.com>
48150
48151         openmp.m4: revert quote-adding change, for portability to older autoconf
48152         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
48153         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
48154         Simon Josefsson noticed the problem when using autoconf-2.61.
48155
48156 2009-01-15  Bruno Haible  <bruno@clisp.org>
48157
48158         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
48159         * tests/test-fflush2.c (ASSERT): Always fail.
48160         (main): Add two tests for fflush() after ungetc(), taking into account
48161         the Austin Group's clarification.
48162         Suggested by Eric Blake.
48163
48164 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
48165
48166         mktime.m4: remove K&R-style function prototypes
48167         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
48168         for the Sun C++ compiler.
48169
48170 2009-01-14  Bruno Haible  <bruno@clisp.org>
48171
48172         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
48173         while including <wchar.h>.
48174         * lib/wchar.in.h: In two particular situations on HP-UX, include only
48175         the system's <wchar.h> file.
48176         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48177
48178 2009-01-14  Bruno Haible  <bruno@clisp.org>
48179
48180         * m4/csharp.m4: Don't mention gettext on the serial number line.
48181         * m4/csharpexec.m4: Likewise.
48182         * m4/eaccess.m4: Likewise.
48183         * m4/javaexec.m4: Likewise.
48184         * m4/sig_atomic_t.m4: Likewise.
48185         * m4/tmpdir.m4: Likewise.
48186         * m4/intldir.m4: Bump gettext version.
48187         * m4/lib-ld.m4: Likewise.
48188
48189 2009-01-14  Bruno Haible  <bruno@clisp.org>
48190
48191         * lib/progname.c (set_program_name): Add more comments.
48192         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
48193
48194 2009-01-14  Simon Josefsson  <simon@josefsson.org>
48195
48196         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
48197         were sys/stat.h does not define it.
48198
48199 2009-01-14  Jim Meyering  <meyering@redhat.com>
48200
48201         many *.m4 files: improve m4 quoting
48202         99% of this change was performed by running the following commands:
48203         git ls-files | grep '\.m4$' | xargs perl -pi \
48204           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
48205           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48206           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48207           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
48208         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
48209         The remainder were to add Copyright dates, increment serial numbers,
48210         undo some changes in comments, exclude m4/intl.m4, and add quotes
48211         around the "1" in ",1" where the unusual spacing prohibited the
48212         above regexps from doing the job.  For more details, see
48213         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
48214         * m4/acl.m4: Modified.
48215         * m4/afs.m4: Likewise.
48216         * m4/alloca.m4: Likewise.
48217         * m4/argp.m4: Likewise.
48218         * m4/argz.m4: Likewise.
48219         * m4/atexit.m4: Likewise.
48220         * m4/bison-i18n.m4: Likewise.
48221         * m4/bison.m4: Likewise.
48222         * m4/byteswap.m4: Likewise.
48223         * m4/c-stack.m4: Likewise.
48224         * m4/c-strtod.m4: Likewise.
48225         * m4/calloc.m4: Likewise.
48226         * m4/canonicalize-lgpl.m4: Likewise.
48227         * m4/chown.m4: Likewise.
48228         * m4/clock_time.m4: Likewise.
48229         * m4/codeset.m4: Likewise.
48230         * m4/copy-file.m4: Likewise.
48231         * m4/csharp.m4: Likewise.
48232         * m4/csharpcomp.m4: Likewise.
48233         * m4/csharpexec.m4: Likewise.
48234         * m4/d-ino.m4: Likewise.
48235         * m4/d-type.m4: Likewise.
48236         * m4/dirfd.m4: Likewise.
48237         * m4/double-slash-root.m4: Likewise.
48238         * m4/eaccess.m4: Likewise.
48239         * m4/eealloc.m4: Likewise.
48240         * m4/environ.m4: Likewise.
48241         * m4/errno_h.m4: Likewise.
48242         * m4/euidaccess.m4: Likewise.
48243         * m4/execute.m4: Likewise.
48244         * m4/fatal-signal.m4: Likewise.
48245         * m4/fchdir.m4: Likewise.
48246         * m4/fcntl_h.m4: Likewise.
48247         * m4/fileblocks.m4: Likewise.
48248         * m4/filenamecat.m4: Likewise.
48249         * m4/findprog.m4: Likewise.
48250         * m4/flexmember.m4: Likewise.
48251         * m4/fnmatch.m4: Likewise.
48252         * m4/fopen.m4: Likewise.
48253         * m4/fpending.m4: Likewise.
48254         * m4/fprintf-posix.m4: Likewise.
48255         * m4/free.m4: Likewise.
48256         * m4/frexp.m4: Likewise.
48257         * m4/frexpl.m4: Likewise.
48258         * m4/fsusage.m4: Likewise.
48259         * m4/ftruncate.m4: Likewise.
48260         * m4/gc-camellia.m4: Likewise.
48261         * m4/gc-random.m4: Likewise.
48262         * m4/gc.m4: Likewise.
48263         * m4/getaddrinfo.m4: Likewise.
48264         * m4/getcwd-abort-bug.m4: Likewise.
48265         * m4/getcwd-path-max.m4: Likewise.
48266         * m4/getdate.m4: Likewise.
48267         * m4/getdomainname.m4: Likewise.
48268         * m4/getgroups.m4: Likewise.
48269         * m4/gethostname.m4: Likewise.
48270         * m4/gethrxtime.m4: Likewise.
48271         * m4/getline.m4: Likewise.
48272         * m4/getloadavg.m4: Likewise.
48273         * m4/getndelim2.m4: Likewise.
48274         * m4/getpass.m4: Likewise.
48275         * m4/gettext.m4: Likewise.
48276         * m4/gettime.m4: Likewise.
48277         * m4/gettimeofday.m4: Likewise.
48278         * m4/gnulib-common.m4: Likewise.
48279         * m4/group-member.m4: Likewise.
48280         * m4/host-os.m4: Likewise.
48281         * m4/iconv.m4: Likewise.
48282         * m4/iconv_open.m4: Likewise.
48283         * m4/inet_ntop.m4: Likewise.
48284         * m4/inet_pton.m4: Likewise.
48285         * m4/inline.m4: Likewise.
48286         * m4/intldir.m4: Likewise.
48287         * m4/intlmacosx.m4: Likewise.
48288         * m4/intmax.m4: Likewise.
48289         * m4/intmax_t.m4: Likewise.
48290         * m4/inttypes.m4: Likewise.
48291         * m4/inttypes_h.m4: Likewise.
48292         * m4/inttypes-pri.m4: Likewise.
48293         * m4/isapipe.m4: Likewise.
48294         * m4/isnand.m4: Likewise.
48295         * m4/isnanf.m4: Likewise.
48296         * m4/isnanl.m4: Likewise.
48297         * m4/javacomp.m4: Likewise.
48298         * m4/javaexec.m4: Likewise.
48299         * m4/jm-winsz1.m4: Likewise.
48300         * m4/jm-winsz2.m4: Likewise.
48301         * m4/lchown.m4: Likewise.
48302         * m4/lcmessage.m4: Likewise.
48303         * m4/ldexpl.m4: Likewise.
48304         * m4/lib-ld.m4: Likewise.
48305         * m4/lib-link.m4: Likewise.
48306         * m4/libsigsegv.m4: Likewise.
48307         * m4/link-follow.m4: Likewise.
48308         * m4/localcharset.m4: Likewise.
48309         * m4/locale-fr.m4: Likewise.
48310         * m4/locale-ja.m4: Likewise.
48311         * m4/locale-tr.m4: Likewise.
48312         * m4/locale-zh.m4: Likewise.
48313         * m4/lock.m4: Likewise.
48314         * m4/longlong.m4: Likewise.
48315         * m4/ls-mntd-fs.m4: Likewise.
48316         * m4/lstat.m4: Likewise.
48317         * m4/malloc.m4: Likewise.
48318         * m4/mathl.m4: Likewise.
48319         * m4/mbrtowc.m4: Likewise.
48320         * m4/mbstate_t.m4: Likewise.
48321         * m4/mbswidth.m4: Likewise.
48322         * m4/memchr.m4: Likewise.
48323         * m4/memcmp.m4: Likewise.
48324         * m4/memcpy.m4: Likewise.
48325         * m4/memmem.m4: Likewise.
48326         * m4/memmove.m4: Likewise.
48327         * m4/mempcpy.m4: Likewise.
48328         * m4/memrchr.m4: Likewise.
48329         * m4/memset.m4: Likewise.
48330         * m4/minmax.m4: Likewise.
48331         * m4/mkdir-slash.m4: Likewise.
48332         * m4/mkdtemp.m4: Likewise.
48333         * m4/mktime.m4: Likewise.
48334         * m4/mmap-anon.m4: Likewise.
48335         * m4/mountlist.m4: Likewise.
48336         * m4/nanosleep.m4: Likewise.
48337         * m4/nls.m4: Likewise.
48338         * m4/nocrash.m4: Likewise.
48339         * m4/open.m4: Likewise.
48340         * m4/openat.m4: Likewise.
48341         * m4/openmp.m4: Likewise.
48342         * m4/pathmax.m4: Likewise.
48343         * m4/perl.m4: Likewise.
48344         * m4/physmem.m4: Likewise.
48345         * m4/pipe.m4: Likewise.
48346         * m4/po.m4: Likewise.
48347         * m4/poll.m4: Likewise.
48348         * m4/posixtm.m4: Likewise.
48349         * m4/posixver.m4: Likewise.
48350         * m4/printf-frexp.m4: Likewise.
48351         * m4/printf-frexpl.m4: Likewise.
48352         * m4/printf-posix.m4: Likewise.
48353         * m4/printf-posix-rpl.m4: Likewise.
48354         * m4/printf.m4: Likewise.
48355         * m4/progtest.m4: Likewise.
48356         * m4/putenv.m4: Likewise.
48357         * m4/readline.m4: Likewise.
48358         * m4/readlink.m4: Likewise.
48359         * m4/readutmp.m4: Likewise.
48360         * m4/realloc.m4: Likewise.
48361         * m4/regex.m4: Likewise.
48362         * m4/relocatable.m4: Likewise.
48363         * m4/relocatable-lib.m4: Likewise.
48364         * m4/rename-dest-slash.m4: Likewise.
48365         * m4/rename.m4: Likewise.
48366         * m4/rmdir-errno.m4: Likewise.
48367         * m4/rmdir.m4: Likewise.
48368         * m4/roundf.m4: Likewise.
48369         * m4/roundl.m4: Likewise.
48370         * m4/rpmatch.m4: Likewise.
48371         * m4/save-cwd.m4: Likewise.
48372         * m4/selinux-selinux-h.m4: Likewise.
48373         * m4/setenv.m4: Likewise.
48374         * m4/settime.m4: Likewise.
48375         * m4/sig2str.m4: Likewise.
48376         * m4/sig_atomic_t.m4: Likewise.
48377         * m4/signalblocking.m4: Likewise.
48378         * m4/signbit.m4: Likewise.
48379         * m4/sigpipe.m4: Likewise.
48380         * m4/sockets.m4: Likewise.
48381         * m4/sockpfaf.m4: Likewise.
48382         * m4/st_dm_mode.m4: Likewise.
48383         * m4/stat-time.m4: Likewise.
48384         * m4/stdbool.m4: Likewise.
48385         * m4/stdint.m4: Likewise.
48386         * m4/stdint_h.m4: Likewise.
48387         * m4/stpcpy.m4: Likewise.
48388         * m4/stpncpy.m4: Likewise.
48389         * m4/strcase.m4: Likewise.
48390         * m4/strchrnul.m4: Likewise.
48391         * m4/strcspn.m4: Likewise.
48392         * m4/strdup.m4: Likewise.
48393         * m4/strftime.m4: Likewise.
48394         * m4/strndup.m4: Likewise.
48395         * m4/strnlen.m4: Likewise.
48396         * m4/strpbrk.m4: Likewise.
48397         * m4/strptime.m4: Likewise.
48398         * m4/strsep.m4: Likewise.
48399         * m4/strtod.m4: Likewise.
48400         * m4/strtoimax.m4: Likewise.
48401         * m4/strtok_r.m4: Likewise.
48402         * m4/strtol.m4: Likewise.
48403         * m4/strtoll.m4: Likewise.
48404         * m4/strtoul.m4: Likewise.
48405         * m4/strtoull.m4: Likewise.
48406         * m4/strtoumax.m4: Likewise.
48407         * m4/strverscmp.m4: Likewise.
48408         * m4/threadlib.m4: Likewise.
48409         * m4/timegm.m4: Likewise.
48410         * m4/tm_gmtoff.m4: Likewise.
48411         * m4/tmpdir.m4: Likewise.
48412         * m4/tmpfile.m4: Likewise.
48413         * m4/tzset.m4: Likewise.
48414         * m4/uintmax_t.m4: Likewise.
48415         * m4/unlinkdir.m4: Likewise.
48416         * m4/unlocked-io.m4: Likewise.
48417         * m4/uptime.m4: Likewise.
48418         * m4/userspec.m4: Likewise.
48419         * m4/utimbuf.m4: Likewise.
48420         * m4/utime.m4: Likewise.
48421         * m4/utimes-null.m4: Likewise.
48422         * m4/utimes.m4: Likewise.
48423         * m4/vararrays.m4: Likewise.
48424         * m4/vasnprintf.m4: Likewise.
48425         * m4/vfprintf-posix.m4: Likewise.
48426         * m4/vprintf-posix.m4: Likewise.
48427         * m4/wait-process.m4: Likewise.
48428         * m4/wchar_t.m4: Likewise.
48429         * m4/wint_t.m4: Likewise.
48430         * m4/write-any-file.m4: Likewise.
48431         * m4/yield.m4: Likewise.
48432
48433 2009-01-13  Bruno Haible  <bruno@clisp.org>
48434
48435         Avoid test-copy-file.sh failures when ACL support insufficient.
48436         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
48437         TESTS_ENVIRONMENT.
48438         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
48439         Reported by Jim Meyering.
48440
48441 2009-01-13  Bruno Haible  <bruno@clisp.org>
48442
48443         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
48444         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
48445         * modules/unistdio/u8-printf-parse (Files): Likewise.
48446         * modules/unistdio/u32-printf-parse (Files): Likewise.
48447         * modules/unistdio/ulc-printf-parse (Files): Likewise.
48448
48449 2009-01-13  Simon Josefsson  <simon@josefsson.org>
48450
48451         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
48452         and m4/inttypes_h.m4 too.
48453
48454 2009-01-12  Eric Blake  <ebb9@byu.net>
48455
48456         tests: IRIX 6.2 cc can't compile -0.0 into .data
48457         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
48458         rather than at compile-time.
48459         * tests/test-floorl.c (minus_zero): Likewise.
48460         * tests/test-frexpl.c (minus_zero): Likewise.
48461         * tests/test-isnan.c (minus_zerol): Likewise.
48462         * tests/test-isnanl.h (minus_zero): Likewise.
48463         * tests/test-ldexpl.c (minus_zero): Likewise.
48464         * tests/test-roundl.c (minus_zero): Likewise.
48465         * tests/test-signbit.c (minus_zerol): Likewise.
48466         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48467         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48468         * tests/test-truncl.c (minus_zero): Likewise.
48469         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48470         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48471         Reported by Tom G. Christensen and Nelson H. F. Beebe.
48472
48473 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48474
48475         regex: fix glibc bug 9697
48476         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
48477         handling.
48478
48479 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48480
48481         regex: fix glibc bug 697
48482         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
48483         being NULL also if there are no backreferences.
48484
48485 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48486
48487         regex: merge glibc changes
48488         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
48489         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
48490         re_string_skip_chars, re_string_reconstruct): Likewise.
48491         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
48492
48493 2009-01-07  Jim Meyering  <meyering@redhat.com>
48494
48495         poll: filter through cppi
48496         * lib/poll.c: Indent cpp directives to reflect nesting.
48497
48498 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
48499
48500         poll: don't return uninitialized
48501         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
48502
48503 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
48504
48505         avoid compile failure on AIX 6.1
48506         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
48507         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
48508
48509 2009-01-04  Jim Meyering  <meyering@redhat.com>
48510
48511         remove duplicate inclusion of <stdio.h>
48512         * tests/test-fprintf-posix.c: Likewise.
48513         * tests/test-printf-posix.c: Likewise.
48514         * tests/test-snprintf-posix.c: Likewise.
48515         * tests/test-sprintf-posix.c: Likewise.
48516         * tests/test-vasprintf-posix.c: Likewise.
48517         * tests/test-vfprintf-posix.c: Likewise.
48518         * tests/test-vprintf-posix.c: Likewise.
48519         * tests/test-vsnprintf-posix.c: Likewise.
48520         * tests/test-vsprintf-posix.c: Likewise.
48521
48522 2009-01-03  Jim Meyering  <meyering@redhat.com>
48523
48524         gnulib-tool: fix sed-based filtering
48525         * gnulib-tool (func_filter_filelist): Remove extra backslash
48526         in sed_fff_filter definition.
48527
48528 2009-01-02  Jim Meyering  <meyering@redhat.com>
48529
48530         strftime: avoid compilation failure on Solaris 2.6
48531         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
48532         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
48533         Don't #define mbrlen or mbsinit, since now they're guaranteed to
48534         be available.  Reported by Tom G. Christensen.  Details in
48535         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
48536
48537 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48538             Bruno Haible  <bruno@clisp.org>
48539
48540         Speed up gnulib-tool by doing more string processing through shell
48541         built-ins.
48542         * gnulib-tool (fast_func_append): New variable.
48543         (func_remove_prefix, func_remove_suffix): New functions.
48544         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
48545         (func_filter_filelist): New function.
48546         (func_get_dependencies): Use func_remove_suffix instead of sed.
48547         (func_get_automake_snippet): Use func_filter_filelist instead of a
48548         subshell and sed invocation.
48549
48550 2009-01-01  Bruno Haible  <bruno@clisp.org>
48551
48552         Fix a security bug.
48553         * gnulib-tool (func_import, import, update): Don't allow the characters
48554         '"', '$', '`', '\' in macro arguments that become part of commands that
48555         are evaluated.
48556
48557 2009-01-01  Bruno Haible  <bruno@clisp.org>
48558
48559         * gnulib-tool (func_reset_sigpipe): Add more comments.
48560
48561 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48562
48563         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
48564         func_emit_tests_Makefile_am, func_import): Abort loops early if we
48565         already know the answer.
48566
48567 2009-01-01  Jim Meyering  <meyering@redhat.com>
48568
48569         * lib/version-etc.c (version_etc_va): Update copyright year.
48570
48571 2008-12-30  Bruno Haible  <bruno@clisp.org>
48572
48573         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
48574         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
48575         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
48576
48577 2008-12-29  Eric Blake  <ebb9@byu.net>
48578
48579         multiarch: avoid autoconf AC_REQUIRE bug
48580         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
48581         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
48582         2.63 and older.
48583         Reported by Bruno Haible, and analyzed in
48584         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
48585
48586 2008-12-29  Bruno Haible  <bruno@clisp.org>
48587
48588         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
48589         files in subdirectories correctly.
48590         Reported by Ralf Wildenhues.
48591
48592 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48593
48594         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
48595         rather than 'join FILE -', for Solaris join.
48596
48597 2008-12-29  Bruno Haible  <bruno@clisp.org>
48598
48599         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
48600         quoting.
48601         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
48602         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
48603         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
48604         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
48605         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
48606         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
48607         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
48608         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
48609         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
48610         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
48611         * m4/nls.m4 (AM_NLS): Likewise.
48612         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
48613         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
48614         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
48615         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
48616         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
48617         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48618         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
48619         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
48620         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
48621         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
48622         * m4/xsize.m4 (gl_XSIZE): Likewise.
48623         Suggested by Jim Meyering.
48624
48625 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48626
48627         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
48628         * lib/parse-duration.c: use a switch instead of cascading if's.
48629
48630 2008-12-29  Eric Blake  <ebb9@byu.net>
48631
48632         wchar.h: supply WEOF on Irix 5.3
48633         * lib/wchar.in.h (wint_t): Also supply WEOF.
48634         * lib/wctype.in.h (wint_t): Likewise.
48635         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
48636         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
48637         Reported by Tom G. Christensen.
48638
48639 2008-12-26  Bruno Haible  <bruno@clisp.org>
48640
48641         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
48642         i486, i586, i686.
48643
48644 2008-12-26  Bruno Haible  <bruno@clisp.org>
48645
48646         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
48647
48648 2008-12-26  Bruno Haible  <bruno@clisp.org>
48649
48650         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
48651         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
48652         not __STDC_CONSTANT_MACROS.
48653         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48654
48655 2008-12-25  Bruno Haible  <bruno@clisp.org>
48656
48657         Add support for universal builds to vasnprintf.
48658         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
48659         universal builds, guess no.
48660         * modules/vasnprintf-posix (Depends-on): Add multiarch.
48661         * modules/vasprintf-posix (Depends-on): Likewise.
48662         * modules/fprintf-posix (Depends-on): Likewise.
48663         * modules/vfprintf-posix (Depends-on): Likewise.
48664         * modules/snprintf-posix (Depends-on): Likewise.
48665         * modules/vsnprintf-posix (Depends-on): Likewise.
48666         * modules/sprintf-posix (Depends-on): Likewise.
48667         * modules/vsprintf-posix (Depends-on): Likewise.
48668         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48669         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48670         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48671         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48672         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48673         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48674         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48675
48676         Add support for universal builds to <inttypes.h>.
48677         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
48678         _SCNu64_PREFIX): In Apple
48679         universal builds, define directly, using _LP64.
48680         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
48681         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
48682         * modules/inttypes (Depends-on): Add multiarch.
48683         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48684
48685         Add support for universal builds to <stdint.h>.
48686         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
48687         universal builds, define directly, using _LP64.
48688         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
48689         Apple universal builds, don't test for the size and suffix of ptrdiff_t
48690         and size_t.
48691         * modules/stdint (Depends-on): Add multiarch.
48692         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48693
48694         New module 'multiarch'.
48695         * modules/multiarch: New file.
48696         * m4/multiarch.m4: New file.
48697
48698 2008-12-25  Bruno Haible  <bruno@clisp.org>
48699
48700         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
48701
48702 2008-12-25  Bruno Haible  <bruno@clisp.org>
48703
48704         * modules/btowc (License): Relicense under LGPLv2+.
48705         * modules/mbsinit (License): Likewise.
48706         * modules/mbrtowc (License): Likewise.
48707         * modules/wcrtomb (License): Likewise.
48708         * modules/streq (License): Likewise.
48709         Reported by David Lutterkort <lutter@redhat.com>.
48710
48711 2008-12-23  Bruno Haible  <bruno@clisp.org>
48712
48713         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
48714
48715 2008-12-23  Bruno Haible  <bruno@clisp.org>
48716
48717         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
48718         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
48719         GETADDRINFO_LIB, not in LIBS.
48720         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
48721         * modules/canon-host (Link): Likewise.
48722         * NEWS: Mention the change.
48723         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
48724         GETADDRINFO_LIB.
48725
48726 2008-12-22  Bruno Haible  <bruno@clisp.org>
48727
48728         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
48729         * doc/posix-functions/iswalpha_l.texi: Likewise.
48730         * doc/posix-functions/iswblank_l.texi: Likewise.
48731         * doc/posix-functions/iswcntrl_l.texi: Likewise.
48732         * doc/posix-functions/iswctype_l.texi: Likewise.
48733         * doc/posix-functions/iswdigit_l.texi: Likewise.
48734         * doc/posix-functions/iswgraph_l.texi: Likewise.
48735         * doc/posix-functions/iswlower_l.texi: Likewise.
48736         * doc/posix-functions/iswprint_l.texi: Likewise.
48737         * doc/posix-functions/iswpunct_l.texi: Likewise.
48738         * doc/posix-functions/iswspace_l.texi: Likewise.
48739         * doc/posix-functions/iswupper_l.texi: Likewise.
48740         * doc/posix-functions/iswxdigit_l.texi: Likewise.
48741         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
48742         * doc/posix-functions/open_wmemstream.texi: Likewise.
48743         * doc/posix-functions/swscanf.texi: Likewise.
48744         * doc/posix-functions/towctrans_l.texi: Likewise.
48745         * doc/posix-functions/towlower.texi: Likewise.
48746         * doc/posix-functions/towlower_l.texi: Likewise.
48747         * doc/posix-functions/towupper.texi: Likewise.
48748         * doc/posix-functions/towupper_l.texi: Likewise.
48749         * doc/posix-functions/vfwprintf.texi: Likewise.
48750         * doc/posix-functions/vfwscanf.texi: Likewise.
48751         * doc/posix-functions/vswscanf.texi: Likewise.
48752         * doc/posix-functions/vwprintf.texi: Likewise.
48753         * doc/posix-functions/vwscanf.texi: Likewise.
48754         * doc/posix-functions/wcpcpy.texi: Likewise.
48755         * doc/posix-functions/wcpncpy.texi: Likewise.
48756         * doc/posix-functions/wcscasecmp.texi: Likewise.
48757         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
48758         * doc/posix-functions/wcscoll_l.texi: Likewise.
48759         * doc/posix-functions/wcsdup.texi: Likewise.
48760         * doc/posix-functions/wcsncasecmp.texi: Likewise.
48761         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
48762         * doc/posix-functions/wcsnlen.texi: Likewise.
48763         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48764         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
48765         * doc/posix-functions/wctrans_l.texi: Likewise.
48766         * doc/posix-functions/wctype_l.texi: Likewise.
48767         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
48768         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
48769         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
48770         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
48771         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
48772         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
48773         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
48774         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
48775         * doc/glibc-functions/wcschrnul.texi: Likewise.
48776         * doc/glibc-functions/wcsftime_l.texi: Likewise.
48777         * doc/glibc-functions/wcstod_l.texi: Likewise.
48778         * doc/glibc-functions/wcstof_l.texi: Likewise.
48779         * doc/glibc-functions/wcstol_l.texi: Likewise.
48780         * doc/glibc-functions/wcstold_l.texi: Likewise.
48781         * doc/glibc-functions/wcstoll_l.texi: Likewise.
48782         * doc/glibc-functions/wcstoq.texi: Likewise.
48783         * doc/glibc-functions/wcstoul_l.texi: Likewise.
48784         * doc/glibc-functions/wcstoull_l.texi: Likewise.
48785         * doc/glibc-functions/wcstouq.texi: Likewise.
48786         * doc/glibc-functions/wmempcpy.texi: Likewise.
48787
48788 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
48789             Eric Blake  <ebb9@byu.net>
48790             Paolo Bonzini  <bonzini@gnu.org>
48791             Bruno Haible  <bruno@clisp.org>
48792
48793         Make c-stack work on Haiku.
48794         * lib/c-stack.c (SA_ONSTACK): Define fallback.
48795         (c_stack_action): Use SA_ONSTACK flag.
48796
48797 2008-12-22  Bruno Haible  <bruno@clisp.org>
48798
48799         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
48800
48801 2008-12-22  Bruno Haible  <bruno@clisp.org>
48802
48803         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
48804         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
48805         being overridden.
48806         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
48807         New macros.
48808         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
48809         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
48810         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
48811         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
48812
48813 2008-12-22  Bruno Haible  <bruno@clisp.org>
48814
48815         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
48816         from test code.
48817
48818 2008-12-22  Eric Blake  <ebb9@byu.net>
48819
48820         Avoid gcc warnings on cygwin.
48821         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
48822         Avoid unused variable.
48823         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
48824         Likewise.
48825
48826 2008-12-22  Bruno Haible  <bruno@clisp.org>
48827
48828         Remove HAVE_MBRTOWC conditionals.
48829         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
48830         (mbscasecmp): Assume mbrtowc function.
48831         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
48832         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
48833         * lib/mbschr.c: Include mbuiter.h unconditionally.
48834         (mbschr): Assume mbrtowc function.
48835         * lib/mbscspn.c: Include mbuiter.h unconditionally.
48836         (mbscspn): Assume mbrtowc function.
48837         * lib/mbslen.c: Include mbuiter.h unconditionally.
48838         (mbslen): Assume mbrtowc function.
48839         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
48840         (mbsncasecmp): Assume mbrtowc function.
48841         * lib/mbsnlen.c: Include mbiter.h unconditionally.
48842         (mbsnlen): Assume mbrtowc function.
48843         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
48844         (mbspbrk): Assume mbrtowc function.
48845         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
48846         (mbspcasecmp): Assume mbrtowc function.
48847         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
48848         (mbsrchr): Assume mbrtowc function.
48849         * lib/mbssep.c: Include mbuiter.h unconditionally.
48850         (mbssep): Assume mbrtowc function.
48851         * lib/mbsspn.c: Include mbuiter.h unconditionally.
48852         (mbsspn): Assume mbrtowc function.
48853         * lib/mbsstr.c: Include mbuiter.h unconditionally.
48854         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
48855         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
48856         (mbstok_r): Assume mbrtowc function.
48857         * lib/propername.c: Include mbuiter.h unconditionally.
48858         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
48859         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
48860         (trim2): Assume mbrtowc function.
48861         * lib/mbswidth.c (mbsinit): Remove fallback definition.
48862         (mbsnwidth): Assume mbrtowc function.
48863         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
48864         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
48865         fallback definitions.
48866         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
48867
48868 2008-12-22  Bruno Haible  <bruno@clisp.org>
48869
48870         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
48871
48872 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
48873
48874         * modules/regex: Request emulations for the mb*/wc* functions we need.
48875         * m4/regex.m4: Don't look for those functions here.
48876         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
48877
48878 2008-12-22  Bruno Haible  <bruno@clisp.org>
48879
48880         * modules/fnmatch (Depends-on): Remove duplicated dependency.
48881
48882 2008-12-21  Bruno Haible  <bruno@clisp.org>
48883
48884         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
48885         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
48886         (Include): Remove conditionalization.
48887         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
48888         (Include): Remove conditionalization.
48889         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
48890         (Include): Remove conditionalization.
48891         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
48892         * m4/mbfile.m4 (gl_MBFILE): Likewise.
48893         * NEWS: Mention the change.
48894         Reported by Alan Hourihane <alanh@fairlite.co.uk>
48895         via Sergey Poznyakoff <gray@gnu.org.ua>.
48896
48897 2008-12-21  Bruno Haible  <bruno@clisp.org>
48898
48899         * MODULES.html.sh (Extended multibyte and wide character utilities
48900         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
48901         wcrtomb, wcsrtombs.
48902         (Support for systems lacking POSIX:2008): Add accept, bind, close,
48903         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
48904         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
48905         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
48906
48907 2008-12-21  Bruno Haible  <bruno@clisp.org>
48908
48909         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
48910
48911 2008-12-21  Bruno Haible  <bruno@clisp.org>
48912
48913         * modules/wcsnrtombs-tests: New file.
48914         * tests/test-wcsnrtombs1.sh: New file.
48915         * tests/test-wcsnrtombs2.sh: New file.
48916         * tests/test-wcsnrtombs3.sh: New file.
48917         * tests/test-wcsnrtombs4.sh: New file.
48918         * tests/test-wcsnrtombs.c: New file.
48919
48920         New module 'wcsnrtombs'.
48921         * lib/wchar.in.h (wcsnrtombs): New declaration.
48922         * lib/wcsnrtombs.c: New file.
48923         * lib/wcsrtombs-state.c: New file.
48924         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
48925         (internal_state): Remove variable.
48926         * m4/wcsnrtombs.m4: New file.
48927         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
48928         compilation units.
48929         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
48930         HAVE_WCSNRTOMBS.
48931         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
48932         HAVE_WCSNRTOMBS.
48933         * modules/wcsnrtombs: New file.
48934         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
48935         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
48936
48937 2008-12-21  Bruno Haible  <bruno@clisp.org>
48938
48939         * modules/wcsrtombs-tests: New file.
48940         * tests/test-wcsrtombs1.sh: New file.
48941         * tests/test-wcsrtombs2.sh: New file.
48942         * tests/test-wcsrtombs3.sh: New file.
48943         * tests/test-wcsrtombs4.sh: New file.
48944         * tests/test-wcsrtombs.c: New file.
48945
48946         New module 'wcsrtombs'.
48947         * lib/wchar.in.h (wcsrtombs): New declaration.
48948         * lib/wcsrtombs.c: New file.
48949         * m4/wcsrtombs.m4: New file.
48950         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
48951         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48952         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
48953         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48954         * modules/wcsrtombs: New file.
48955         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
48956         bugs.
48957
48958 2008-12-21  Bruno Haible  <bruno@clisp.org>
48959
48960         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
48961         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
48962         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
48963         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
48964         if not correct.
48965         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
48966         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
48967         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48968         m4/locale-zh.m4, m4/codeset.m4.
48969         * doc/posix-functions/wcrtomb.texi: Document the bug.
48970
48971 2008-12-21  Bruno Haible  <bruno@clisp.org>
48972
48973         Work around a btowc() bug on IRIX 6.5.
48974         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
48975         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
48976         REPLACE_WTOBC if not.
48977         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
48978         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
48979         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
48980
48981 2008-12-21  Bruno Haible  <bruno@clisp.org>
48982
48983         * modules/wcrtomb-tests: New file.
48984         * tests/test-wcrtomb.sh: New file.
48985         * tests/test-wcrtomb.c: New file.
48986
48987         New module 'wcrtomb'.
48988         * lib/wchar.in.h (wcrtomb): New declaration.
48989         * lib/wcrtomb.c: New file.
48990         * m4/wcrtomb.m4: New file.
48991         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
48992         HAVE_WCRTOMB.
48993         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
48994         HAVE_WCRTOMB.
48995         * modules/wcrtomb: New file.
48996         * doc/posix-functions/wcrtomb.texi: Mention the new module.
48997
48998 2008-12-21  Bruno Haible  <bruno@clisp.org>
48999
49000         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
49001         * modules/mbsrtowcs (Files): Likewise.
49002         * modules/wctob (Files): Likewise.
49003         * modules/c-strcase-tests (Files): Likewise.
49004         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
49005         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
49006         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
49007         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
49008         * modules/vasnprintf-posix-tests (Files): Likewise.
49009
49010 2008-12-21  William Pursell  <bill.pursell@gmail.com>
49011
49012         gitlog-to-changelog: pass all command-line arguments to git-log
49013         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
49014         it is sometimes convenient to filter the commits in various ways.
49015         gitlog-to-changelog only allows --since to specify a start date,
49016         but git-log itself supports many other filtering mechanisms.
49017         At the moment, I want to filter by branch name.  Rather than
49018         adding a --branch option to gitlog-to-changelog, it seems more
49019         flexible to simply pass all options directly to git-log and let
49020         git do the work.  Notice that this effectively makes --since a
49021         redundant option for gitlog-to-changelog, but removing it would
49022         require current usage to change since calls would then require
49023         an additional '--'.
49024
49025 2008-12-21  Bruno Haible  <bruno@clisp.org>
49026
49027         * modules/mbsnrtowcs-tests: New file.
49028         * tests/test-mbsnrtowcs1.sh: New file.
49029         * tests/test-mbsnrtowcs2.sh: New file.
49030         * tests/test-mbsnrtowcs3.sh: New file.
49031         * tests/test-mbsnrtowcs4.sh: New file.
49032         * tests/test-mbsnrtowcs.c: New file.
49033
49034         New module 'mbsnrtowcs'.
49035         * lib/wchar.in.h (mbsnrtowcs): New declaration.
49036         * lib/mbsnrtowcs.c: New file.
49037         * lib/mbsrtowcs-state.c: New file.
49038         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
49039         (internal_state): Remove variable.
49040         * m4/mbsnrtowcs.m4: New file.
49041         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
49042         compilation units.
49043         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
49044         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49045         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
49046         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49047         * modules/mbsnrtowcs: New file.
49048         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
49049         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
49050         portability problem.
49051
49052 2008-12-21  Bruno Haible  <bruno@clisp.org>
49053
49054         Work around mbsrtowcs bug.
49055         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
49056         (gl_FUNC_MBSRTOWCS): Invoke it.
49057         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49058         m4/locale-zh.m4.
49059         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
49060
49061 2008-12-21  Bruno Haible  <bruno@clisp.org>
49062
49063         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
49064
49065 2008-12-21  Bruno Haible  <bruno@clisp.org>
49066
49067         Update doc for AIX.
49068         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
49069         16-bit wchar_t type.
49070         * doc/posix-functions/btowc.texi: Likewise.
49071         * doc/posix-functions/fgetwc.texi: Likewise.
49072         * doc/posix-functions/fgetws.texi: Likewise.
49073         * doc/posix-functions/fputwc.texi: Likewise.
49074         * doc/posix-functions/fputws.texi: Likewise.
49075         * doc/posix-functions/fwide.texi: Likewise.
49076         * doc/posix-functions/fwprintf.texi: Likewise.
49077         * doc/posix-functions/fwscanf.texi: Likewise.
49078         * doc/posix-functions/getwchar.texi: Likewise.
49079         * doc/posix-functions/getwc.texi: Likewise.
49080         * doc/posix-functions/iswalnum.texi: Likewise.
49081         * doc/posix-functions/iswalpha.texi: Likewise.
49082         * doc/posix-functions/iswblank.texi: Likewise.
49083         * doc/posix-functions/iswcntrl.texi: Likewise.
49084         * doc/posix-functions/iswctype.texi: Likewise.
49085         * doc/posix-functions/iswdigit.texi: Likewise.
49086         * doc/posix-functions/iswgraph.texi: Likewise.
49087         * doc/posix-functions/iswlower.texi: Likewise.
49088         * doc/posix-functions/iswprint.texi: Likewise.
49089         * doc/posix-functions/iswpunct.texi: Likewise.
49090         * doc/posix-functions/iswspace.texi: Likewise.
49091         * doc/posix-functions/iswupper.texi: Likewise.
49092         * doc/posix-functions/iswxdigit.texi: Likewise.
49093         * doc/posix-functions/mbrtowc.texi: Likewise.
49094         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49095         * doc/posix-functions/mbstowcs.texi: Likewise.
49096         * doc/posix-functions/mbtowc.texi: Likewise.
49097         * doc/posix-functions/putwchar.texi: Likewise.
49098         * doc/posix-functions/putwc.texi: Likewise.
49099         * doc/posix-functions/swprintf.texi: Likewise.
49100         * doc/posix-functions/tolower.texi: Likewise.
49101         * doc/posix-functions/toupper.texi: Likewise.
49102         * doc/posix-functions/towctrans.texi: Likewise.
49103         * doc/posix-functions/ungetwc.texi: Likewise.
49104         * doc/posix-functions/vswprintf.texi: Likewise.
49105         * doc/posix-functions/wcrtomb.texi: Likewise.
49106         * doc/posix-functions/wcscat.texi: Likewise.
49107         * doc/posix-functions/wcschr.texi: Likewise.
49108         * doc/posix-functions/wcscmp.texi: Likewise.
49109         * doc/posix-functions/wcscoll.texi: Likewise.
49110         * doc/posix-functions/wcscpy.texi: Likewise.
49111         * doc/posix-functions/wcscspn.texi: Likewise.
49112         * doc/posix-functions/wcsftime.texi: Likewise.
49113         * doc/posix-functions/wcslen.texi: Likewise.
49114         * doc/posix-functions/wcsncat.texi: Likewise.
49115         * doc/posix-functions/wcsncmp.texi: Likewise.
49116         * doc/posix-functions/wcsncpy.texi: Likewise.
49117         * doc/posix-functions/wcspbrk.texi: Likewise.
49118         * doc/posix-functions/wcsrchr.texi: Likewise.
49119         * doc/posix-functions/wcsrtombs.texi: Likewise.
49120         * doc/posix-functions/wcsspn.texi: Likewise.
49121         * doc/posix-functions/wcsstr.texi: Likewise.
49122         * doc/posix-functions/wcstod.texi: Likewise.
49123         * doc/posix-functions/wcstof.texi: Likewise.
49124         * doc/posix-functions/wcstoimax.texi: Likewise.
49125         * doc/posix-functions/wcstok.texi: Likewise.
49126         * doc/posix-functions/wcstold.texi: Likewise.
49127         * doc/posix-functions/wcstoll.texi: Likewise.
49128         * doc/posix-functions/wcstol.texi: Likewise.
49129         * doc/posix-functions/wcstombs.texi: Likewise.
49130         * doc/posix-functions/wcstoull.texi: Likewise.
49131         * doc/posix-functions/wcstoul.texi: Likewise.
49132         * doc/posix-functions/wcstoumax.texi: Likewise.
49133         * doc/posix-functions/wcswidth.texi: Likewise.
49134         * doc/posix-functions/wcsxfrm.texi: Likewise.
49135         * doc/posix-functions/wctob.texi: Likewise.
49136         * doc/posix-functions/wctomb.texi: Likewise.
49137         * doc/posix-functions/wctrans.texi: Likewise.
49138         * doc/posix-functions/wctype.texi: Likewise.
49139         * doc/posix-functions/wcwidth.texi: Likewise.
49140         * doc/posix-functions/wmemchr.texi: Likewise.
49141         * doc/posix-functions/wmemcmp.texi: Likewise.
49142         * doc/posix-functions/wmemcpy.texi: Likewise.
49143         * doc/posix-functions/wmemmove.texi: Likewise.
49144         * doc/posix-functions/wmemset.texi: Likewise.
49145         * doc/posix-functions/wprintf.texi: Likewise.
49146         * doc/posix-functions/wscanf.texi: Likewise.
49147
49148 2008-12-21  Bruno Haible  <bruno@clisp.org>
49149
49150         Update doc for HP-UX 11.11.
49151         * doc/posix-functions/btowc.texi: Clarify that the function is missing
49152         in HP-UX version 11.00, not in all versions of HP-UX 11.
49153         * doc/posix-functions/fwide.texi: Likewise.
49154         * doc/posix-functions/fwprintf.texi: Likewise.
49155         * doc/posix-functions/fwscanf.texi: Likewise.
49156         * doc/posix-functions/inet_ntop.texi: Likewise.
49157         * doc/posix-functions/inet_pton.texi: Likewise.
49158         * doc/posix-functions/mbrlen.texi: Likewise.
49159         * doc/posix-functions/mbrtowc.texi: Likewise.
49160         * doc/posix-functions/mbsinit.texi: Likewise.
49161         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49162         * doc/posix-functions/swprintf.texi: Likewise.
49163         * doc/posix-functions/swscanf.texi: Likewise.
49164         * doc/posix-functions/towctrans.texi: Likewise.
49165         * doc/posix-functions/vfwprintf.texi: Likewise.
49166         * doc/posix-functions/vswprintf.texi: Likewise.
49167         * doc/posix-functions/vwprintf.texi: Likewise.
49168         * doc/posix-functions/wcrtomb.texi: Likewise.
49169         * doc/posix-functions/wcsrtombs.texi: Likewise.
49170         * doc/posix-functions/wcsstr.texi: Likewise.
49171         * doc/posix-functions/wctob.texi: Likewise.
49172         * doc/posix-functions/wctrans.texi: Likewise.
49173         * doc/posix-functions/wmemchr.texi: Likewise.
49174         * doc/posix-functions/wmemcmp.texi: Likewise.
49175         * doc/posix-functions/wmemcpy.texi: Likewise.
49176         * doc/posix-functions/wmemmove.texi: Likewise.
49177         * doc/posix-functions/wmemset.texi: Likewise.
49178         * doc/posix-functions/wprintf.texi: Likewise.
49179         * doc/posix-functions/wscanf.texi: Likewise.
49180
49181 2008-12-21  Bruno Haible  <bruno@clisp.org>
49182
49183         Work around a portability problem.
49184         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
49185         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
49186
49187 2008-12-20  Bruno Haible  <bruno@clisp.org>
49188
49189         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
49190         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
49191         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
49192         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
49193         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
49194
49195         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
49196         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
49197         set.
49198         (GNULIB_defined_mbstate_t): New macro.
49199         (mbsinit): Redefine if REPLACE_MBSINIT is set.
49200         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
49201         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
49202         reuses the system's mbrtowc function but works around the bugs.
49203         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
49204         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
49205         macros.
49206         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
49207         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
49208         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
49209         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
49210         REPLACE_MBSINIT if mbsinit needs to be overridden.
49211         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
49212         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49213         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
49214         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49215         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49216         m4/locale-zh.m4.
49217         (Depends): Add mbsinit.
49218         * modules/mbsinit (Depends): Add mbrtowc.
49219         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
49220
49221 2008-12-20  Bruno Haible  <bruno@clisp.org>
49222
49223         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
49224         so that there are no conversion errors on AIX.
49225         * tests/test-mbsrtowcs.c (main): LIkewise.
49226
49227 2008-12-20  Bruno Haible  <bruno@clisp.org>
49228
49229         Work around wctob bug on Solaris <= 9.
49230         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
49231         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
49232         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
49233         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
49234         * modules/wctob (Files): Add m4/locale-fr.m4.
49235         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
49236
49237 2008-12-20  Bruno Haible  <bruno@clisp.org>
49238
49239         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
49240         /dev/null.
49241         * tests/test-select-in.sh: Likewise.
49242         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49243
49244 2008-12-20  Bruno Haible  <bruno@clisp.org>
49245
49246         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
49247         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
49248         Cygwin 1.5.x.
49249
49250 2008-12-20  Bruno Haible  <bruno@clisp.org>
49251
49252         Ensure mbstate_t is defined on HP-UX 11.11.
49253         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
49254         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
49255         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
49256         AC_USE_SYSTEM_EXTENSIONS.
49257         * modules/fnmatch (Depends-on): Add extensions.
49258         * modules/mbrlen (Depends-on): Likewise.
49259         * modules/mbrtowc (Depends-on): Likewise.
49260         * modules/mbsinit (Depends-on): Likewise.
49261         * modules/mbsrtowcs (Depends-on): Likewise.
49262         * modules/mbswidth (Depends-on): Likewise.
49263         * modules/quotearg (Depends-on): Likewise.
49264         * modules/strftime (Depends-on): Likewise.
49265
49266 2008-12-20  Bruno Haible  <bruno@clisp.org>
49267
49268         Ensure wctob is declared on IRIX 6.5.
49269         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
49270         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
49271         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
49272         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
49273         of HAVE_WCTOB.
49274         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
49275         HAVE_WCTOB.
49276         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
49277
49278 2008-12-19  Bruno Haible  <bruno@clisp.org>
49279
49280         * modules/mbsrtowcs-tests: New file.
49281         * tests/test-mbsrtowcs1.sh: New file.
49282         * tests/test-mbsrtowcs2.sh: New file.
49283         * tests/test-mbsrtowcs3.sh: New file.
49284         * tests/test-mbsrtowcs4.sh: New file.
49285         * tests/test-mbsrtowcs.c: New file.
49286
49287         New module 'mbsrtowcs'.
49288         * lib/wchar.in.h (mbsrtowcs): New declaration.
49289         * lib/mbsrtowcs.c: New file.
49290         * m4/mbsrtowcs.m4: New file.
49291         * modules/mbsrtowcs: New file.
49292         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
49293         HAVE_MBSRTOWCS.
49294         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
49295         HAVE_MBSRTOWCS.
49296         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
49297
49298 2008-12-19  Bruno Haible  <bruno@clisp.org>
49299
49300         New module 'mbrlen'.
49301         * lib/wchar.in.h (mbrlen): New declaration.
49302         * lib/mbrlen.c: New file.
49303         * m4/mbrlen.m4: New file.
49304         * modules/mbrlen: New file.
49305         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
49306         HAVE_MBRLEN.
49307         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
49308         HAVE_MBRLEN.
49309         * doc/posix-functions/mbrlen.texi: Document the new module.
49310
49311 2008-12-19  Bruno Haible  <bruno@clisp.org>
49312
49313         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
49314         * modules/mbrtowc (Depends-on): Add verify.
49315         Suggested by Paul Eggert.
49316
49317 2008-12-18  Bruno Haible  <bruno@clisp.org>
49318
49319         * modules/mbsinit-tests: New file.
49320         * tests/test-mbsinit.sh: New file.
49321         * tests/test-mbsinit.c: New file.
49322
49323 2008-12-18  Bruno Haible  <bruno@clisp.org>
49324
49325         * modules/mbrtowc-tests: New file.
49326         * tests/test-mbrtowc1.sh: New file.
49327         * tests/test-mbrtowc2.sh: New file.
49328         * tests/test-mbrtowc3.sh: New file.
49329         * tests/test-mbrtowc4.sh: New file.
49330         * tests/test-mbrtowc.c: New file.
49331
49332         New module 'mbrtowc'.
49333         * lib/wchar.in.h (mbstate_t): Override when the system does not have
49334         mbsinit and mbrtowc.
49335         (mbrtowc): New declaration.
49336         * lib/mbrtowc.c: New file.
49337         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
49338         * modules/mbrtowc: New file.
49339         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
49340         HAVE_MBRTOWC.
49341         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
49342         HAVE_MBRTOWC.
49343         * doc/posix-functions/mbrtowc.texi: Document the new module.
49344
49345 2008-12-18  Bruno Haible  <bruno@clisp.org>
49346
49347         New module 'wctob'.
49348         * lib/wchar.in.h (wctob): New declaration.
49349         * lib/wctob.c: New file.
49350         * m4/wctob.m4: New file.
49351         * modules/wctob: New file.
49352         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
49353         HAVE_WCTOB.
49354         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
49355         * doc/posix-functions/wctob.texi: Document the new module.
49356
49357 2008-12-18  Bruno Haible  <bruno@clisp.org>
49358
49359         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
49360         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
49361
49362 2008-12-18  Simon Josefsson  <simon@josefsson.org>
49363
49364         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
49365         G. Christensen" <tgc@jupiterrise.com>.
49366
49367         * lib/flock.c: Need to include errno.h.  Reported by "Tom
49368         G. Christensen" <tgc@jupiterrise.com>.
49369
49370         * lib/flock.c: Need to include string.h.  Reported by "Tom
49371         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
49372         <ebb9@byu.net>.
49373
49374 2008-12-18  Bruno Haible  <bruno@clisp.org>
49375
49376         * m4/locale-ja.m4: New file, from GNU gettext.
49377
49378 2008-12-17  Bruno Haible  <bruno@clisp.org>
49379
49380         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
49381         Suggested by Eric Blake.
49382
49383 2008-12-17  Bruno Haible  <bruno@clisp.org>
49384
49385         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
49386
49387 2008-12-17  Bruno Haible  <bruno@clisp.org>
49388
49389         * lib/mbsinit.c: Include verify.h. Verify an assumption.
49390         * modules/mbsinit (Depends-on): Add verify.
49391         Suggested by Paul Eggert.
49392
49393 2008-12-17  Bruno Haible  <bruno@clisp.org>
49394
49395         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
49396         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
49397         gl_FUNC_MBRTOWC.
49398         * m4/mbiter.m4 (gl_MBITER): LIkewise.
49399         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
49400         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
49401         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
49402         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
49403         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
49404         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
49405         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
49406         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
49407         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
49408         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
49409         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
49410         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
49411         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
49412         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
49413         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49414         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
49415         * modules/trim (configure.ac): Likewise.
49416
49417 2008-12-17  Bruno Haible  <bruno@clisp.org>
49418
49419         * modules/btowc-tests: New file.
49420         * tests/test-btowc1.sh: New file.
49421         * tests/test-btowc2.sh: New file.
49422         * tests/test-btowc.c: New file.
49423
49424         New module 'btowc'.
49425         * lib/wchar.in.h (btowc): New declaration.
49426         * lib/btowc.c: New file.
49427         * m4/btowc.m4: New file.
49428         * modules/btowc: New file.
49429         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
49430         HAVE_BTOWC.
49431         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
49432         * doc/posix-functions/btowc.texi: Document the new module.
49433
49434 2008-12-17  Bruno Haible  <bruno@clisp.org>
49435
49436         New module 'mbsinit'.
49437         * lib/wchar.in.h (mbsinit): New declaration.
49438         * lib/mbsinit.c: New file.
49439         * m4/mbsinit.m4: New file.
49440         * modules/mbsinit: New file.
49441         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
49442         HAVE_MBSINIT.
49443         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
49444         HAVE_MBSINIT.
49445         * doc/posix-functions/mbsinit.texi: Document the new module.
49446
49447 2008-12-16  Bruno Haible  <bruno@clisp.org>
49448
49449         * lib/unistd.in.h: Add comment.
49450         * tests/test-environ.c: Don't include <stdlib.h>.
49451
49452 2008-12-16  Bruno Haible  <bruno@clisp.org>
49453
49454         * lib/parse-duration.h (parse_duration): Document return value
49455         convention.
49456         * lib/parse-duration.c: Include specification header first. Add
49457         comments.
49458         (_): Remove macro.
49459         (parse_year_month_day, parse_hour_minute_second): Move side effects
49460         outside of strchr call.
49461         (parse_non_iso8601): Move side effects outside of isspace call.
49462         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
49463         call.
49464
49465 2008-12-16  Bruno Haible  <bruno@clisp.org>
49466
49467         * tests/test-parse-duration.sh: Produce no output when the test
49468         succeeds.
49469
49470 2008-12-16  Bruno Haible  <bruno@clisp.org>
49471
49472         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
49473         expressions.
49474
49475 2008-12-15  Bruno Haible  <bruno@clisp.org>
49476
49477         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
49478         * doc/glibc-functions/flistxattr.texi: Likewise.
49479         * doc/glibc-functions/fopencookie.texi: Likewise.
49480         * doc/glibc-functions/fremovexattr.texi: Likewise.
49481         * doc/glibc-functions/fsetxattr.texi: Likewise.
49482         * doc/glibc-functions/getxattr.texi: Likewise.
49483         * doc/glibc-functions/lgetxattr.texi: Likewise.
49484         * doc/glibc-functions/listxattr.texi: Likewise.
49485         * doc/glibc-functions/llistxattr.texi: Likewise.
49486         * doc/glibc-functions/lremovexattr.texi: Likewise.
49487         * doc/glibc-functions/lsetxattr.texi: Likewise.
49488         * doc/glibc-functions/removexattr.texi: Likewise.
49489         * doc/glibc-functions/setxattr.texi: Likewise.
49490         * doc/posix-functions/open_memstream.texi: Likewise.
49491
49492 2008-12-15  Eric Blake  <ebb9@byu.net>
49493
49494         Update doc for cygwin 1.7.
49495         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
49496         functions.
49497         * doc/posix-functions/fchmodat.texi: Likewise.
49498         * doc/posix-functions/fchownat.texi: Likewise.
49499         * doc/posix-functions/fdopendir.texi: Likewise.
49500         * doc/posix-functions/fmemopen.texi: Likewise.
49501         * doc/posix-functions/freeaddrinfo.texi: Likewise.
49502         * doc/posix-functions/fstatat.texi: Likewise.
49503         * doc/posix-functions/futimens.texi: Likewise.
49504         * doc/posix-functions/gai_strerror.texi: Likewise.
49505         * doc/posix-functions/getaddrinfo.texi: Likewise.
49506         * doc/posix-functions/getnameinfo.texi: Likewise.
49507         * doc/posix-functions/if_freenameindex.texi: Likewise.
49508         * doc/posix-functions/if_indextoname.texi: Likewise.
49509         * doc/posix-functions/if_nameindex.texi: Likewise.
49510         * doc/posix-functions/if_nametoindex.texi: Likewise.
49511         * doc/posix-functions/insque.texi: Likewise.
49512         * doc/posix-functions/linkat.texi: Likewise.
49513         * doc/posix-functions/llrint.texi: Likewise.
49514         * doc/posix-functions/llrintf.texi: Likewise.
49515         * doc/posix-functions/llrintl.texi: Likewise.
49516         * doc/posix-functions/lockf.texi: Likewise.
49517         * doc/posix-functions/lrintl.texi: Likewise.
49518         * doc/posix-functions/mkdirat.texi: Likewise.
49519         * doc/posix-functions/mkfifoat.texi: Likewise.
49520         * doc/posix-functions/mknodat.texi: Likewise.
49521         * doc/posix-functions/mq_close.texi: Likewise.
49522         * doc/posix-functions/mq_getattr.texi: Likewise.
49523         * doc/posix-functions/mq_notify.texi: Likewise.
49524         * doc/posix-functions/mq_open.texi: Likewise.
49525         * doc/posix-functions/mq_receive.texi: Likewise.
49526         * doc/posix-functions/mq_send.texi: Likewise.
49527         * doc/posix-functions/mq_setattr.texi: Likewise.
49528         * doc/posix-functions/mq_timedreceive.texi: Likewise.
49529         * doc/posix-functions/mq_timedsend.texi: Likewise.
49530         * doc/posix-functions/mq_unlink.texi: Likewise.
49531         * doc/posix-functions/open_memstream.texi: Likewise.
49532         * doc/posix-functions/openat.texi: Likewise.
49533         * doc/posix-functions/posix_fadvise.texi: Likewise.
49534         * doc/posix-functions/posix_fallocate.texi: Likewise.
49535         * doc/posix-functions/posix_madvise.texi: Likewise.
49536         * doc/posix-functions/posix_memalign.texi: Likewise.
49537         * doc/posix-functions/posix_openpt.texi: Likewise.
49538         * doc/posix-functions/readlinkat.texi: Likewise.
49539         * doc/posix-functions/remque.texi: Likewise.
49540         * doc/posix-functions/renameat.texi: Likewise.
49541         * doc/posix-functions/rintl.texi: Likewise.
49542         * doc/posix-functions/sem_unlink.texi: Likewise.
49543         * doc/posix-functions/shm_open.texi: Likewise.
49544         * doc/posix-functions/shm_unlink.texi: Likewise.
49545         * doc/posix-functions/signgam.texi: Likewise.
49546         * doc/posix-functions/sigset.texi: Likewise.
49547         * doc/posix-functions/stpcpy.texi: Likewise.
49548         * doc/posix-functions/stpncpy.texi: Likewise.
49549         * doc/posix-functions/strerror.texi: Likewise.
49550         * doc/posix-functions/strtod.texi: Likewise.
49551         * doc/posix-functions/symlinkat.texi: Likewise.
49552         * doc/posix-functions/unlinkat.texi: Likewise.
49553         * doc/posix-functions/utimensat.texi: Likewise.
49554         * doc/glibc-functions/bindresvport.texi: Likewise.
49555         * doc/glibc-functions/dn_expand.texi: Likewise.
49556         * doc/glibc-functions/exp10.texi: Likewise.
49557         * doc/glibc-functions/exp10f.texi: Likewise.
49558         * doc/glibc-functions/fgetxattr.texi: Likewise.
49559         * doc/glibc-functions/flistxattr.texi: Likewise.
49560         * doc/glibc-functions/fopencookie.texi: Likewise.
49561         * doc/glibc-functions/freeifaddrs.texi: Likewise.
49562         * doc/glibc-functions/fremovexattr.texi: Likewise.
49563         * doc/glibc-functions/fsetxattr.texi: Likewise.
49564         * doc/glibc-functions/getifaddrs.texi: Likewise.
49565         * doc/glibc-functions/getxattr.texi: Likewise.
49566         * doc/glibc-functions/lgetxattr.texi: Likewise.
49567         * doc/glibc-functions/listxattr.texi: Likewise.
49568         * doc/glibc-functions/llistxattr.texi: Likewise.
49569         * doc/glibc-functions/lremovexattr.texi: Likewise.
49570         * doc/glibc-functions/lsetxattr.texi: Likewise.
49571         * doc/glibc-functions/pow10.texi: Likewise.
49572         * doc/glibc-functions/pow10f.texi: Likewise.
49573         * doc/glibc-functions/rcmd_af.texi: Likewise.
49574         * doc/glibc-functions/removexattr.texi: Likewise.
49575         * doc/glibc-functions/res_init.texi: Likewise.
49576         * doc/glibc-functions/res_mkquery.texi: Likewise.
49577         * doc/glibc-functions/res_query.texi: Likewise.
49578         * doc/glibc-functions/res_querydomain.texi: Likewise.
49579         * doc/glibc-functions/res_send.texi: Likewise.
49580         * doc/glibc-functions/rresvport_af.texi: Likewise.
49581         * doc/glibc-functions/setxattr.texi: Likewise.
49582         * doc/glibc-functions/strcasestr.texi: Likewise.
49583
49584 2008-12-15  Bruno Haible  <bruno@clisp.org>
49585
49586         Fix compilation error on OSF/1 4.0.
49587         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
49588         <sys/time.h>, simply delegate to the system header.
49589         Reported by Daniel Richard G. <oss@teragram.com>.
49590
49591 2008-12-15  Bruno Haible  <bruno@clisp.org>
49592
49593         * doc/posix-functions/openat.texi: Mention the 'openat' module.
49594         * doc/posix-functions/fchmodat.texi: Likewise.
49595         * doc/posix-functions/fchownat.texi: Likewise.
49596         * doc/posix-functions/fdopendir.texi: Likewise.
49597         * doc/posix-functions/fstatat.texi: Likewise.
49598         * doc/posix-functions/mkdirat.texi: Likewise.
49599         * doc/posix-functions/unlinkat.texi: Likewise.
49600
49601 2008-12-14  Bruno Haible  <bruno@clisp.org>
49602
49603         Update doc for POSIX:2008.
49604         * doc/posix-functions/faccessat.texi: New file.
49605         * doc/posix-functions/fchmodat.texi: New file.
49606         * doc/posix-functions/fchownat.texi: New file.
49607         * doc/posix-functions/fdopendir.texi: New file.
49608         * doc/posix-functions/fstatat.texi: New file.
49609         * doc/posix-functions/futimens.texi: New file.
49610         * doc/posix-functions/linkat.texi: New file.
49611         * doc/posix-functions/mkdirat.texi: New file.
49612         * doc/posix-functions/mkfifoat.texi: New file.
49613         * doc/posix-functions/mknodat.texi: New file.
49614         * doc/posix-functions/open_wmemstream.texi: New file.
49615         * doc/posix-functions/openat.texi: New file.
49616         * doc/posix-functions/psiginfo.texi: New file.
49617         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
49618         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
49619         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
49620         * doc/posix-functions/readlinkat.texi: New file.
49621         * doc/posix-functions/renameat.texi: New file.
49622         * doc/posix-functions/strerror_l.texi: New file.
49623         * doc/posix-functions/symlinkat.texi: New file.
49624         * doc/posix-functions/unlinkat.texi: New file.
49625         * doc/posix-functions/utimensat.texi: New file.
49626         * doc/gnulib.texi (Function Substitutes): Add these subsections.
49627
49628 2008-12-14  Bruno Haible  <bruno@clisp.org>
49629
49630         Update doc for POSIX:2008.
49631         * doc/posix-functions/alphasort.texi: Renamed from
49632         doc/glibc-functions/alphasort.texi.
49633         * doc/posix-functions/dirfd.texi: Renamed from
49634         doc/glibc-functions/dirfd.texi.
49635         * doc/posix-functions/dprintf.texi: Renamed from
49636         doc/glibc-functions/dprintf.texi.
49637         * doc/posix-functions/duplocale.texi: Renamed from
49638         doc/glibc-functions/duplocale.texi.
49639         * doc/posix-functions/fexecve.texi: Renamed from
49640         doc/glibc-functions/fexecve.texi.
49641         * doc/posix-functions/fmemopen.texi: Renamed from
49642         doc/glibc-functions/fmemopen.texi.
49643         * doc/posix-functions/freelocale.texi: Renamed from
49644         doc/glibc-functions/freelocale.texi.
49645         * doc/posix-functions/getdate_err.texi: Renamed from
49646         doc/glibc-functions/getdate_err.texi.
49647         * doc/posix-functions/isalnum_l.texi: Renamed from
49648         doc/glibc-functions/isalnum_l.texi.
49649         * doc/posix-functions/isalpha_l.texi: Renamed from
49650         doc/glibc-functions/isalpha_l.texi.
49651         * doc/posix-functions/isblank_l.texi: Renamed from
49652         doc/glibc-functions/isblank_l.texi.
49653         * doc/posix-functions/iscntrl_l.texi: Renamed from
49654         doc/glibc-functions/iscntrl_l.texi.
49655         * doc/posix-functions/isdigit_l.texi: Renamed from
49656         doc/glibc-functions/isdigit_l.texi.
49657         * doc/posix-functions/isgraph_l.texi: Renamed from
49658         doc/glibc-functions/isgraph_l.texi.
49659         * doc/posix-functions/islower_l.texi: Renamed from
49660         doc/glibc-functions/islower_l.texi.
49661         * doc/posix-functions/isprint_l.texi: Renamed from
49662         doc/glibc-functions/isprint_l.texi.
49663         * doc/posix-functions/ispunct_l.texi: Renamed from
49664         doc/glibc-functions/ispunct_l.texi.
49665         * doc/posix-functions/isspace_l.texi: Renamed from
49666         doc/glibc-functions/isspace_l.texi.
49667         * doc/posix-functions/isupper_l.texi: Renamed from
49668         doc/glibc-functions/isupper_l.texi.
49669         * doc/posix-functions/iswalnum_l.texi: Renamed from
49670         doc/glibc-functions/iswalnum_l.texi.
49671         * doc/posix-functions/iswalpha_l.texi: Renamed from
49672         doc/glibc-functions/iswalpha_l.texi.
49673         * doc/posix-functions/iswblank_l.texi: Renamed from
49674         doc/glibc-functions/iswblank_l.texi.
49675         * doc/posix-functions/iswcntrl_l.texi: Renamed from
49676         doc/glibc-functions/iswcntrl_l.texi.
49677         * doc/posix-functions/iswctype_l.texi: Renamed from
49678         doc/glibc-functions/iswctype_l.texi.
49679         * doc/posix-functions/iswdigit_l.texi: Renamed from
49680         doc/glibc-functions/iswdigit_l.texi.
49681         * doc/posix-functions/iswgraph_l.texi: Renamed from
49682         doc/glibc-functions/iswgraph_l.texi.
49683         * doc/posix-functions/iswlower_l.texi: Renamed from
49684         doc/glibc-functions/iswlower_l.texi.
49685         * doc/posix-functions/iswprint_l.texi: Renamed from
49686         doc/glibc-functions/iswprint_l.texi.
49687         * doc/posix-functions/iswpunct_l.texi: Renamed from
49688         doc/glibc-functions/iswpunct_l.texi.
49689         * doc/posix-functions/iswspace_l.texi: Renamed from
49690         doc/glibc-functions/iswspace_l.texi.
49691         * doc/posix-functions/iswupper_l.texi: Renamed from
49692         doc/glibc-functions/iswupper_l.texi.
49693         * doc/posix-functions/iswxdigit_l.texi: Renamed from
49694         doc/glibc-functions/iswxdigit_l.texi.
49695         * doc/posix-functions/isxdigit_l.texi: Renamed from
49696         doc/glibc-functions/isxdigit_l.texi.
49697         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
49698         doc/glibc-functions/mbsnrtowcs.texi.
49699         * doc/posix-functions/mkdtemp.texi: Renamed from
49700         doc/glibc-functions/mkdtemp.texi.
49701         * doc/posix-functions/newlocale.texi: Renamed from
49702         doc/glibc-functions/newlocale.texi.
49703         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
49704         doc/glibc-functions/nl_langinfo_l.texi.
49705         * doc/posix-functions/open_memstream.texi: Renamed from
49706         doc/glibc-functions/open_memstream.texi.
49707         * doc/posix-functions/opterr.texi: Renamed from
49708         doc/glibc-functions/opterr.texi.
49709         * doc/posix-functions/optind.texi: Renamed from
49710         doc/glibc-functions/optind.texi.
49711         * doc/posix-functions/optopt.texi: Renamed from
49712         doc/glibc-functions/optopt.texi.
49713         * doc/posix-functions/psignal.texi: Renamed from
49714         doc/glibc-functions/psignal.texi.
49715         * doc/posix-functions/scandir.texi: Renamed from
49716         doc/glibc-functions/scandir.texi.
49717         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
49718         doc/glibc-functions/sched_get_priority_min.texi.
49719         * doc/posix-functions/signgam.texi: Renamed from
49720         doc/glibc-functions/signgam.texi.
49721         * doc/posix-functions/stpcpy.texi: Renamed from
49722         doc/glibc-functions/stpcpy.texi.
49723         * doc/posix-functions/stpncpy.texi: Renamed from
49724         doc/glibc-functions/stpncpy.texi.
49725         * doc/posix-functions/strcasecmp_l.texi: Renamed from
49726         doc/glibc-functions/strcasecmp_l.texi.
49727         * doc/posix-functions/strcoll_l.texi: Renamed from
49728         doc/glibc-functions/strcoll_l.texi.
49729         * doc/posix-functions/strfmon_l.texi: Renamed from
49730         doc/glibc-functions/strfmon_l.texi.
49731         * doc/posix-functions/strftime_l.texi: Renamed from
49732         doc/glibc-functions/strftime_l.texi.
49733         * doc/posix-functions/strncasecmp_l.texi: Renamed from
49734         doc/glibc-functions/strncasecmp_l.texi.
49735         * doc/posix-functions/strndup.texi: Renamed from
49736         doc/glibc-functions/strndup.texi.
49737         * doc/posix-functions/strnlen.texi: Renamed from
49738         doc/glibc-functions/strnlen.texi.
49739         * doc/posix-functions/strsignal.texi: Renamed from
49740         doc/glibc-functions/strsignal.texi.
49741         * doc/posix-functions/strxfrm_l.texi: Renamed from
49742         doc/glibc-functions/strxfrm_l.texi.
49743         * doc/posix-functions/timer_gettime.texi: Renamed from
49744         doc/glibc-functions/timer_gettime.texi.
49745         * doc/posix-functions/tolower_l.texi: Renamed from
49746         doc/glibc-functions/tolower_l.texi.
49747         * doc/posix-functions/toupper_l.texi: Renamed from
49748         doc/glibc-functions/toupper_l.texi.
49749         * doc/posix-functions/towctrans_l.texi: Renamed from
49750         doc/glibc-functions/towctrans_l.texi.
49751         * doc/posix-functions/towlower_l.texi: Renamed from
49752         doc/glibc-functions/towlower_l.texi.
49753         * doc/posix-functions/towupper_l.texi: Renamed from
49754         doc/glibc-functions/towupper_l.texi.
49755         * doc/posix-functions/uselocale.texi: Renamed from
49756         doc/glibc-functions/uselocale.texi.
49757         * doc/posix-functions/vdprintf.texi: Renamed from
49758         doc/glibc-functions/vdprintf.texi.
49759         * doc/posix-functions/wcpcpy.texi:
49760         Renamed from doc/glibc-functions/wcpcpy.texi.
49761         * doc/posix-functions/wcpncpy.texi: Renamed from
49762         doc/glibc-functions/wcpncpy.texi.
49763         * doc/posix-functions/wcscasecmp.texi: Renamed from
49764         doc/glibc-functions/wcscasecmp.texi.
49765         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
49766         doc/glibc-functions/wcscasecmp_l.texi.
49767         * doc/posix-functions/wcscoll_l.texi: Renamed from
49768         doc/glibc-functions/wcscoll_l.texi.
49769         * doc/posix-functions/wcsdup.texi: Renamed from
49770         doc/glibc-functions/wcsdup.texi.
49771         * doc/posix-functions/wcsncasecmp.texi: Renamed from
49772         doc/glibc-functions/wcsncasecmp.texi.
49773         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
49774         doc/glibc-functions/wcsncasecmp_l.texi.
49775         * doc/posix-functions/wcsnlen.texi: Renamed from
49776         doc/glibc-functions/wcsnlen.texi.
49777         * doc/posix-functions/wcsnrtombs.texi: Renamed from
49778         doc/glibc-functions/wcsnrtombs.texi.
49779         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
49780         doc/glibc-functions/wcsxfrm_l.texi.
49781         * doc/posix-functions/wctrans_l.texi: Renamed from
49782         doc/glibc-functions/wctrans_l.texi.
49783         * doc/posix-functions/wctype_l.texi: Renamed from
49784         doc/glibc-functions/wctype_l.texi.
49785         * doc/gnulib.texi (Function Substitutes): Add these subsections.
49786         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
49787         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
49788         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
49789         these subsections.
49790         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
49791         Remove sections.
49792
49793 2008-12-14  Bruno Haible  <bruno@clisp.org>
49794
49795         Update doc for POSIX:2008.
49796         * doc/posix-functions/*.texi: Update URL of POSIX specification.
49797
49798 2008-12-14  Bruno Haible  <bruno@clisp.org>
49799
49800         Update doc for POSIX:2008.
49801         * doc/pastposix-functions/bcmp.texi: Renamed from
49802         doc/posix-functions/bcmp.texi.
49803         * doc/pastposix-functions/bcopy.texi: Renamed from
49804         doc/posix-functions/bcopy.texi.
49805         * doc/pastposix-functions/bsd_signal.texi: Renamed from
49806         doc/posix-functions/bsd_signal.texi.
49807         * doc/pastposix-functions/bzero.texi: Renamed from
49808         doc/posix-functions/bzero.texi.
49809         * doc/pastposix-functions/ecvt.texi: Renamed from
49810         doc/posix-functions/ecvt.texi.
49811         * doc/pastposix-functions/fcvt.texi: Renamed from
49812         doc/posix-functions/fcvt.texi.
49813         * doc/pastposix-functions/ftime.texi: Renamed from
49814         doc/posix-functions/ftime.texi.
49815         * doc/pastposix-functions/gcvt.texi: Renamed from
49816         doc/posix-functions/gcvt.texi.
49817         * doc/pastposix-functions/getcontext.texi: Renamed from
49818         doc/posix-functions/getcontext.texi.
49819         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
49820         doc/posix-functions/gethostbyaddr.texi.
49821         * doc/pastposix-functions/gethostbyname.texi: Renamed from
49822         doc/posix-functions/gethostbyname.texi.
49823         * doc/pastposix-functions/getwd.texi: Renamed from
49824         doc/posix-functions/getwd.texi.
49825         * doc/pastposix-functions/h_errno.texi: Renamed from
49826         doc/posix-functions/h_errno.texi.
49827         * doc/pastposix-functions/index.texi: Renamed from
49828         doc/posix-functions/index.texi.
49829         * doc/pastposix-functions/makecontext.texi: Renamed from
49830         doc/posix-functions/makecontext.texi.
49831         * doc/pastposix-functions/mktemp.texi: Renamed from
49832         doc/posix-functions/mktemp.texi.
49833         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
49834         doc/posix-functions/pthread_attr_getstackaddr.texi.
49835         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
49836         doc/posix-functions/pthread_attr_setstackaddr.texi.
49837         * doc/pastposix-functions/rindex.texi: Renamed from
49838         doc/posix-functions/rindex.texi.
49839         * doc/pastposix-functions/scalb.texi: Renamed from
49840         doc/posix-functions/scalb.texi.
49841         * doc/pastposix-functions/setcontext.texi: Renamed from
49842         doc/posix-functions/setcontext.texi.
49843         * doc/pastposix-functions/swapcontext.texi: Renamed from
49844         doc/posix-functions/swapcontext.texi.
49845         * doc/pastposix-functions/ualarm.texi: Renamed from
49846         doc/posix-functions/ualarm.texi.
49847         * doc/pastposix-functions/usleep.texi: Renamed from
49848         doc/posix-functions/usleep.texi.
49849         * doc/pastposix-functions/vfork.texi: Renamed from
49850         doc/posix-functions/vfork.texi.
49851         * doc/pastposix-functions/wcswcs.texi: Renamed from
49852         doc/posix-functions/wcswcs.texi.
49853         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
49854         (Function Substitutes): Update.
49855
49856 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49857
49858         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
49859         m4/strerror.m4.
49860
49861 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49862             Bruno Haible  <bruno@clisp.org>
49863
49864         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
49865
49866 2008-12-13  Bruno Haible  <bruno@clisp.org>
49867
49868         * modules/strtoull (Depends-on): Remove unistd.
49869
49870 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49871
49872         * modules/strtoull (Depends-on): Add stdlib.
49873
49874 2008-12-11  Simon Josefsson  <simon@josefsson.org>
49875
49876         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
49877
49878 2008-12-10  Jim Meyering  <meyering@redhat.com>
49879
49880         gl_ASSERT: don't say assertions are disabled when they're not
49881         * m4/assert.m4 (gl_ASSERT): Do not make configure report
49882         "checking whether to enable assertions... no", when they are in
49883         fact enabled.  This is solely a bug in the output of configure.
49884         In spite of saying "no", NDEBUG was not defined in that case.
49885         Also, as noted by Eric Blake, leave assertions enabled upon
49886         --enable-assert=INVALID.
49887
49888 2008-12-10  Bruno Haible  <bruno@clisp.org>
49889
49890         Change MODULES.html to refer to POSIX:2008 where possible.
49891         * MODULES.html.sh (POSIX2008_URL): New variable.
49892         (posix_headers): Remove sys/timeb, ucontext.
49893         (posix2001_headers): New variable.
49894         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
49895         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
49896         index, makecontext, mktemp, pthread_attr_getstackaddr,
49897         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
49898         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
49899         (posix2001_functions): New variable.
49900         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
49901         otherwise.
49902
49903 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49904
49905         add missing include to parse-duration.c
49906         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
49907         * modules/parse-duration (Depends-on): Add xalloc.
49908
49909         fix sed script reading maint.mk
49910         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
49911         (syntax-check-rules): Use it.
49912
49913 2008-12-09  Bruno Haible  <bruno@clisp.org>
49914
49915         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
49916         MacOS X 10.4/PowerPC.
49917         Reported by Simon Josefsson.
49918
49919 2008-12-08  Jim Meyering  <meyering@redhat.com>
49920
49921         work around mingw's lack of some S_IF definitions
49922         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
49923         Reported by Simon Josefsson.
49924
49925 2008-12-08  Bruno Haible  <bruno@clisp.org>
49926
49927         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
49928         applied to variables. Needed on MacOS X 10.4/PowerPC.
49929         Reported by Simon Josefsson.
49930
49931 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
49932         and Eric Blake  <ebb9@byu.net>
49933
49934         assert: honor --enable-assert
49935         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
49936         order to honor --enable-assert, rather than treating it as a
49937         synonym for --disable-assert.
49938
49939 2008-12-08  Jim Meyering  <meyering@redhat.com>
49940
49941         * lib/posixtm.c: Remove now-useless declaration of mktime.
49942
49943         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
49944
49945 2008-12-07  Bruno Haible  <bruno@clisp.org>
49946
49947         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
49948         test_once): Mark functions as static.
49949         * tests/test-tls.c (test_tls): Likewise.
49950
49951 2008-12-07  Bruno Haible  <bruno@clisp.org>
49952
49953         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
49954         iconv_register_autodetect.
49955
49956 2008-12-07  Jim Meyering  <meyering@redhat.com>
49957
49958         posixtm.c: avoid a warning
49959         * lib/posixtm.c (posixtime): Don't initialize tm0.
49960         It's no longer needed to placate gcc4's -Wuninitialized,
49961         and the attempt to placate would elicit a new warning.
49962
49963         unicodeio.c: mark unused parameters
49964         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49965         (fallback_failure_callback): Likewise.
49966
49967 2008-12-07  Bruno Haible  <bruno@clisp.org>
49968
49969         * gnulib-tool (func_create_testdir): When building the tests
49970         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
49971         Reported by Simon Josefsson.
49972
49973 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49974
49975         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
49976
49977 2008-12-06  Bruno Haible  <bruno@clisp.org>
49978
49979         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
49980         Suggested by Eric Blake.
49981
49982 2008-12-06  Bruno Haible  <bruno@clisp.org>
49983
49984         Fix a c-stack test failure on MacOS X.
49985         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
49986         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
49987         handler for SIGBUS as well.
49988         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
49989         install a signal handler for SIGBUS as well.
49990         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
49991
49992 2008-12-06  Bruno Haible  <bruno@clisp.org>
49993
49994         Advocacy documentation.
49995         * doc/gnulib-intro.texi (Benefits): New section.
49996         * doc/gnulib.texi: Update.
49997
49998 2008-12-06  Bruno Haible  <bruno@clisp.org>
49999
50000         Document the 'manywarnings' module.
50001         * doc/manywarnings.texi: New file.
50002         * doc/gnulib.texi: Include it.
50003
50004 2008-12-05  Eric Blake  <ebb9@byu.net>
50005
50006         tests: silence some gcc warnings
50007         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
50008         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
50009         type mismatches.
50010
50011 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50012             Bruno Haible  <bruno@clisp.org>
50013
50014         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
50015
50016 2008-11-29  Jim Meyering  <meyering@redhat.com>
50017
50018         unicodeio.c: mark unused parameters
50019         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
50020         (fallback_failure_callback): Likewise.
50021
50022         fts: fix a thinko
50023         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
50024         (set_stat_type): Return S_IF*-valued "type" directly.
50025         Prompted by James Youngman's spotting a related bug.
50026         Confirmed by further testing through find.
50027
50028         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
50029         * lib/fts.c (D_TYPE): Define.
50030         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
50031         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
50032         (s_ifmt_shift_bits): New function.
50033         (set_stat_type): New function.
50034         (fts_build): When not calling fts_stat, call set_stat_type
50035         to propagate dirent.d_type info to fts_read caller.
50036         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
50037         fts_statp->st_mode type information may be valid.
50038
50039 2008-11-28  Simon Josefsson  <simon@josefsson.org>
50040
50041         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
50042         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
50043         <sds@gnu.org>.
50044
50045 2008-11-20  Bruno Haible  <bruno@clisp.org>
50046
50047         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
50048         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
50049         INCLUDE_NEXT.
50050         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
50051         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
50052         * modules/math (Makefile.am): Substitute
50053         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
50054         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50055
50056 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
50057             Bruno Haible  <bruno@clisp.org>
50058
50059         * lib/stdint.in.h: Define all type macros so that their expansion is
50060         a single typedef'ed token. Fixes a compilation failure in Boost which
50061         does "using ::int8_t;".
50062
50063 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50064
50065         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
50066         gl_MANYWARN_ALL_GCC.
50067         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
50068         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
50069         * modules/manywarnings: New file.
50070         * MODULES.html.sh: Mention manywarnings module.
50071
50072 2008-11-18  Bruno Haible  <bruno@clisp.org>
50073
50074         * doc/gnulib-tool.texi (Unit tests): New section.
50075
50076 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50077
50078         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
50079         paths like 'lib/po/foo.po'.
50080
50081 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50082
50083         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
50084         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
50085
50086 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50087
50088         * m4/warnings.m4: Use CPPFLAGS to really check whether the
50089         parameter works.
50090
50091 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50092
50093         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
50094
50095 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50096
50097         * modules/parse-duration-tests: New file.
50098         * tests/test-parse-duration.sh: New file.
50099         * tests/test-parse-duration.c: New file.
50100
50101         New module 'parse-duration'.
50102         * lib/parse-duration.h: New file.
50103         * lib/parse-duration.c: New file.
50104         * modules/parse-duration: New file.
50105
50106 2008-11-17  Bruno Haible  <bruno@clisp.org>
50107
50108         * tests/test-select-out.sh: Comment out the first pipe test.
50109         Reported by Simon Josefsson.
50110
50111 2008-11-17  Bruno Haible  <bruno@clisp.org>
50112
50113         * modules/getaddrinfo (Depends-on): Add servent, hostent.
50114         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
50115         gl_HOSTENT.
50116
50117 2008-11-17  Bruno Haible  <bruno@clisp.org>
50118
50119         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
50120         -lnetwork and -lnet. Needed for Haiku and BeOS.
50121
50122 2008-11-16  Bruno Haible  <bruno@clisp.org>
50123
50124         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
50125
50126 2008-11-16  Bruno Haible  <bruno@clisp.org>
50127
50128         Avoid test failure on Haiku.
50129         * tests/test-fsync.c: Include <errno.h>.
50130         (main): Don't require that fsync (0) fails.
50131
50132 2008-11-15  Bruno Haible  <bruno@clisp.org>
50133
50134         New module 'hostent'.
50135         * modules/hostent: New file.
50136         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
50137
50138 2008-11-15  Bruno Haible  <bruno@clisp.org>
50139
50140         New module 'servent'.
50141         * modules/servent: New file.
50142         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
50143
50144 2008-11-15  Bruno Haible  <bruno@clisp.org>
50145
50146         Avoid generating same test program with two different rules.
50147         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
50148         test-frexp to test-frexp-nolibm.
50149         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
50150         test-frexpl to test-frexpl-nolibm.
50151
50152 2008-11-15  Bruno Haible  <bruno@clisp.org>
50153
50154         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
50155         $(FREXPL_LIBM).
50156
50157 2008-11-15  Bruno Haible  <bruno@clisp.org>
50158
50159         * lib/netdb.in.h: Activate the definitions also when the system's
50160         <netdb.h> has 'struct addrinfo'.
50161         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
50162         EAI_OVERFLOW or AI_NUMERICSERV.
50163         * doc/posix-headers/netdb.texi: Document the problem.
50164
50165 2008-11-15  Bruno Haible  <bruno@clisp.org>
50166
50167         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
50168
50169         Make the 'sched' module work on platforms where <sched.h> exists but
50170         is incomplete (such as Haiku).
50171         * lib/sched.in.h; Include the system's <sched.h> if it exists.
50172         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
50173         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
50174         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
50175         HAVE_STRUCT_SCHED_PARAM.
50176         * modules/sched (Depends-on): Add include_next.
50177         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
50178         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
50179         * doc/posix-headers/sched.texi: Document the issue.
50180
50181 2008-11-13  Jim Meyering  <meyering@redhat.com>
50182
50183         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
50184         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
50185         test would fail due to the difference in the Report bugs to ...
50186         line.  The expected address is empty, "<>", while the actual
50187         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
50188
50189 2008-11-12  Bruno Haible  <bruno@clisp.org>
50190
50191         lstat: don't compile lstat.c on systems lacking lstat
50192         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
50193         which don't have lstat; this is handled by lib/sys_stat.in.h already.
50194         Reported by Daniel P. Berrange via Jim Meyering.
50195
50196 2008-11-12  Jim Meyering  <meyering@redhat.com>
50197
50198         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
50199
50200 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50201
50202         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
50203         instead.
50204
50205 2008-11-12  Bruno Haible  <bruno@clisp.org>
50206
50207         * lib/unicodeio.c: Include unistr.h.
50208         (utf8_wctomb): Remove function.
50209         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
50210
50211 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50212
50213         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
50214         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
50215         <bruno@clisp.org>.
50216         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
50217
50218 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50219
50220         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
50221         * doc/gnulib.texi: Add section for warnings.
50222
50223 2008-11-11  Bruno Haible  <bruno@clisp.org>
50224
50225         * lib/sockets.h: Add a comment.
50226
50227 2008-11-11  Karl Berry  <karl@gnu.org>
50228
50229         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
50230
50231 2008-11-11  Eric Blake  <ebb9@byu.net>
50232
50233         fdl.texi: avoid git symlinks
50234         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
50235
50236 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50237
50238         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
50239
50240 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50241
50242         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
50243         (gl_WARN_ADD): Substitute $2 if literal.
50244
50245 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50246
50247         * m4/warning.m4: Remove.
50248
50249 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50250
50251         * m4/warnings.m4: Almost complete rewrite. :-)
50252
50253 2008-11-10  Simon Josefsson  <simon@josefsson.org>
50254
50255         * modules/warnings: New module.
50256         * m4/warnings.m4: New file.
50257         * MODULES.html.sh: Mention warnings module.
50258         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
50259         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50260
50261 2008-11-10  Eric Blake  <ebb9@byu.net>
50262
50263         fdl.texi: make a symlink to the latest version
50264         * doc/standards.texi: Revert today's earlier change.
50265         * doc/fdl-1.2.texi: Rename from old fdl.texi...
50266         * doc/fdl.texi: ...and replace this with a symlink to the newer
50267         fdl-1.3.texi.
50268
50269 2008-11-10  Bruno Haible  <bruno@clisp.org>
50270
50271         * tests/test-select-fd.c (main): Accept the result file name as fourth
50272         argument.
50273         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
50274         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
50275
50276 2008-11-10  Bruno Haible  <bruno@clisp.org>
50277
50278         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
50279         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
50280         as autoconf-substituted macros.
50281         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
50282         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
50283         gl_NETDB_H_DEFAULTS. Set these variables.
50284         * modules/netdb (Makefile.am): Substitute these variables.
50285
50286 2008-11-10  Eric Blake  <ebb9@byu.net>
50287
50288         standards.texi: include correct file for FDL 1.3
50289         * doc/standards.texi (GNU Free Documentation License): Change
50290         include file to pull in FDL 1.3, not 1.2.
50291
50292         fdl.texi: revert accidental change to license
50293         * doc/fdl.texi: This is FDL 1.2, not 1.3.
50294
50295 2008-11-10  Bruno Haible  <bruno@clisp.org>
50296
50297         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
50298         cross-compiling guesses also when the native compile gives no result.
50299
50300 2008-11-10  Bruno Haible  <bruno@clisp.org>
50301
50302         * lib/spawni.c (__spawni): Force variable into the stack.
50303
50304 2008-11-10  Bruno Haible  <bruno@clisp.org>
50305
50306         Add support for Haiku.
50307         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
50308         glibc and BeOS, but also on Haiku.
50309         * lib/fpurge.c (fpurge): Likewise.
50310         * lib/freadable.c (freadable): Likewise.
50311         * lib/freadahead.c (freadahead): Likewise.
50312         * lib/freading.c (freading): Likewise.
50313         * lib/freadptr.c (freadptr): Likewise.
50314         * lib/freadseek.c (freadptrinc): Likewise.
50315         * lib/fseeko.c (rpl_fseeko): Likewise.
50316         * lib/fseterr.c (fseterr): Likewise.
50317         * lib/fwritable.c (fwritable): Likewise.
50318         * lib/fwriting.c (fwriting): Likewise.
50319         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
50320
50321 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50322
50323         * lib/config.charset: Treat Haiku like BeOS.
50324
50325 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50326
50327         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
50328         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
50329
50330 2008-11-08  Bruno Haible  <bruno@clisp.org>
50331
50332         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
50333         AC_CACHE_CHECK.
50334
50335 2008-11-08  Bruno Haible  <bruno@clisp.org>
50336
50337         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
50338
50339 2008-11-08  Bruno Haible  <bruno@clisp.org>
50340
50341         * tests/test-select-fd.c: New file.
50342         * tests/test-select-in.sh: New file.
50343         * tests/test-select-out.sh: New file.
50344         * tests/test-select-stdin.c: New file.
50345         * modules/select-tests (Files): Add the new files.
50346         (Depends-on): Add gettimeofday.
50347         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
50348         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
50349         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
50350
50351 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
50352             Bruno Haible  <bruno@clisp.org>
50353
50354         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
50355
50356 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
50357
50358         * build-aux/pmccabe2html: Added support for C++ source files.
50359
50360 2008-11-05  Ben Pfaff  <blp@gnu.org>
50361
50362         Fix lib/close.c build on Windows.
50363         * modules/close (Files): Add lib/w32sock.h.
50364
50365 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
50366
50367         Accept Bison's NEWS format.
50368         * build-aux/announce-gen (print_news_deltas): Tweak
50369         $re_prefix.
50370
50371 2008-11-04  Bruno Haible  <bruno@clisp.org>
50372
50373         * modules/random_r (Maintainer): Add glibc.
50374
50375 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50376
50377         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
50378         by karl@freefriends.org (Karl Berry).
50379         * doc/alloca.texi: Likewise.
50380         * doc/c-ctype.texi: Likewise.
50381         * doc/c-strcase.texi: Likewise.
50382         * doc/c-strcaseeq.texi: Likewise.
50383         * doc/c-strcasestr.texi: Likewise.
50384         * doc/c-strstr.texi: Likewise.
50385         * doc/c-strtod.texi: Likewise.
50386         * doc/c-strtold.texi: Likewise.
50387         * doc/ctime.texi: Likewise.
50388         * doc/error.texi: Likewise.
50389         * doc/fdl.texi: Likewise.
50390         * doc/gcd.texi: Likewise.
50391         * doc/getdate.texi: Likewise.
50392         * doc/gnulib-intro.texi: Likewise.
50393         * doc/gnulib-tool.texi: Likewise.
50394         * doc/gnulib.texi: Likewise.
50395         * doc/inet_ntoa.texi: Likewise.
50396         * doc/maintain.texi: Likewise.
50397         * doc/make-stds.texi: Likewise.
50398         * doc/quote.texi: Likewise.
50399         * doc/regexprops-generic.texi: Likewise.
50400         * doc/standards.texi: Likewise.
50401         * doc/verify.texi: Likewise.
50402         * doc/visibility.texi: Likewise.
50403         * doc/gnulib.texi (GNU Free Documentation License): Include
50404         fdl-1.3.texi instead of fdl.texi.
50405
50406 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50407
50408         * doc/fdl-1.3.texi: New file, from
50409         <http://www.gnu.org/licenses/fdl-1.3.texi>.
50410         * modules/fdl-1.3: Add.
50411         * MODULES.html.sh: Add fdl-1.3.
50412
50413 2008-11-03  Bruno Haible  <bruno@clisp.org>
50414
50415         Make determination of absolute name of header file work with AIX xlc.
50416         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
50417         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
50418         preprocessing.
50419         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50420         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
50421
50422 2008-11-03  Simon Josefsson  <simon@josefsson.org>
50423
50424         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
50425         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
50426         <ludo@gnu.org>.
50427
50428 2008-11-02  Bruno Haible  <bruno@clisp.org>
50429
50430         Mark 'strpbrk' obsolete.
50431         * modules/strpbrk (Status, Notice): New sections.
50432         * modules/strtok_r (Depends-on): Add strpbrk.
50433
50434 2008-11-02  Bruno Haible  <bruno@clisp.org>
50435
50436         Mark 'strdup' obsolete.
50437         * modules/strdup (Status, Notice): New sections.
50438         * modules/findprog (Depends-on): Add strdup.
50439         * modules/getaddrinfo (Depends-on): Likewise.
50440         * modules/localename (Depends-on): Likewise.
50441         * modules/relocatable-lib (Depends-on): Likewise.
50442         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
50443         * modules/relocatable-prog (Depends-on): Likewise.
50444         * modules/trim (Depends-on): Likewise.
50445         * modules/unictype/gen-ctype (Depends-on): Likewise.
50446         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
50447
50448 2008-11-02  Bruno Haible  <bruno@clisp.org>
50449
50450         Mark 'strcspn' obsolete.
50451         * modules/strcspn (Status, Notice): New sections.
50452
50453 2008-11-02  Bruno Haible  <bruno@clisp.org>
50454
50455         Mark 'rmdir' obsolete.
50456         * modules/rmdir (Status, Notice): New sections.
50457         * modules/clean-temp (Depends-on): Add rmdir.
50458         * modules/openat (Depends-on): Likewise.
50459
50460 2008-11-02  Bruno Haible  <bruno@clisp.org>
50461
50462         Mark 'raise' obsolete.
50463         * modules/raise (Status, Notice): New sections.
50464         (Include): Specify <signal.h>.
50465         * modules/stdio (Depends-on): Add raise.
50466         * modules/write (Depends-on): Likewise.
50467
50468 2008-11-02  Bruno Haible  <bruno@clisp.org>
50469
50470         Mark 'memset' obsolete.
50471         * modules/memset (Status, Notice): New sections.
50472
50473 2008-11-02  Bruno Haible  <bruno@clisp.org>
50474
50475         Mark 'memmove' obsolete.
50476         * modules/memmove (Status, Notice): New sections.
50477         * modules/argp (Depends-on): Add memmove.
50478         * modules/argz (Depends-on): Likewise.
50479         * modules/canonicalize (Depends-on): Likewise.
50480         * modules/canonicalize-lgpl (Depends-on): Likewise.
50481         * modules/fts (Depends-on): Likewise.
50482         * modules/getcwd (Depends-on): Likewise.
50483         * modules/human (Depends-on): Likewise.
50484         * modules/regex (Depends-on): Likewise.
50485         * modules/striconveh (Depends-on): Likewise.
50486         * modules/trim (Depends-on): Likewise.
50487         * modules/unistr/u8-move (Depends-on): Likewise.
50488         * modules/unistr/u16-move (Depends-on): Likewise.
50489         * modules/unistr/u32-move (Depends-on): Likewise.
50490
50491 2008-11-02  Bruno Haible  <bruno@clisp.org>
50492
50493         Mark 'memcpy' obsolete.
50494         * modules/memcpy (Status, Notice): New sections.
50495
50496 2008-11-02  Bruno Haible  <bruno@clisp.org>
50497
50498         Mark 'memcmp' obsolete.
50499         * modules/memcmp (Status, Notice): New sections.
50500         * modules/argmatch (Depends-on): Add memchr.
50501         * modules/backupfile (Depends-on): Likewise.
50502         * modules/c-strcasestr (Depends-on): Likewise.
50503         * modules/crypto/des (Depends-on): Likewise.
50504         * modules/csharpcomp (Depends-on): Likewise.
50505         * modules/fnmatch (Depends-on): Likewise.
50506         * modules/git-merge-changelog (Depends-on): Likewise.
50507         * modules/isnand (Depends-on): Likewise.
50508         * modules/isnand-nolibm (Depends-on): Likewise.
50509         * modules/isnanf (Depends-on): Likewise.
50510         * modules/isnanf-nolibm (Depends-on): Likewise.
50511         * modules/isnanl (Depends-on): Likewise.
50512         * modules/isnanl-nolibm (Depends-on): Likewise.
50513         * modules/mbchar (Depends-on): Likewise.
50514         * modules/memcoll (Depends-on): Likewise.
50515         * modules/quotearg (Depends-on): Likewise.
50516         * modules/regex (Depends-on): Likewise.
50517         * modules/relocatable-prog (Depends-on): Likewise.
50518         * modules/same (Depends-on): Likewise.
50519         * modules/signbit (Depends-on): Likewise.
50520         * modules/strcasestr-simple (Depends-on): Likewise.
50521         * modules/unictype/gen-ctype (Depends-on): Likewise.
50522         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
50523         * modules/uniname/uniname (Depends-on): Likewise.
50524         * modules/unistr/u8-cmp (Depends-on): Likewise.
50525
50526 2008-11-02  Bruno Haible  <bruno@clisp.org>
50527
50528         Mark 'memchr' obsolete.
50529         * modules/memchr (Status, Notice): New sections.
50530         * modules/argp (Depends-on): Add memchr.
50531         * modules/base64 (Depends-on): Likewise.
50532         * modules/c-strcasestr (Depends-on): Likewise.
50533         * modules/chdir-long (Depends-on): Likewise.
50534         * modules/fnmatch (Depends-on): Likewise.
50535         * modules/getsubopt (Depends-on): Likewise.
50536         * modules/git-merge-changelog (Depends-on): Likewise.
50537         * modules/glob (Depends-on): Likewise.
50538         * modules/strcasestr-simple (Depends-on): Likewise.
50539         * modules/strnlen (Depends-on): Likewise.
50540
50541 2008-11-02  Bruno Haible  <bruno@clisp.org>
50542
50543         Mark 'atexit' obsolete.
50544         * modules/atexit (Status, Notice): New sections.
50545         * modules/chdir-long (Depends-on): Add atexit.
50546         * modules/wait-process (Depends-on): Likewise.
50547
50548 2008-11-02  Bruno Haible  <bruno@clisp.org>
50549
50550         * gnulib-tool: New option --with-obsolete.
50551         (func_usage): Document it.
50552         (func_modules_transitive_closure): Drop obsolete dependencies if
50553         incobsolete is not true.
50554         (func_import): Read and save the incobsolete variable to the cache.
50555
50556 2008-11-02  Bruno Haible  <bruno@clisp.org>
50557
50558         * modules/TEMPLATE-EXTENDED: New field 'Status'.
50559         * gnulib-tool: New option --extract-status.
50560         (func_usage): Document it.
50561         (sed_extract_prog): Recognize it.
50562         (func_get_status): New function.
50563
50564 2008-10-30  Simon Josefsson  <simon@josefsson.org>
50565
50566         * modules/sockets (License): Change from LGPL to LGPLv2+.
50567
50568 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50569
50570         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
50571
50572 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50573
50574         * MODULES.html.sh (Support for systems lacking POSIX:2001):
50575         Mention times and sys_times.
50576         * modules/sys_times, modules/sys_times-tests: New modules.
50577         * modules/times, modules/times-tests: Likewise
50578         * m4/sys_times_h.m4: New file.
50579         * lib/sys_times.in.h: Likewise
50580         * lib/times.c: Likewise.
50581         * tests/test-sys_times.c: Likewise.
50582         * tests/test-times.c: Likewise.
50583         * doc/posix-headers/sys_times.texi: Update.
50584         * doc/posix-functions/times.texi: Update.
50585
50586 2008-10-28  Jim Meyering  <meyering@redhat.com>
50587
50588         * modules/tempname (Depends-on): Add lstat.
50589
50590         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
50591
50592 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50593
50594         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
50595         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
50596         using idiom used elsewhere in gnulib.
50597
50598 2008-10-27  Jim Meyering  <meyering@redhat.com>
50599
50600         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
50601
50602 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50603
50604         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
50605         TESTS_ENVIRONMENT, for shell scripts that needs to call built
50606         programs.
50607         * tests/test-argp-2.sh: Use $EXEEXT when needed.
50608
50609 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50610
50611         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
50612
50613 2008-10-27  Bruno Haible  <bruno@clisp.org>
50614
50615         * tests/test-lstat.c: Include <stdio.h>.
50616
50617 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50618
50619         * modules/lstat-tests: New module.
50620         * tests/test-lstat.c: New file.
50621
50622 2008-10-26  Jim Meyering  <meyering@redhat.com>
50623
50624         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
50625
50626 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50627             Bruno Haible  <bruno@clisp.org>
50628
50629         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
50630         * modules/configmake (Include): Add a note that the include must come
50631         after all system headers.
50632         * lib/javaversion.c: Include configmake.h after all other includes.
50633
50634 2008-10-26  Bruno Haible  <bruno@clisp.org>
50635
50636         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
50637         HAVE_STRUCT_RANDOM_DATA to 1.
50638         (gl_STDLIB_H): Simplify.
50639
50640 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50641
50642         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
50643         substitute HAVE_STRUCT_RANDOM_DATA.
50644         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
50645         random_data.
50646         * modules/stdlib (Makefile.am): Substitute
50647         HAVE_STRUCT_RANDOM_DATA.
50648
50649 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50650
50651         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
50652         * doc/gnulib-intro.texi (Copyright): Likewise.
50653
50654 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50655
50656         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
50657         findings.
50658
50659 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
50660             Bruno Haible  <bruno@clisp.org>
50661
50662         * lib/unistd.in.h: Include <winsock2.h>.
50663         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
50664         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
50665         Provide dummy declarations.
50666         (gethostname): Override.
50667         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
50668         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
50669         gl_PREREQ_SYS_H_WINSOCK2.
50670         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
50671         * doc/posix-functions/gethostname.texi: More details.
50672
50673 2008-10-25  Bruno Haible  <bruno@clisp.org>
50674
50675         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
50676         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
50677         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
50678
50679         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
50680         here ...
50681         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
50682         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
50683         gl_UNISTD_H_DEFAULTS.
50684
50685 2008-10-25  Eric Blake  <ebb9@byu.net>
50686
50687         signbit: avoid spurious compiler failure
50688         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
50689         declarations inside function.
50690
50691 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50692             Bruno Haible  <bruno@clisp.org>
50693
50694         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
50695         * modules/random_r (Depends-on): Add stdint.
50696
50697 2008-10-24  Bruno Haible  <bruno@clisp.org>
50698
50699         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
50700         Eggert.
50701         * modules/strerror (License): Likewise.
50702
50703 2008-10-24  Jim Meyering  <meyering@redhat.com>
50704
50705         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
50706         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
50707
50708 2008-10-24  Eric Blake  <ebb9@byu.net>
50709
50710         getgroups: fix compilation when getgroups is available
50711         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
50712         but with <config.h> override of getgroups disabled.
50713
50714 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50715
50716         * doc/gnulib.texi (Header files): Add note about C++ problems.
50717         Explained by Bruno Haible <bruno@clisp.org>.
50718
50719 2008-10-23  Bruno Haible  <bruno@clisp.org>
50720
50721         Define a dummy SA_NODEFER macro on Interix.
50722         * lib/signal.in.h (SA_NODEFER): Define fallback.
50723         Reported by Aleksey Cheusov <cheusov@tut.by> via
50724         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
50725
50726 2008-10-23  Bruno Haible  <bruno@clisp.org>
50727
50728         * modules/freadahead (License): Change to LGPLv2+.
50729         Suggested by Simon Josefsson.
50730
50731 2008-10-23  Jim Meyering  <meyering@redhat.com>
50732
50733         random_r: new module
50734         * modules/random_r: New file.
50735         * m4/random_r.m4: New file.
50736         * lib/random_r.c: New file, from glibc.
50737         * modules/random_r-tests: New file.
50738         * tests/test-random_r.c: New file.
50739         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
50740          Declare.
50741         (RAND_MAX): Define.
50742         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
50743         * modules/stdlib: Substitute them, too.
50744         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
50745         * doc/glibc-functions/initstate_r.texi: Mention the new module.
50746         * doc/glibc-functions/random_r.texi: Likewise.
50747         * doc/glibc-functions/setstate_r.texi: Likewise.
50748         * doc/glibc-functions/srandom_r.texi: Likewise.
50749         * config/srclist.txt: Mention it.
50750
50751 2008-10-23  David Lutterkort  <lutter@redhat.com>
50752
50753         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
50754         link requirement
50755
50756 2008-10-23  Jim Meyering  <meyering@redhat.com>
50757
50758         selinux-h: mark parameters of stub functions as intentionally unused
50759         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
50760         * lib/se-context.in.h: Likewise.
50761
50762 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50763
50764         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
50765
50766 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50767
50768         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
50769
50770 2008-10-22  Eric Blake  <ebb9@byu.net>
50771
50772         glthread/thread: avoid compiler warning
50773         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
50774         Add unreachable abort to silence compiler.
50775
50776 2008-10-22  Eric Blake  <ebb9@byu.net>
50777
50778         netdb: also supply struct addrinfo for cygwin 1.5.x
50779         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
50780         older cygwin.
50781         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
50782         cygwin.
50783         * doc/posix-headers/netdb.texi (netdb.h): Document this.
50784
50785 2008-10-22  Bruno Haible  <bruno@clisp.org>
50786
50787         * users.txt: Update entry about pspp.
50788
50789 2008-10-21  Bruno Haible  <bruno@clisp.org>
50790
50791         Simplification.
50792         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
50793         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
50794
50795         Simplification.
50796         * lib/ioctl.c (ioctl): Don't undefine.
50797         * lib/socket.c (socket): Don't undefine.
50798
50799         Remove unused module indicator macros.
50800         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
50801         GNULIB_$1 as a C macro.
50802
50803         * doc/posix-functions/close.texi: Undo last change.
50804         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
50805         Windows platforms.
50806
50807 2008-10-21  Bruno Haible  <bruno@clisp.org>
50808
50809         Add gethostname() declaration to <unistd.h>.
50810         * lib/unistd.in.h (gethostname): New declaration.
50811         * lib/gethostname.c: Include <unistd.h>.
50812         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
50813         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
50814         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
50815         and HAVE_GETHOSTNAME.
50816         * modules/gethostname (Depends-on): Add unistd.
50817         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50818         (Include): Specify <unistd.h>.
50819         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
50820         HAVE_GETHOSTNAME.
50821         * tests/test-gethostname.c: Include <unistd.h> first.
50822
50823 2008-10-21  Bruno Haible  <bruno@clisp.org>
50824
50825         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
50826         * modules/select-tests (Depends-on): Likewise.
50827         Reported by Simon Josefsson.
50828
50829 2008-10-21  Simon Josefsson  <simon@josefsson.org>
50830
50831         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
50832         * lib/accept.c: New file, based on winsock.c.
50833         * lib/bind.c: New file, based on winsock.c.
50834         * lib/connect.c: New file, based on winsock.c.
50835         * lib/getpeername.c: New file, based on winsock.c.
50836         * lib/getsockname.c: New file, based on winsock.c.
50837         * lib/getsockopt.c: New file, based on winsock.c.
50838         * lib/ioctl.c: New file, based on winsock.c.
50839         * lib/listen.c: New file, based on winsock.c.
50840         * lib/recv.c: New file, based on winsock.c.
50841         * lib/recvfrom.c: New file, based on winsock.c.
50842         * lib/send.c: New file, based on winsock.c.
50843         * lib/sendto.c: New file, based on winsock.c.
50844         * lib/setsockopt.c: New file, based on winsock.c.
50845         * lib/shutdown.c: New file, based on winsock.c.
50846         * lib/socket.c: New file, based on winsock.c.
50847         * lib/w32sock.h: New file, based on winsock.c.
50848         * lib/winsock.c: Remove file.
50849         * modules/accept: Likewise.
50850         * modules/bind: Likewise.
50851         * modules/connect: Likewise.
50852         * modules/getpeername: Likewise.
50853         * modules/getsockname: Likewise.
50854         * modules/getsockopt: Likewise.
50855         * modules/ioctl: Likewise.
50856         * modules/listen: Likewise.
50857         * modules/recv: Likewise.
50858         * modules/recvfrom: Likewise.
50859         * modules/send: Likewise.
50860         * modules/sendto: Likewise.
50861         * modules/setsockopt: Likewise.
50862         * modules/shutdown: Likewise.
50863         * modules/socket: Use socket.c instead of winsock.c.
50864         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
50865         * doc/posix-functions/accept.texi: Doc fix.
50866         * doc/posix-functions/bind.texi: Doc fix.
50867         * doc/posix-functions/close.texi: Doc fix.
50868         * doc/posix-functions/connect.texi: Doc fix.
50869         * doc/posix-functions/getpeername.texi: Doc fix.
50870         * doc/posix-functions/getsockname.texi: Doc fix.
50871         * doc/posix-functions/getsockopt.texi: Doc fix.
50872         * doc/posix-functions/ioctl.texi: Doc fix.
50873         * doc/posix-functions/listen.texi: Doc fix.
50874         * doc/posix-functions/recv.texi: Doc fix.
50875         * doc/posix-functions/recvfrom.texi: Doc fix.
50876         * doc/posix-functions/send.texi: Doc fix.
50877         * doc/posix-functions/sendto.texi: Doc fix.
50878         * doc/posix-functions/setsockopt.texi: Doc fix.
50879         * doc/posix-functions/shutdown.texi: Doc fix.
50880         * doc/posix-functions/socket.texi: Doc fix.
50881
50882 2008-10-20  Bruno Haible  <bruno@clisp.org>
50883
50884         Take into account the role of SIGABRT_COMPAT on Windows 2008.
50885         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
50886         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
50887         as an alias for SIGABRT.
50888         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
50889         (sigaction): Map it to SIGABRT.
50890         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
50891
50892 2008-10-20  Bruno Haible  <bruno@clisp.org>
50893
50894         * lib/fts.c: Don't include lstat.h.
50895         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
50896
50897         Move the lstat() declaration to <sys/stat.h>.
50898         * lib/lstat.h: Remove file.
50899         * lib/sys_stat.in.h: Add special invocation convention.
50900         (lstat): New declaration.
50901         * lib/lstat.c (orig_lstat): New function.
50902         (rpl_lstat): Use orig_lstat instead of lstat.
50903         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
50904         AC_C_INLINE. Set REPLACE_LSTAT.
50905         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
50906         and REPLACE_LSTAT.
50907         * modules/lstat (Files): Remove lib/lstat.h.
50908         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
50909         (Include): Specify <sys/stat.h> instead of lstat.h.
50910         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
50911         REPLACE_LSTAT.
50912         * NEWS: Mention the change.
50913
50914 2008-10-20  Bruno Haible  <bruno@clisp.org>
50915
50916         * modules/posix_spawn-tests: New file.
50917         * tests/test-posix_spawn3.c: New file.
50918
50919 2008-10-20  Bruno Haible  <bruno@clisp.org>
50920
50921         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
50922         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50923         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
50924         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50925         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
50926
50927 2008-10-20  Bruno Haible  <bruno@clisp.org>
50928
50929         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
50930         of posix_spawn on AIX 5.3.
50931
50932 2008-10-20  Bruno Haible  <bruno@clisp.org>
50933
50934         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
50935
50936 2008-10-20  Bruno Haible  <bruno@clisp.org>
50937
50938         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
50939         of AC_LANG_PROGRAM.
50940
50941 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50942
50943         * lib/netdb.in.h: Don't define GNU specific constants until they
50944         are supported or needed.  Reported by Bruno Haible
50945         <bruno@clisp.org>.
50946
50947 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50948
50949         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
50950
50951 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50952
50953         * lib/getaddrinfo.h: Remove file.
50954         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
50955         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
50956         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
50957         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
50958         * modules/netdb: Substitute GNULIB_GETADDRINFO.
50959         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
50960         * tests/test-getaddrinfo.c: Likewise.
50961         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
50962         * NEWS: Mention change.
50963
50964 2008-10-19  Bruno Haible  <bruno@clisp.org>
50965
50966         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
50967
50968 2008-10-19  Bruno Haible  <bruno@clisp.org>
50969
50970         * lib/wait-process.c: Include simply <sys/wait.h>.
50971         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
50972         WIFSTOPPED): Remove fallback definitions.
50973         * modules/wait-process (Depends-on): Add sys_wait.
50974
50975         New module 'sys_wait'.
50976         * modules/sys_wait: New file.
50977         * lib/sys_wait.in.h: New file, partially copied from
50978         lib/wait-process.c.
50979         * m4/sys_wait_h.m4: New file.
50980         * doc/posix-headers/sys_wait.texi: Mention the new module.
50981
50982 2008-10-19  Bruno Haible  <bruno@clisp.org>
50983
50984         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
50985
50986 2008-10-19  Bruno Haible  <bruno@clisp.org>
50987
50988         Assume that waitpid() fills an 'int' status, not a 'union wait'.
50989         * lib/wait-process.c (WAIT_T): Remove type.
50990         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
50991         (wait_subprocess): Update.
50992
50993 2008-10-19  Bruno Haible  <bruno@clisp.org>
50994
50995         New module 'atoll'.
50996         * modules/atoll: New file.
50997         * lib/stdlib.in.h (atoll): New declaration.
50998         * lib/atoll.c: New file, from glibc with modifications.
50999         * m4/atoll.m4: New file.
51000         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
51001         HAVE_ATOLL.
51002         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
51003         * doc/posix-functions/atoll.texi: Mention the new module.
51004
51005 2008-10-19  Bruno Haible  <bruno@clisp.org>
51006
51007         Add strtoull() declaration to <stdlib.h>.
51008         * lib/stdlib.in.h (strtoull): New declaration.
51009         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51010         Set HAVE_STRTOULL.
51011         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
51012         HAVE_STRTOULL.
51013         * modules/strtoull (Depends-on): Add stdlib.
51014         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51015         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
51016         HAVE_STRTOULL.
51017
51018 2008-10-19  Bruno Haible  <bruno@clisp.org>
51019
51020         Add strtoll() declaration to <stdlib.h>.
51021         * lib/stdlib.in.h (strtoll): New declaration.
51022         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51023         Set HAVE_STRTOLL.
51024         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
51025         HAVE_STRTOLL.
51026         * modules/strtoll (Depends-on): Add stdlib.
51027         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51028         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
51029
51030 2008-10-19  Bruno Haible  <bruno@clisp.org>
51031
51032         * modules/bcopy (Depends-on): Add strings.
51033         (Include): Specify <strings.h>.
51034
51035 2008-10-19  Bruno Haible  <bruno@clisp.org>
51036
51037         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
51038
51039 2008-10-19  Bruno Haible  <bruno@clisp.org>
51040
51041         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
51042         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
51043         mingw.
51044
51045 2008-10-19  Bruno Haible  <bruno@clisp.org>
51046
51047         * lib/atanl.c: Don't include isnanl.h.
51048         * lib/cosl.c: Likewise.
51049         * lib/ldexpl.c: Likewise.
51050         * lib/logl.c: Likewise.
51051         * lib/sinl.c: Likewise.
51052         * lib/sqrtl.c: Likewise.
51053         * lib/tanl.c: Likewise.
51054
51055         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
51056         * lib/isnanf.h: Remove file.
51057         * lib/isnand.h: Remove file.
51058         * lib/isnanl.h: Remove file.
51059         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
51060         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
51061         macros.
51062         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
51063         HAVE_ISNANF, don't define it as a C macro.
51064         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
51065         HAVE_ISNAND, don't define it as a C macro.
51066         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
51067         HAVE_ISNANL, don't define it as a C macro.
51068         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
51069         HAVE_ISNAN[FDL].
51070         * modules/isnanf (Files): Remove lib/isnanf.h.
51071         (Depends-on): Add math.
51072         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51073         (Include): Specify <math.h> instead of isnanf.h.
51074         * modules/isnand (Files): Remove lib/isnand.h.
51075         (Depends-on): Add math.
51076         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51077         (Include): Specify <math.h> instead of isnand.h.
51078         * modules/isnanl (Files): Remove lib/isnanl.h.
51079         (Depends-on): Add math.
51080         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51081         (Include): Specify <math.h> instead of isnanl.h.
51082         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
51083         HAVE_ISNAN[FDL].
51084         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
51085         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
51086         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
51087         * NEWS: Mention the change.
51088
51089 2008-10-18  Bruno Haible  <bruno@clisp.org>
51090
51091         Add getusershell(), setusershell(), endusershell() declarations to
51092         <unistd.h>.
51093         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
51094         declarations.
51095         * lib/getusershell.c: Include unistd.h.
51096         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
51097         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51098         HAVE_GETUSERSHELL.
51099         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
51100         and HAVE_GETUSERSHELL.
51101         * modules/getusershell (Depends-on): Add unistd, extensions.
51102         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51103         (Include): Specify <unistd.h>.
51104         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
51105         HAVE_GETUSERSHELL.
51106
51107 2008-10-18  Bruno Haible  <bruno@clisp.org>
51108
51109         Add a getloadavg() declaration to <stdlib.h>.
51110         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
51111         getloadavg declaration.
51112         (getloadavg): New declaration.
51113         * lib/getloadavg.c: Include <stdlib.h> first.
51114         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
51115         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
51116         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
51117         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
51118         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51119         * modules/getloadavg (Depends-on): Add stdlib, extensions.
51120         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51121         (Include): Specify <stdlib.h>.
51122         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
51123         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51124
51125 2008-10-18  Bruno Haible  <bruno@clisp.org>
51126
51127         * lib/dirchownmod.c: Don't include lchmod.h.
51128
51129         Move the lchmod() declaration to <sys/stat.h>.
51130         * lib/lchmod.h: Remove file.
51131         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
51132         (lchmod): New declaration, moved here from lib/lchown.h.
51133         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
51134         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
51135         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
51136         and HAVE_LCHMOD.
51137         * modules/lchmod (Files): Remove lib/lchmod.h.
51138         (Depends-on): Add sys_stat, extensions.
51139         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51140         (Include): Specify <sys/stat.h> instead of lchmod.h.
51141         * modules/sys_stat (Depends-on): Add link-warning.
51142         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
51143         definition of GL_LINK_WARNING.
51144         * NEWS: Mention the change.
51145
51146 2008-10-18  Bruno Haible  <bruno@clisp.org>
51147
51148         * lib/fchdir.c: Don't include dirfd.h.
51149         * lib/fts.c: Likewise.
51150         * lib/getcwd.c: Likewise.
51151         * lib/glob.c: Likewise.
51152
51153         Move the dirfd() declaration to <dirent.h>.
51154         * lib/dirfd.h: Remove file.
51155         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
51156         (dirfd): New declaration.
51157         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
51158         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
51159         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
51160         HAVE_DECL_DIRFD.
51161         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
51162         HAVE_DECL_DIRFD.
51163         * modules/dirfd (Files): Remove lib/dirfd.h.
51164         (Depends-on): Add dirent, extensions.
51165         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
51166         (Include): Specify <dirent.h> instead of dirfd.h.
51167         * modules/dirent (Depends-on): Add link-warning.
51168         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
51169         definition of GL_LINK_WARNING.
51170         * NEWS: Mention the change.
51171
51172 2008-10-18  Bruno Haible  <bruno@clisp.org>
51173
51174         Move the euidaccess() declaration to <unistd.h>.
51175         * lib/euidaccess.h: Remove file.
51176         * lib/unistd.in.h (euidaccess): New declaration.
51177         * lib/euidaccess.c: Don't include euidaccess.h.
51178         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
51179         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
51180         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
51181         and HAVE_EUIDACCESS.
51182         * modules/euidaccess (Files): Remove lib/euidaccess.h.
51183         (Depends-on): Add unistd.
51184         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51185         (Include): Specify <unistd.h> instead of euidaccess.h.
51186         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
51187         HAVE_EUIDACCESS.
51188         * NEWS: Mention the change.
51189
51190 2008-10-18  Bruno Haible  <bruno@clisp.org>
51191
51192         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
51193
51194         Move the getdomainname() declaration to <unistd.h>.
51195         * lib/getdomainname.h: Remove file.
51196         * lib/unistd.in.h (getdomainname): New declaration.
51197         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
51198         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
51199         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51200         HAVE_GETDOMAINNAME.
51201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51202         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
51203         * modules/getdomainname (Files): Remove lib/getdomainname.h.
51204         (Depends-on): Add unistd, extensions.
51205         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51206         (Includes): Specify <unistd.h> instead of getdomainname.h.
51207         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
51208         HAVE_GETDOMAINNAME.
51209         * NEWS: Mention the change.
51210
51211 2008-10-18  Bruno Haible  <bruno@clisp.org>
51212
51213         * modules/dirent: New file.
51214         * m4/dirent_h.m4: New file.
51215         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
51216         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
51217         * modules/fchdir (Files): Remove lib/dirent.in.h.
51218         (Depends-on): Add dirent.
51219         (Makefile.am): Move rules to modules/dirent.
51220         * doc/posix-headers/dirent.texi: Mention the new module.
51221
51222 2008-10-18  Bruno Haible  <bruno@clisp.org>
51223
51224         Avoid -Wunused-parameter warnings in public gnulib header files.
51225         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
51226         macro.
51227         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
51228
51229 2008-10-18  Bruno Haible  <bruno@clisp.org>
51230
51231         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
51232         * doc/glibc-functions/error.texi: Mention the module 'error'.
51233         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
51234         * doc/glibc-functions/getdomainname.texi: Mention the module
51235         'getdomainname'.
51236         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
51237         * doc/glibc-functions/getpagesize.texi: Mention the module
51238         'getpagesize'.
51239         * doc/glibc-functions/getusershell.texi: Mention the module
51240         'getusershell'.
51241         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
51242         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
51243         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
51244         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
51245         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
51246         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
51247         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
51248         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
51249         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
51250         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
51251         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
51252         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
51253         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
51254         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
51255
51256 2008-10-17  Bruno Haible  <bruno@clisp.org>
51257
51258         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
51259         HP-UX and IRIX, use -0.0L.
51260         * tests/test-ceill.c (minus_zero): Likewise.
51261         * tests/test-floorl.c (minus_zero): Likewise.
51262         * tests/test-frexpl.c (minus_zero): Likewise.
51263         * tests/test-isnan.c (minus_zerol): Likewise.
51264         * tests/test-isnanl.h (minus_zero): Likewise.
51265         * tests/test-ldexpl.c (minus_zero): Likewise.
51266         * tests/test-roundl.c (minus_zero): Likewise.
51267         * tests/test-signbit.c (minus_zerol): Likewise.
51268         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
51269         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
51270         * tests/test-truncl.c (minus_zero): Likewise.
51271         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
51272         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
51273         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
51274         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
51275
51276 2008-10-17  Bruno Haible  <bruno@clisp.org>
51277
51278         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
51279         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
51280         that it gets activated only for gcc >= 3.0.
51281         * lib/dirent.in.h: Likewise.
51282         * lib/errno.in.h: Likewise.
51283         * lib/fcntl.in.h: Likewise.
51284         * lib/float.in.h: Likewise.
51285         * lib/iconv.in.h: Likewise.
51286         * lib/inttypes.in.h: Likewise.
51287         * lib/locale.in.h: Likewise.
51288         * lib/math.in.h: Likewise.
51289         * lib/netdb.in.h: Likewise.
51290         * lib/netinet_in.in.h: Likewise.
51291         * lib/search.in.h: Likewise.
51292         * lib/signal.in.h: Likewise.
51293         * lib/spawn.in.h: Likewise.
51294         * lib/stdarg.in.h: Likewise.
51295         * lib/stdint.in.h: Likewise.
51296         * lib/stdio.in.h: Likewise.
51297         * lib/stdlib.in.h: Likewise.
51298         * lib/string.in.h: Likewise.
51299         * lib/strings.in.h: Likewise.
51300         * lib/sys_file.in.h: Likewise.
51301         * lib/sys_ioctl.in.h: Likewise.
51302         * lib/sys_select.in.h: Likewise.
51303         * lib/sys_socket.in.h: Likewise.
51304         * lib/sys_stat.in.h: Likewise.
51305         * lib/sys_time.in.h: Likewise.
51306         * lib/sysexits.in.h: Likewise.
51307         * lib/time.in.h: Likewise.
51308         * lib/unistd.in.h: Likewise.
51309         * lib/wchar.in.h: Likewise.
51310         * lib/wctype.in.h: Likewise.
51311         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51312
51313 2008-10-17  Jim Meyering  <meyering@redhat.com>
51314
51315         ignore-value: don't depend on inline module
51316         * modules/ignore-value (Depends-on): Remove 'inline'.
51317         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
51318         Suggestion from Bruno Haible.
51319
51320 2008-10-17  Bruno Haible  <bruno@clisp.org>
51321
51322         New implementation of condition variables for Win32.
51323         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
51324         (gl_linked_waitqueue_t): New type.
51325         (gl_cond_t): Use it.
51326         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
51327         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
51328         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
51329         (glthread_cond_init_func, glthread_cond_wait_func,
51330         glthread_cond_timedwait_func, glthread_cond_signal_func,
51331         glthread_cond_broadcast_func, glthread_cond_destroy_func):
51332         Reimplemented on the basis of gl_linked_waitqueue_t.
51333         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
51334         gl_waitqueue_t.
51335         (gl_rwlock_t): Update.
51336         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
51337
51338 2008-10-17  Simon Josefsson  <simon@josefsson.org>
51339
51340         * modules/recvfrom (Depends-on): Add dependency on getpeername.
51341         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51342
51343 2008-10-17  Jim Meyering  <meyering@redhat.com>
51344
51345         ignore-value: new module
51346         * modules/ignore-value: New file.
51347         * lib/ignore-value.h: New file.
51348         * MODULES.html.sh (Compiler warning management): New section,
51349         just for this module.  More to come.
51350
51351 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51352
51353         open-safer.c: avoid 'signed and unsigned in conditional...' warning
51354         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
51355         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
51356
51357 2008-10-16  Jim Meyering  <meyering@redhat.com>
51358
51359         openat-die.c: avoid 'no previous prototype' warning
51360         * lib/openat-die.c: Include "openat.h".
51361         Reported by Reuben Thomas <rrt@sc3d.org>.
51362
51363 2008-10-16  Simon Josefsson  <simon@josefsson.org>
51364
51365         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
51366         * lib/netdb.in.h: Fix typo.
51367         Reported by Bruno Haible  <bruno@clisp.org>
51368
51369         * lib/netdb.in.h: Include sys/socket.h for platforms without
51370         netdb.h, to get structures like hostent on MinGW.
51371         * modules/netdb (Depends-on): Add sys_socket.
51372
51373 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51374
51375         * modules/netdb, modules/netdb-tests: New file.
51376         * m4/netdb_h.m4: New file.
51377         * lib/netdb.in.h: Add, currently just an empty file pending
51378         definitions.
51379         * tests/test-netdb.c: New file.
51380         * doc/posix-headers/netdb.texi: Mention that we replace it if
51381         needed.
51382         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51383         netdb.
51384
51385 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51386
51387         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
51388         with code.
51389
51390 2008-10-13  Bruno Haible  <bruno@clisp.org>
51391
51392         * lib/glthread/cond.c (glthread_cond_wait_func,
51393         glthread_cond_timedwait_func): Add a comment.
51394
51395 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51396
51397         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
51398         * tests/test-select.c: Likewise,
51399
51400 2008-10-13  Bruno Haible  <bruno@clisp.org>
51401
51402         * lib/glthread/cond.c (glthread_cond_wait_func,
51403         glthread_cond_timedwait_func): Fix variable name.
51404         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51405
51406 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
51407
51408         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
51409         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
51410         struct sockaddr.sa_len.
51411         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
51412
51413 2008-10-13  Simon Josefsson  <simon@josefsson.org>
51414
51415         * build-aux/pmccabe2html: Add css and css_url parameters.
51416
51417 2008-10-12  Bruno Haible  <bruno@clisp.org>
51418
51419         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
51420         calling aclx_get.
51421         Reported by Rainer Tammer <tammer@tammer.net>.
51422
51423 2008-10-12  Bruno Haible  <bruno@clisp.org>
51424
51425         Use msvcrt aware primitives for creation/termination of Win32 threads.
51426         * lib/glthread/thread.c: Include <process.h>.
51427         (glthread_create_func): Use _beginthreadex instead of CreateThread.
51428         (wrapper_func): Update signature.
51429         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
51430
51431 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51432             Bruno Haible  <bruno@clisp.org>
51433
51434         Provide a Win32 implementation of the 'cond' module.
51435         * lib/glthread/cond.h [USE_WIN32]: New implementation.
51436         * lib/glthread/cond.c (glthread_cond_init_func,
51437         glthread_cond_wait_func, glthread_cond_timedwait_func,
51438         glthread_cond_signal_func, glthread_cond_broadcast_func,
51439         glthread_cond_destroy_func) [USE_WIN32]: New functions.
51440         * modules/cond (Dependencies): Add gettimeofday.
51441
51442 2008-10-11  Bruno Haible  <bruno@clisp.org>
51443
51444         Make sleep work on older versions of mingw.
51445         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
51446         only whether it exists.
51447         * doc/posix-functions/sleep.texi: Mention the problem with older
51448         versions of mingw.
51449
51450 2008-10-11  Bruno Haible  <bruno@clisp.org>
51451
51452         New module 'shutdown'.
51453         * modules/shutdown: New file.
51454         * lib/sys_socket.in.h (shutdown): New declaration.
51455         * lib/winsock.c (shutdown): New function.
51456         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
51457         GNULIB_SHUTDOWN.
51458         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
51459         * doc/posix-functions/shutdown.texi: Document the new module.
51460
51461 2008-10-11  Jim Meyering  <meyering@redhat.com>
51462
51463         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
51464
51465 2008-10-11  Bruno Haible  <bruno@clisp.org>
51466
51467         New module 'fclose'.
51468         * modules/fclose: New file.
51469         * lib/stdio.in.h (fclose): New declaration.
51470         * lib/fclose.c: New file.
51471         * m4/fclose.m4: New file.
51472         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
51473         REPLACE_FCLOSE.
51474         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
51475         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
51476         REPLACE_FCLOSE.
51477         * modules/close (Depends-on): fclose.
51478         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
51479
51480 2008-10-11  Bruno Haible  <bruno@clisp.org>
51481
51482         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
51483         set errno and don't call _close.
51484
51485 2008-10-10  Bruno Haible  <bruno@clisp.org>
51486
51487         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
51488         ACL, not afterwards. Fixes test failure on Cygwin.
51489
51490 2008-10-09  Ben Pfaff  <blp@gnu.org>
51491
51492         * build-aux/announce-gen: Fix gnulib version related part of usage
51493         message.  Die with a useful error message if no tarballs are
51494         found.
51495
51496 2008-10-10  Jim Meyering  <meyering@redhat.com>
51497
51498         bootstrap: use git's --depth=N option only if it's supported
51499         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
51500         recognize the --depth option.  Reported by Pádraig Brady.
51501
51502 2008-10-09  Bruno Haible  <bruno@clisp.org>
51503
51504         New module 'ioctl'.
51505         * modules/ioctl: New file.
51506         * lib/sys_socket.in.h (ioctl): Remove declaration.
51507         * lib/winsock.c: Include <sys/ioctl.h>.
51508         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
51509         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
51510         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
51511         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
51512         * doc/posix-functions/ioctl.texi: Mention the new module.
51513
51514 2008-10-09  Bruno Haible  <bruno@clisp.org>
51515
51516         New module 'sys_ioctl'.
51517         * lib/sys_ioctl.in.h: New file.
51518         * m4/sys_ioctl_h.m4: New file.
51519         * modules/sys_ioctl: New file.
51520         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
51521
51522 2008-10-09  Bruno Haible  <bruno@clisp.org>
51523
51524         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
51525         * lib/winsock.c: Include <stdarg.h>.
51526         (rpl_ioctl): Change to second argument 'int' and then varargs.
51527
51528 2008-10-09  Bruno Haible  <bruno@clisp.org>
51529
51530         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
51531         when the sys_socket module is present and the system has <winsock2.h>.
51532
51533 2008-10-09  Bruno Haible  <bruno@clisp.org>
51534
51535         * doc/posix-functions/close.texi: Mention module 'close' instead of
51536         module 'sys_socket'.
51537
51538 2008-10-09  Bruno Haible  <bruno@clisp.org>
51539
51540         * doc/glibc-headers/sys_ioctl.texi: New file.
51541         * doc/gnulib.texi: Include it.
51542
51543 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51544             Bruno Haible  <bruno@clisp.org>
51545
51546         Combine the two replacements of 'close'.
51547         * lib/sys_socket.in.h (close): Define to a reminder to include
51548         <unistd.h>.
51549         (_gl_close_fd_maybe_socket): New declaration.
51550         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
51551         * lib/winsock.c (close): Remove undefinition.
51552         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
51553         needed for the gnulib module 'close'.
51554         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
51555         define to an error symbol or to a warning, if suitable.
51556         * lib/close.c: Include <sys/socket.h>.
51557         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
51558         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
51559         UNISTD_H_HAVE_WINSOCK2_H.
51560         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
51561         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51562         UNISTD_H_HAVE_WINSOCK2_H.
51563         * modules/sys_socket (Files): Add m4/unistd_h.m4.
51564         (configure.ac): Set a module indicator.
51565         (Makefile.am): Substitute GNULIB_CLOSE.
51566         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
51567         * modules/poll-tests (Depends-on): Add close.
51568         * modules/select-tests (Depends-on): Likewise.
51569
51570 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51571             Bruno Haible  <bruno@clisp.org>
51572
51573         New module 'close'.
51574         * modules/close: New file.
51575         * lib/unistd.in.h (close): Move declaration out of the
51576         FCHDIR_REPLACEMENT scope.
51577         (_gl_unregister_fd): New declaration.
51578         * lib/close.c: New file.
51579         * lib/fchdir.c (rpl_close): Remove function.
51580         * m4/close.m4: New file.
51581         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
51582         close.
51583         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
51584         REPLACE_CLOSE.
51585         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
51586         REPLACE_CLOSE.
51587         * modules/fchdir (Depends-on): Add close.
51588
51589 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51590             Bruno Haible  <bruno@clisp.org>
51591
51592         * lib/fcntl.in.h (open): Simplify conditionals.
51593         (_gl_register_fd): New declaration.
51594         * lib/fchdir.c (rpl_open): Remove function.
51595         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
51596         also.
51597         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
51598         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
51599         open.
51600
51601 2008-10-09  Jim Meyering  <meyering@redhat.com>
51602
51603         GNUmakefile: use the more name-space-friendly "_version"
51604         * top/GNUmakefile (_dummy): Update.
51605         (_version): Rename from "version".
51606
51607 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51608             Bruno Haible  <bruno@clisp.org>
51609
51610         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
51611         rpl_close.
51612         (_gl_register_fd): New function, extracted from rpl_open.
51613         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
51614         (rpl_open, rpl_opendir): Use _gl_register_fd.
51615
51616 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51617
51618         Fix organization of 'open' replacement.
51619         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
51620         (gl_FUNC_OPEN): Use it.
51621         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
51622
51623 2008-10-08  Bruno Haible  <bruno@clisp.org>
51624
51625         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
51626
51627 2008-10-08  Simon Josefsson  <simon@josefsson.org>
51628
51629         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
51630         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
51631         listen).
51632
51633 2008-10-08  Eric Blake  <ebb9@byu.net>
51634
51635         GNUmakefile: add 'make version' target
51636         * top/GNUmakefile (_curr-ver): Split version update rules...
51637         (version): ...into a target.
51638
51639 2008-10-07  Bruno Haible  <bruno@clisp.org>
51640
51641         Use a more portable replacement expression for -0.0L.
51642         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
51643         instead of -0.0L. Fix m4 quotation.
51644
51645         * tests/test-signbit.c: Include <float.h>.
51646         (minus_zero): New variable.
51647         (test_signbitl): Use minus_zero instead of -zero.
51648         * modules/signbit-tests (Depends-on): Add float.
51649
51650         * tests/test-ceill.c: Include <float.h>.
51651         (zero): Remove variable.
51652         (minus_zero): New variable.
51653         (main): Use minus_zero instead of -zero.
51654         * modules/ceill-tests (Depends-on): Add float.
51655
51656         * tests/test-floorl.c: Include <float.h>.
51657         (zero): Remove variable.
51658         (minus_zero): New variable.
51659         (main): Use minus_zero instead of -zero.
51660         * modules/floorl-tests (Depends-on): Add float.
51661
51662         * tests/test-roundl.c: Include <float.h>.
51663         (zero): Remove variable.
51664         (minus_zero): New variable.
51665         (main): Use minus_zero instead of -zero.
51666         * modules/roundl-tests (Depends-on): Add float.
51667
51668         * tests/test-truncl.c: Include <float.h>.
51669         (zero): Remove variable.
51670         (minus_zero): New variable.
51671         (main): Use minus_zero instead of -zero.
51672         * modules/truncl-tests (Depends-on): Add float.
51673
51674         * tests/test-frexpl.c (zero): Remove variable.
51675         (minus_zero): New variable.
51676         (main): Use minus_zero instead of -zero.
51677         * modules/frexpl-tests (Depends-on): Add float.
51678
51679         * tests/test-isnan.c (zerol): Remove variable.
51680         (minus_zerol): New variable.
51681         (test_long_double): Use minus_zerol instead of -zerol.
51682         * modules/isnan-tests (Depends-on): Add float.
51683
51684         * tests/test-isnanl.h (zero): Remove variable.
51685         (minus_zero): New variable.
51686         (main): Use minus_zero instead of -zero.
51687         * modules/isnanl-nolibm-tests (Depends-on): Add float.
51688         * modules/isnanl-tests (Depends-on): Add float.
51689
51690         * tests/test-ldexpl.c (zero): Remove variable.
51691         (minus_zero): New variable.
51692         (main): Use minus_zero instead of -zero.
51693         * modules/ldexpl-tests (Depends-on): Add float.
51694
51695         * tests/test-snprintf-posix.h (zerol): Remove variable.
51696         (minus_zerol): New variable.
51697         (test_function): Use minus_zerol instead of -zerol.
51698         * modules/snprintf-posix-tests (Depends-on): Add float.
51699         * modules/vsnprintf-posix-tests (Depends-on): Add float.
51700
51701         * tests/test-sprintf-posix.h (zerol): Remove variable.
51702         (minus_zerol): New variable.
51703         (test_function): Use minus_zerol instead of -zerol.
51704         * modules/sprintf-posix-tests (Depends-on): Add float.
51705         * modules/vsprintf-posix-tests (Depends-on): Add float.
51706
51707         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
51708         (minus_zerol): New variable.
51709         (test_function): Use minus_zerol instead of -zerol.
51710         * modules/vasnprintf-posix-tests (Depends-on): Add float.
51711
51712         * tests/test-vasprintf-posix.c (zerol): Remove variable.
51713         (minus_zerol): New variable.
51714         (test_function): Use minus_zerol instead of -zerol.
51715         * modules/vasprintf-posix-tests (Depends-on): Add float.
51716
51717 2008-10-07  Simon Josefsson  <simon@josefsson.org>
51718
51719         * MODULES.html.sh (Support for building documentation): Mention
51720         pmccabe2html.  Sort entries.
51721
51722         Add pmccabe2html module, from gnupdf.
51723         * build-aux/pmccabe.css: New file.
51724         * build-aux/pmccabe2html: New file.
51725         * m4/pmccabe2html.m4: New file.
51726         * modules/pmccabe2html: New file.
51727
51728 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
51729
51730         flock: new module
51731         * MODULES.html.sh: Add to list of modules.
51732         * lib/flock.c: flock implementation for Windows and Unix systems
51733         which have fcntl.
51734         * doc/glibc-functions/flock.texi: Update documentation.
51735         * lib/sys_file.in.h: <sys/file.h> header file.
51736         * m4/flock.m4: M4 macros.
51737         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
51738         * modules/flock: flock module.
51739         * modules/flock-tests: flock tests module.
51740         * modules/sys_file: sys/file.h module.
51741         * tests/test-flock.c: test suite for flock.
51742
51743 2008-10-06  Jim Meyering  <meyering@redhat.com>
51744
51745         bootstrap: check for LT_INIT more portably still ;-)
51746         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
51747         Spotted by Bruno Haible.
51748
51749 2008-10-06  Eric Blake  <ebb9@byu.net>
51750
51751         test-signbit: avoid tripping Irix cc bug on -0.0L
51752         * tests/test-signbit.c (minus_zerol): Delete, and replace with
51753         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
51754         entire testsuite consistent and avoids an Irix 6.2 bug.
51755
51756 2008-10-05  Bruno Haible  <bruno@clisp.org>
51757             Jim Meyering  <jim@meyering.net>
51758
51759         Add an option for ignoring EPIPE during close_stdout.
51760         * lib/closeout.h: Include <stdbool.h>.
51761         (close_stdout_set_ignore_EPIPE): New declaration.
51762         * lib/closeout.c: Include <stdbool.h>.
51763         (ignore_EPIPE): New variable.
51764         (close_stdout_set_ignore_EPIPE): New function.
51765         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
51766         * lib/close-stream.c (close_stream): Mention the possible EPIPE
51767         failure.
51768         * modules/closeout (Depends-on): Add stdbool.
51769
51770 2008-10-05  Bruno Haible  <bruno@clisp.org>
51771
51772         * modules/accept: New file.
51773         * modules/bind: New file.
51774         * modules/connect: New file.
51775         * modules/getpeername: New file.
51776         * modules/getsockname: New file.
51777         * modules/getsockopt: New file.
51778         * modules/listen: New file.
51779         * modules/recv: New file.
51780         * modules/recvfrom: New file.
51781         * modules/send: New file.
51782         * modules/sendto: New file.
51783         * modules/setsockopt: New file.
51784         * modules/socket: New file.
51785         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
51786         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
51787         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
51788         the particular module is requested. Add a link warning when the
51789         particular module is not requested.
51790         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
51791         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
51792         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
51793         the particular module is requested.
51794         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
51795         gl_SYS_SOCKET_H_DEFAULTS): New macros.
51796         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
51797         * modules/sys_socket (Depends-on): Add link-warning.
51798         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
51799         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
51800         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
51801         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
51802         GL_LINK_WARNING.
51803         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
51804         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
51805         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
51806         * doc/posix-functions/getpeername.texi: Mention the new module
51807         'getpeername'.
51808         * doc/posix-functions/getsockname.texi: Mention the new module
51809         'getsockname'.
51810         * doc/posix-functions/getsockopt.texi: Mention the new module
51811         'getsockopt'.
51812         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
51813         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
51814         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
51815         * doc/posix-functions/send.texi: Mention the new module 'send'.
51816         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
51817         * doc/posix-functions/setsockopt.texi: Mention the new module
51818         'setsockopt'.
51819         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
51820         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
51821         listen, connect, accept.
51822         * modules/select-tests (Depends-on): Likewise.
51823
51824 2008-10-05  Bruno Haible  <bruno@clisp.org>
51825
51826         * lib/winsock.c (strerror): Remove unused #undef.
51827         (rpl_close): Remove unused local variable.
51828
51829         * modules/sys_socket (Depends-on); Add errno.
51830
51831 2008-10-05  Bruno Haible  <bruno@clisp.org>
51832
51833         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
51834         (select): Add a link warning when the 'select' module is not used.
51835         * modules/sys_select (Depends-on): Add link-warning.
51836         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
51837         Suggested by Paolo Bonzini.
51838
51839 2008-10-05  Jim Meyering  <meyering@redhat.com>
51840
51841         bootstrap: check for LT_INIT more portably
51842         * build-aux/bootstrap: Avoid using grep -E, since it's not
51843         portable enough.  Suggestion from Bruno Haible.
51844
51845 2008-10-05  Bruno Haible  <bruno@clisp.org>
51846
51847         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
51848         as being fixed by gnulib.
51849
51850 2008-10-05  Bruno Haible  <bruno@clisp.org>
51851
51852         * modules/select-tests: New file, mostly copied from
51853         modules/sys_select-tests.
51854         * tests/test-select.c: New file, mostly copied from
51855         tests/test-sys_select.c.
51856         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
51857         * modules/sys_select-tests (Depends-on): Remove all dependencies.
51858         (Makefile.am): Remove test_sys_select_LDADD.
51859
51860         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
51861         to an undefined symbol, for an error message.
51862         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
51863         (gl_SYS_SELECT_H_DEFAULTS): New macro.
51864         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
51865         winsock-select.c here.
51866         * modules/sys_select (Files): Remove lib/winsock-select.c.
51867         (Depends-on): Remove alloca.
51868         (Makefile.am): Substitute GNULIB_SELECT.
51869         * modules/select: New file.
51870         * doc/posix-functions/select.texi: Update.
51871
51872 2008-10-05  Bruno Haible  <bruno@clisp.org>
51873
51874         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
51875         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
51876         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
51877         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
51878         getdtablesize.
51879         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
51880         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
51881
51882 2008-10-05  Bruno Haible  <bruno@clisp.org>
51883
51884         * modules/getdtablesize-tests: New file.
51885         * tests/test-getdtablesize.c: New file.
51886
51887         New module 'getdtablesize'.
51888         * lib/unistd.in.h (getdtablesize): New declaration.
51889         * lib/getdtablesize.c: New file.
51890         * m4/getdtablesize.m4: New file.
51891         * modules/getdtablesize: New file.
51892         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51893         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
51894         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
51895         HAVE_GETDTABLESIZE.
51896         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
51897
51898 2008-10-05  Bruno Haible  <bruno@clisp.org>
51899
51900         * modules/sched (Makefile.am): Fix typo.
51901         Reported by Simon Josefsson.
51902
51903 2008-10-05  Jim Meyering  <meyering@redhat.com>
51904
51905         bootstrap: check for LT_INIT, too
51906         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
51907         are deprecated.  Suggestion from Ralf Wildenhues.
51908
51909 2008-10-05  Bruno Haible  <bruno@clisp.org>
51910
51911         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
51912         overriding them by ours.
51913         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
51914
51915 2008-10-05  Jim Meyering  <meyering@redhat.com>
51916
51917         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
51918         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
51919         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
51920
51921 2008-10-04  Bruno Haible  <bruno@clisp.org>
51922
51923         * modules/dup2 (License): Change to LGPLv2+.
51924         * modules/sleep (License): Likewise.
51925         * modules/perror (License): Likewise.
51926         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
51927         Blake.
51928         * modules/signal (License): Likewise.
51929         * modules/sigprocmask (License): Likewise.
51930         * modules/raise (License): Change to LGPLv2+, with approval by Jim
51931         Meyering.
51932
51933 2008-10-04  Bruno Haible  <bruno@clisp.org>
51934
51935         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
51936         Reported by Rainer Tammer <tammer@tammer.net>.
51937
51938 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
51939             Bruno Haible  <bruno@clisp.org>
51940
51941         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
51942         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
51943         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
51944
51945 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
51946
51947         filevercmp: new module
51948         * lib/filevercmp.h: New function filevercmp comparing version strings.
51949         * lib/filevercmp.c: Implementation of filevercmp function.
51950         * modules/filevercmp: Module metadata.
51951         * tests/test-filevercmp.c: Unit test for new module.
51952         * modules/filevercmp-tests: Unit test metadata.
51953         * MODULES.html.sh: Add filevercmp module.
51954
51955 2008-10-03  Bruno Haible  <bruno@clisp.org>
51956
51957         * lib/c-ctype.h: Add comment.
51958         Reported by Jim Meyering.
51959
51960 2008-10-02  Bruno Haible  <bruno@clisp.org>
51961
51962         * modules/posix_spawn-internal (Depends-on): Add 'open'.
51963
51964 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51965
51966         * build-aux/bootstrap: Allow renaming bootstrap, and change the
51967         name of bootstrap.conf accordingly.
51968
51969 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51970
51971         * build-aux/bootstrap: Install git-merge-changelog configuration
51972         items into .gitconfig if needed.
51973
51974 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51975
51976         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
51977         git repository, and initialize/update it accordingly.
51978
51979 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
51980
51981         * modules/fsync-tests: New file.
51982         * tests/test-fsync.c: New file.
51983
51984         New module 'fsync'.
51985         * lib/fsync.c: New file.
51986         * m4/fsync.m4: New file.
51987         * modules/fsync: New file.
51988         * lib/unistd.in.h (fsync): New declaration.
51989         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
51990         GNULIB_FSYNC and HAVE_FSYNC.
51991         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
51992         * MODULES.html.sh (posix_functions): Add fsync.
51993         * doc/posix-functions/fsync.texi: Mention the new module.
51994
51995 2008-10-02  Jim Meyering  <meyering@redhat.com>
51996
51997         fts.c: sync with similar code from coreutils' remove.c
51998         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
51999         Guard also with "#if defined __linux__", since for now at least,
52000         this code is Linux-kernel-specific.
52001
52002 2008-10-02  Jim Meyering  <meyering@redhat.com>
52003
52004         fts: bug fixes
52005         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
52006         Include <sys/vfs.h>, not <sys/statfs.h>.
52007
52008         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
52009         Include <sys/vfs.h>, not <sys/statfs.h>.
52010
52011 2008-10-01  Bruno Haible  <bruno@clisp.org>
52012
52013         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
52014         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
52015         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
52016         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
52017         * doc/posix-functions/posix_spawnp.texi: Likewise.
52018         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
52019         whether posix_spawn actually works.
52020         * m4/pipe.m4 (gl_PIPE): Likewise.
52021         * modules/execute (Files): Add m4/posix_spawn.m4.
52022         * modules/pipe (Files): Add m4/posix_spawn.m4.
52023         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
52024
52025 2008-10-01  Jim Meyering  <meyering@redhat.com>
52026
52027         remove trailing spaces
52028         * NEWS: Likewise.
52029         * lib/poll.c (poll): Likewise.
52030         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
52031         * lib/winsock.c (rpl_close): Likewise.
52032         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
52033         * modules/yield: Likewise.
52034         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
52035         * tests/test-sys_select.c (connect_to_socket): Likewise.
52036
52037         fts.c: adjust a new interface to be more generally useful
52038         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
52039         (fts_build): Adjust caller.
52040
52041 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52042
52043         * modules/cond-tests: New file.
52044         * tests/test-cond.c: New file.
52045
52046 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52047             Bruno Haible  <bruno@clisp.org>
52048
52049         * modules/cond (Dependencies): Add errno, time.
52050         * lib/glthread/cond.h: Include <time.h>.
52051         (gl_cond_define, gl_cond_define_initialized): Use the same definition
52052         across platforms.
52053
52054 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52055             Bruno Haible  <bruno@clisp.org>
52056
52057         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
52058
52059 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52060             Bruno Haible  <bruno@clisp.org>
52061
52062         * modules/tls-tests (Depends-on): Add thread, yield.
52063         (configure.ac): Remove all checks.
52064         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
52065         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52066         gl_thread_self): Remove definitions. Include glthread/thread.h and
52067         glthread/yield.h instead.
52068         (test_tls): Pass an additional NULL argument to gl_thread_join.
52069
52070 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52071             Bruno Haible  <bruno@clisp.org>
52072
52073         * modules/lock-tests (Depends-on): Add thread, yield.
52074         (configure.ac): Remove all checks.
52075         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
52076         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52077         gl_thread_self): Remove definitions. Include glthread/thread.h and
52078         glthread/yield.h instead.
52079         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
52080         additional NULL argument to gl_thread_join.
52081
52082 2008-09-30  Bruno Haible  <bruno@clisp.org>
52083
52084         Fix the Win32 implementation of the 'thread' module.
52085         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
52086         pointer type.
52087         (gl_thread_self): Invoke gl_thread_self_func.
52088         (gl_thread_self_func): New declaration.
52089         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
52090         (do_init_self_key, init_self_key): New functions.
52091         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
52092         Remove some fields.
52093         (running_threads, running_lock): Remove variables.
52094         (get_current_thread_handle): New function.
52095         (gl_thread_self_func, wrapper_func, glthread_create_func,
52096         glthread_join_func, gl_thread_exit_func): Largely rewritten and
52097         simplified.
52098
52099 2008-09-30  Bruno Haible  <bruno@clisp.org>
52100
52101         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
52102         files.
52103
52104 2008-09-30  Jim Meyering  <meyering@redhat.com>
52105
52106         fts.m4: correct the test for statfs.f_type
52107         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
52108         when checking for statfs.f_type.
52109
52110 2008-09-15  Simon Josefsson  <simon@josefsson.org>
52111
52112         tests: avoid some compiler warnings
52113         * tests/test-memchr.c (main): Pass NULL indirectly.
52114         * tests/test-getdate.c (main): Remove unused variable 'ret'.
52115
52116 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
52117
52118         getdate.y: disallow countable dayshifts like "4 yesterday ago"
52119         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
52120         exactly specified dayshifts.
52121         (dayshift): New rule.
52122         (rel): Add dayshift.
52123         (relative_time_table) [tomorrow, yesterday, today, now]:
52124         Use tDAY_SHIFT in place of tDAY_UNIT.
52125         * tests/test-getdate.c: Add tests for now-disallowed countable
52126         dayshifts, e.g., "4 yesterday ago".
52127
52128 2008-09-29  Bruno Haible  <bruno@clisp.org>
52129
52130         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
52131         * tests/test-posix_spawn1.in.sh: Renamed from
52132         tests/test-posix_spawn.in.sh.
52133         * tests/test-posix_spawn2.c: New file.
52134         * tests/test-posix_spawn2.in.sh: New file.
52135         * modules/posix_spawnp-tests (Files): Update.
52136         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
52137
52138 2008-09-29  Bruno Haible  <bruno@clisp.org>
52139
52140         Propagate effects of putenv/setenv/unsetenv to child processes.
52141         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
52142         * lib/pipe.c (create_pipe): Likewise.
52143
52144 2008-09-29  Bruno Haible  <bruno@clisp.org>
52145
52146         Enable use of shell scripts as executables in mingw.
52147         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
52148         run the program as a shell script.
52149         * lib/pipe.c (create_pipe): Likewise.
52150         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
52151         resulting array.
52152
52153 2008-09-29  Eric Blake  <ebb9@byu.net>
52154
52155         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
52156
52157 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
52158
52159         * doc/posix-functions/accept.texi: Update mingw problems.
52160         * doc/posix-functions/bind.texi: Update mingw problems.
52161         * doc/posix-functions/close.texi: Update mingw problems.
52162         * doc/posix-functions/connect.texi: Update mingw problems.
52163         * doc/posix-functions/getpeername.texi: Update mingw problems.
52164         * doc/posix-functions/getsockname.texi: Update mingw problems.
52165         * doc/posix-functions/getsockopt.texi: Update mingw problems.
52166         * doc/posix-functions/ioctl.texi: Update mingw problems.
52167         * doc/posix-functions/listen.texi: Update mingw problems.
52168         * doc/posix-functions/recv.texi: Update mingw problems.
52169         * doc/posix-functions/recvfrom.texi: Update mingw problems.
52170         * doc/posix-functions/select.texi: Update mingw problems.
52171         * doc/posix-functions/send.texi: Update mingw problems.
52172         * doc/posix-functions/sendto.texi: Update mingw problems.
52173         * doc/posix-functions/setsockopt.texi: Update mingw problems.
52174         * doc/posix-functions/socket.texi: Update mingw problems.
52175
52176 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
52177             Bruno Haible  <bruno@clisp.org>
52178
52179         * lib/sys_select.in.h: Include sys/time.h.
52180         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
52181         * modules/sys_select: Depend on sys_time.
52182         * tests/test-sys_select.c: Test that sys/select.h defines struct
52183         timeval fully.
52184
52185 2008-09-29  Bruno Haible  <bruno@clisp.org>
52186
52187         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
52188         * lib/sys_select.in.h: Likewise.
52189
52190 2008-09-29  Bruno Haible  <bruno@clisp.org>
52191
52192         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
52193
52194 2008-09-29  Bruno Haible  <bruno@clisp.org>
52195
52196         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
52197         Set LIBSOCKET instead of augmenting LIBS.
52198         * modules/sockets (Link): New section.
52199         * modules/sockets-tests (test_sockets_LDADD): New variable.
52200         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
52201         * modules/poll-tests (test_poll_LDADD): New variable.
52202         * NEWS: Document the change.
52203
52204 2008-09-29  Bruno Haible  <bruno@clisp.org>
52205
52206         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
52207         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
52208         ARPA_INET_H directly.
52209         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52210
52211 2008-09-28  Bruno Haible  <bruno@clisp.org>
52212
52213         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
52214         from gl_HEADER_SYS_SOCKET.
52215         (gl_HEADER_SYS_SOCKET): Invoke it.
52216         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52217
52218 2008-09-28  Bruno Haible  <bruno@clisp.org>
52219
52220         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
52221         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
52222         Needed on OSF/1 4.0.
52223
52224 2008-09-28  Bruno Haible  <bruno@clisp.org>
52225
52226         Override open more carefully.
52227         * lib/open.c (orig_open): New function.
52228         (rpl_open): Use orig_open instead of open.
52229         * lib/fcntl.in.h: Add special invocation convention.
52230         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
52231         (gl_FUNC_OPEN): Invoke it.
52232
52233         Override freopen more carefully.
52234         * lib/freopen.c (orig_freopen): New function.
52235         (rpl_freopen): Use orig_freopen instead of freopen.
52236         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
52237         (gl_FUNC_FREOPEN): Invoke it.
52238
52239         Override fopen more carefully.
52240         * lib/fopen.c (orig_fopen): New function.
52241         (rpl_fopen): Use orig_fopen instead of fopen.
52242         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
52243         (gl_FUNC_FOPEN): Invoke it.
52244         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
52245
52246 2008-09-28  Bruno Haible  <bruno@clisp.org>
52247
52248         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
52249         SIGPIPE.
52250
52251 2008-09-28  Bruno Haible  <bruno@clisp.org>
52252
52253         * tests/test-sigaction.c (handler, main): Disable the check whether
52254         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
52255         glibc systems with LinuxThreads.
52256
52257 2008-09-28  Bruno Haible  <bruno@clisp.org>
52258
52259         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
52260
52261         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
52262         with AIX xlc.
52263         * lib/fcntl.in.h (open): Likewise.
52264         Reported by Rainer Tammer <tammer@tammer.net>.
52265
52266 2008-09-28  Bruno Haible  <bruno@clisp.org>
52267
52268         * modules/posix_spawnp-tests: New file.
52269         * tests/test-posix_spawn.c: New file.
52270         * tests/test-posix_spawn.in.sh: New file.
52271
52272         New module 'posix_spawnp'.
52273         * modules/posix_spawnp: New file.
52274         * lib/spawnp.c: New file, from GNU libc with modifications.
52275         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
52276
52277         New module 'posix_spawn'.
52278         * modules/posix_spawn: New file.
52279         * lib/spawn.c: New file, from GNU libc with modifications.
52280         * doc/posix-functions/posix_spawn.texi: Mention the new module.
52281
52282         New module 'posix_spawnattr_destroy'.
52283         * modules/posix_spawnattr_destroy: New file.
52284         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
52285         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
52286         module.
52287
52288         New module 'posix_spawnattr_setsigmask'.
52289         * modules/posix_spawnattr_setsigmask: New file.
52290         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
52291         modifications.
52292         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
52293         new module.
52294
52295         New module 'posix_spawnattr_getsigmask'.
52296         * modules/posix_spawnattr_getsigmask: New file.
52297         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
52298         modifications.
52299         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
52300         new module.
52301
52302         New module 'posix_spawnattr_setsigdefault'.
52303         * modules/posix_spawnattr_setsigdefault: New file.
52304         * lib/spawnattr_setdefault.c: New file, from GNU libc with
52305         modifications.
52306         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
52307         new module.
52308
52309         New module 'posix_spawnattr_getsigdefault'.
52310         * modules/posix_spawnattr_getsigdefault: New file.
52311         * lib/spawnattr_getdefault.c: New file, from GNU libc with
52312         modifications.
52313         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
52314         new module.
52315
52316         New module 'posix_spawnattr_setschedpolicy'.
52317         * modules/posix_spawnattr_setschedpolicy: New file.
52318         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
52319         modifications.
52320         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
52321         new module.
52322
52323         New module 'posix_spawnattr_getschedpolicy'.
52324         * modules/posix_spawnattr_getschedpolicy: New file.
52325         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
52326         modifications.
52327         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
52328         new module.
52329
52330         New module 'posix_spawnattr_setschedparam'.
52331         * modules/posix_spawnattr_setschedparam: New file.
52332         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
52333         modifications.
52334         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
52335         new module.
52336
52337         New module 'posix_spawnattr_getschedparam'.
52338         * modules/posix_spawnattr_getschedparam: New file.
52339         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
52340         modifications.
52341         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
52342         new module.
52343
52344         New module 'posix_spawnattr_setpgroup'.
52345         * modules/posix_spawnattr_setpgroup: New file.
52346         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
52347         modifications.
52348         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
52349         module.
52350
52351         New module 'posix_spawnattr_getpgroup'.
52352         * modules/posix_spawnattr_getpgroup: New file.
52353         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
52354         modifications.
52355         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
52356         module.
52357
52358         New module 'posix_spawnattr_setflags'.
52359         * modules/posix_spawnattr_setflags: New file.
52360         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
52361         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
52362         module.
52363
52364         New module 'posix_spawnattr_getflags'.
52365         * modules/posix_spawnattr_getflags: New file.
52366         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
52367         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
52368         module.
52369
52370         New module 'posix_spawnattr_init'.
52371         * modules/posix_spawnattr_init: New file.
52372         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
52373         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
52374         module.
52375
52376         New module 'posix_spawn_file_actions_destroy'.
52377         * modules/posix_spawn_file_actions_destroy: New file.
52378         * lib/spawn_faction_destroy.c: New file, from GNU libc with
52379         modifications.
52380         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
52381         the new module.
52382
52383         New module 'posix_spawn_file_actions_addopen'.
52384         * modules/posix_spawn_file_actions_addopen: New file.
52385         * lib/spawn_faction_addopen.c: New file, from GNU libc with
52386         modifications.
52387         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
52388         the new module.
52389
52390         New module 'posix_spawn_file_actions_adddup2'.
52391         * modules/posix_spawn_file_actions_adddup2: New file.
52392         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
52393         modifications.
52394         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
52395         the new module.
52396
52397         New module 'posix_spawn_file_actions_addclose'.
52398         * modules/posix_spawn_file_actions_addclose: New file.
52399         * lib/spawn_faction_addclose.c: New file, from GNU libc with
52400         modifications.
52401         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
52402         the new module.
52403
52404         New module 'posix_spawn_file_actions_init'.
52405         * modules/posix_spawn_file_actions_init: New file.
52406         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
52407         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
52408         new module.
52409
52410         New module 'posix_spawn-internal'.
52411         * modules/posix_spawn-internal: New file.
52412         * lib/spawn_int.h: New file, from GNU libc with modifications.
52413         * lib/spawni.c: New file, from GNU libc with modifications.
52414         * m4/posix_spawn.m4: New file.
52415
52416         New module 'spawn'.
52417         * modules/spawn: New file.
52418         * lib/spawn.in.h: New file, from GNU libc with modifications.
52419         * m4/spawn_h.m4: New file.
52420         * doc/posix-headers/spawn.texi: Mention the new module.
52421
52422 2008-09-28  Bruno Haible  <bruno@clisp.org>
52423
52424         * modules/sched-tests: New file.
52425         * tests/test-sched.c: New file.
52426
52427         New module 'sched'.
52428         * modules/sched: New file.
52429         * lib/sched.in.h: New file.
52430         * m4/sched_h.m4: New file.
52431         * doc/posix-headers/sched.texi: Mention the new module.
52432
52433 2008-09-27  Eric Blake  <ebb9@byu.net>
52434
52435         Fix previous patch, and tweak references to $0.
52436         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
52437         (func_version, func_gnulib_dir): Don't call this program
52438         gnulib-tool.
52439         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
52440         with using $0 in function.
52441         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
52442         (func_fatal_error): Reuse the name the user invoked us with.
52443
52444 2008-09-27  Bruno Haible  <bruno@clisp.org>
52445
52446         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
52447         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
52448         (gl_ICONV_H): Not here.
52449         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
52450         instead of assigning ICONV_H directly.
52451
52452         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
52453         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
52454         WCHAR_H directly.
52455
52456 2008-09-27  Bruno Haible  <bruno@clisp.org>
52457
52458         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
52459         * modules/arpa_inet (Depends-on): Add link-warning.
52460         (Makefile.am): Insert the definition of GL_LINK-WARNING.
52461         * modules/unistd (Makefile.am): Likewise.
52462
52463 2008-09-26  Bruno Haible  <bruno@clisp.org>
52464
52465         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
52466         variables.
52467         (func_version): Essentially copied from gnulib-tool.
52468         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
52469         func_readlink): Copied from gnulib-tool.
52470
52471 2008-09-26  Bruno Haible  <bruno@clisp.org>
52472
52473         * gnulib-tool (func_version): Change directory to $gnulib_dir before
52474         invoking git-version-gen.
52475
52476 2008-09-26  Bruno Haible  <bruno@clisp.org>
52477
52478         * posix-modules: Update to directory names changed on 2008-01-19.
52479         Remove commas in output before splitting into words. No more need to
52480         avoid 'ftruncate' since 2007-02-19.
52481
52482 2008-09-26  Bruno Haible  <bruno@clisp.org>
52483
52484         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
52485
52486 2008-09-26  Bruno Haible  <bruno@clisp.org>
52487
52488         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
52489         * modules/fwriteerror (Depends-on): Add errno.
52490
52491 2008-09-26  Bruno Haible  <bruno@clisp.org>
52492
52493         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
52494         * tests/test-vc-list-files-cvs.sh: Likewise.
52495
52496 2008-09-26  Bruno Haible  <bruno@clisp.org>
52497
52498         * doc/posix-headers/sys_resource.texi: Reorder items.
52499
52500 2008-09-26  Jim Meyering  <meyering@redhat.com>
52501
52502         fts: tweak inode comparison function
52503         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
52504         inode numbers, as documented.
52505
52506         fts: sort dirent entries on inode number before traversing
52507         This avoids a quadratic, seek-related performance penalty when
52508         operating on a directory containing many entries (measurable at 10k;
52509         3.5 hours at 2 million entries with a cold cache) on certain types
52510         of file systems, including ext3 and ext4, but not tmpfs.
52511         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
52512         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
52513         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
52514         (fs_handles_readdir_ordered_dirents_efficiently): New function.
52515         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
52516         (fts_build): Set the stat.st_ino member from D_INO.
52517         If it is likely to be useful, sort dirent entries on inode number.
52518
52519         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
52520         and the struct statfs.f_type member.
52521         * modules/fts (Depends-on): Add d-ino.
52522
52523 2008-09-26  Bruno Haible  <bruno@clisp.org>
52524
52525         * modules/sigpipe-die (Depends-on): Add sigpipe.
52526
52527         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
52528         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
52529         and GNULIB_STDIO_H_SIGPIPE are set.
52530         * lib/stdio-write.c: New file.
52531         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
52532         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52533         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52534         REPLACE_STDIO_WRITE_FUNCS.
52535         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
52536         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52537         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52538         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
52539         * modules/stdio (Files): Add lib/stdio-write.c.
52540         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
52541         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52542         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52543         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
52544         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
52545         REPLACE_FPRINTF_POSIX.
52546         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
52547         REPLACE_PRINTF_POSIX.
52548         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
52549         REPLACE_VFPRINTF_POSIX.
52550         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
52551         REPLACE_VPRINTF_POSIX.
52552         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
52553         SIGPIPE issue.
52554         * doc/posix-functions/fputc.texi: Likewise.
52555         * doc/posix-functions/fputs.texi: Likewise.
52556         * doc/posix-functions/fwrite.texi: Likewise.
52557         * doc/posix-functions/printf.texi: Likewise.
52558         * doc/posix-functions/putc.texi: Likewise.
52559         * doc/posix-functions/putchar.texi: Likewise.
52560         * doc/posix-functions/puts.texi: Likewise.
52561         * doc/posix-functions/vfprintf.texi: Likewise.
52562         * doc/posix-functions/vprintf.texi: Likewise.
52563
52564         * modules/safe-write (Depends-on): Add write.
52565
52566         * modules/sigpipe-tests: New file.
52567         * tests/test-sigpipe.c: New file.
52568         * tests/test-sigpipe.sh: New file.
52569
52570         * modules/write: New file.
52571         * lib/unistd.in.h: Include <sys/types.h>.
52572         (write): New declaration.
52573         * lib/write.c: New file.
52574         * m4/write.m4: New file.
52575         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52576         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
52577         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
52578         GNULIB_WRITE, REPLACE_WRITE.
52579         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
52580         and the SIGPIPE issue.
52581
52582         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
52583         (raise): New declaration.
52584         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
52585         (ext_signal): New function.
52586         (rpl_raise): New function.
52587         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
52588         GNULIB_SIGNAL_H_SIGPIPE.
52589         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
52590         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
52591
52592         * modules/sigpipe: New file.
52593         * m4/sigpipe.m4: New file.
52594
52595 2008-09-25  Derek Price  <derek@ximbiot.com>
52596             Bruno Haible  <bruno@clisp.org>
52597
52598         * gnulib-tool (func_import): Report all license incompatibilities, not
52599         just the first one.
52600
52601 2008-09-25  Bruno Haible  <bruno@clisp.org>
52602
52603         * gnulib-tool (func_import): When computing the edits, consider not
52604         only the Makefile.ams that exist but also those that will be generated.
52605
52606 2008-09-25  Simon Josefsson  <simon@josefsson.org>
52607
52608         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
52609         fixes gnulib-tool --test warning about duplicate dependency.
52610
52611 2008-09-25  Bruno Haible  <bruno@clisp.org>
52612
52613         * gnulib-tool: Don't ask the user to perform edits in the generated
52614         Makefile.ams.
52615         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
52616         apply to the Makefile.am being generated.
52617         (func_emit_tests_Makefile_am): Execute edits that apply to the
52618         Makefile.am being generated.
52619         (func_import): Setup list of Makefile.am edits before emitting the
52620         Makefile.ams, not at the end.
52621         (func_create_testdir): Update.
52622         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52623
52624 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52625
52626         * gnulib-tool (func_import): Store the --tests-base option in the
52627         comment in gnulib-cache.m4.
52628
52629 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
52630
52631         * NEWS: Document increased portability that sys_select now provides.
52632
52633         * lib/sys_select.in.h: Install select wrapper.
52634         * lib/sys_socket.in.h: Use more descriptive name when there is no
52635         select wrapper.
52636         * lib/winsock-select.c: New.
52637         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
52638         Require gl_HEADER_SYS_SOCKET.
52639         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
52640         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
52641         * tests/test-sys_select.c: Add functional tests.
52642
52643 2008-09-24  Eric Blake  <ebb9@byu.net>
52644
52645         open, fopen: close fd leak in last patch
52646         * lib/open.c (rpl_open): Close fd before returning error.
52647         * lib/fopen.c (rpl_fopen): Close fd before returning error.
52648         * doc/posix-functions/open.texi (open): Document that Irix also
52649         has the bug.
52650         * doc/posix-functions/fopen.texi (fopen): Likewise.
52651         Reported by Paolo Bonzini.
52652
52653 2008-09-24  Bruno Haible  <bruno@clisp.org>
52654
52655         Ensure that a filename ending in a slash cannot be used to access a
52656         non-directory.
52657         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
52658         to check whether it's really a directory.
52659         * lib/fopen.c: Include fcntl.h, unistd.h.
52660         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
52661         and fdopen().
52662         * modules/fopen (Depends-on): Add unistd.
52663         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
52664         * tests/test-fopen.c (main): Likewise.
52665         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
52666         * doc/posix-functions/fopen.texi: Likewise.
52667         Reported by Eric Blake.
52668
52669 2008-09-23  Eric Blake  <ebb9@byu.net>
52670
52671         c-stack: avoid compiler optimizations when provoking overflow
52672         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
52673         recursion harder to optimize, to ensure a stack overflow occurs.
52674         * tests/test-c-stack.c (recurse): Likewise.
52675         Borrowed from libsigsegv.
52676
52677         c-stack: work around Irix sigaltstack bug
52678         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
52679         whether sigaltstack uses wrong end of stack_t (copied in part from
52680         libsigsegv).
52681         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
52682         Irix bug, without requiring an over-allocation.
52683         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
52684         bug.
52685
52686         fopen: document mingw bug on directories
52687         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
52688         not allowing a stream visiting a directory, even though reading
52689         from such a stream is not portable.
52690
52691 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52692
52693         * lib/poll.c: Rewrite.
52694         * modules/poll: Depend on alloca.
52695
52696 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52697
52698         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
52699         instead define prototypes for a full set of wrappers.  Ensure
52700         that Cygwin does not use the compatibility code, which is only
52701         for MinGW.
52702         * lib/winsock.c: New.
52703         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
52704         * modules/sys_socket: Add lib/winsock.c.
52705
52706         * modules/poll-tests: Add errno and perror.
52707         * tests/test-poll.c: Use ioctl, not ioctlsocket.
52708
52709 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52710
52711         * tests/test-poll.c: Downgrade minimum needed Winsock version.
52712
52713 2008-09-23  Bruno Haible  <bruno@clisp.org>
52714
52715         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
52716         * doc/glibc-functions/*: Likewise.
52717
52718 2008-09-23  Simon Josefsson  <simon@josefsson.org>
52719
52720         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
52721         success.
52722
52723 2008-09-22  Eric Blake  <ebb9@byu.net>
52724             Bruno Haible  <bruno@clisp.org>
52725
52726         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
52727         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
52728         supply %A but mishandle pseudo-NaN.
52729         Reported by Simon Josefsson.
52730
52731 2008-09-21  Bruno Haible  <bruno@clisp.org>
52732
52733         * tests/test-lock.c (main): Tweak skip message.
52734         * tests/test-tls.c (main): Likewise.
52735
52736 2008-09-21  Bruno Haible  <bruno@clisp.org>
52737
52738         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
52739         whether 'struct sigaction' has sa_sigaction here...
52740         (gl_PREREQ_SIG_HANDLER_H): ... not here.
52741         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
52742
52743 2008-09-21  Bruno Haible  <bruno@clisp.org>
52744
52745         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
52746         section.
52747         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
52748         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
52749         the new section.
52750         (Support for obsolete systems lacking POSIX:2001): New section.
52751         (String handling <string.h>): Move strdup to the new section.
52752         Suggested by Simon Josefsson and Paolo Bonzini.
52753
52754 2008-09-21  Bruno Haible  <bruno@clisp.org>
52755
52756         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
52757         exponents in %e and %g results on 'long double'. Needed for mingw's
52758         improved *printf functions.
52759         * tests/test-vasprintf-posix.c (test_function): Likewise.
52760         * tests/test-snprintf-posix.h (test_function): Likewise.
52761         * tests/test-sprintf-posix.h (test_function): Likewise.
52762         Reported by Eric Blake.
52763
52764 2008-09-21  Bruno Haible  <bruno@clisp.org>
52765
52766         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
52767         * tests/test-sprintf-posix.h (test_function): Likewise.
52768
52769 2008-09-21  Bruno Haible  <bruno@clisp.org>
52770
52771         * modules/getpass (Depends-on): Add strdup-posix.
52772
52773         New module 'strdup-posix'.
52774         * modules/strdup-posix: New file.
52775         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
52776         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
52777         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52778         REPLACE_STRDUP.
52779         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
52780         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
52781         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52782         strdup-posix.
52783
52784         * modules/strdup (Depends-on): Remove malloc-posix.
52785
52786 2008-09-20  Bruno Haible  <bruno@clisp.org>
52787
52788         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
52789         Wildenhues.
52790
52791 2008-09-20  Bruno Haible  <bruno@clisp.org>
52792
52793         Ensure that wint_t gets defined on IRIX 5.3.
52794         * lib/wchar.in.h (wint_t): Define if not defined by the system.
52795         * lib/wctype.in.h (wint_t): Likewise.
52796         (__wctype_wint_t): Remove type.
52797         (isw*): Use wint_t instead of __wctype_wint_t.
52798         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
52799         * modules/wchar (Files): Add m4/wint_t.m4.
52800         (Makefile.am): Substitute HAVE_WINT_T.
52801         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
52802         * tests/test-wctype.c: Check that wint_t is defined.
52803         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
52804         * doc/posix-headers/wctype.texi: Likewise.
52805         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52806
52807 2008-09-18  Bruno Haible  <bruno@clisp.org>
52808
52809         * gnulib-tool (func_exit): Update comment.
52810
52811 2008-09-18  Simon Josefsson  <simon@josefsson.org>
52812
52813         * modules/getaddrinfo (Depends-on): Remove strdup, this module
52814         assumes strdup exists and does not depend on strdup to return
52815         ENOMEM on out of memory conditions.
52816
52817 2008-09-18  Bruno Haible  <bruno@clisp.org>
52818
52819         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
52820         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
52821         digits for the exponent.
52822
52823 2008-09-18  Jim Meyering  <meyering@redhat.com>
52824             Bruno Haible  <bruno@clisp.org>
52825
52826         * lib/vasnprintf.c (decimal_point_char): Define also if
52827         NEED_PRINTF_INFINITE_LONG_DOUBLE.
52828
52829 2008-09-16  Bruno Haible  <bruno@clisp.org>
52830         and Eric Blake  <ebb9@byu.net>
52831
52832         vasnprintf: support Irix 5.3
52833         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
52834         that mishandle long double infinity.
52835         Reported by Tom G. Christensen.
52836
52837 2008-09-16  Bruno Haible  <bruno@clisp.org>
52838
52839         * doc/glibc-functions/scandir.texi: Mention the function is missing on
52840         Solaris 9.
52841         * doc/glibc-functions/alphasort.texi: Likewise.
52842         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
52843
52844 2008-09-16  Jim Meyering  <meyering@redhat.com>
52845
52846         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
52847         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
52848         a umask modification leak out of a subshell.  Otherwise, the
52849         opensolaris /bin/sh would be accepted and thus cause unwarranted
52850         failures in the coreutils test suite.
52851
52852 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
52853
52854         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
52855         to succeed.
52856
52857 2008-09-16  Jim Meyering  <meyering@redhat.com>
52858
52859         avoid spurious test failure when library is built without ACL support
52860         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
52861         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
52862         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
52863         * tests/test-copy-acl.sh: Likewise.
52864
52865 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52866
52867         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
52868         based on character occurrence counts.
52869
52870 2008-09-15  Eric Blake  <ebb9@byu.net>
52871
52872         tests: avoid some compiler warnings
52873         * tests/test-memchr.c (main): Pass NULL indirectly.
52874         * tests/test-closein.c (main): Avoid unused variable.
52875
52876 2008-09-15  Bruno Haible  <bruno@clisp.org>
52877
52878         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
52879         are missing on OpenBSD 4.0 individually.
52880         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52881
52882 2008-09-15  Bruno Haible  <bruno@clisp.org>
52883
52884         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
52885         * doc/posix-functions/strerror.texi: Mention also Cygwin.
52886         * doc/posix-functions/perror.texi: Likewise.
52887         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
52888         is missing.
52889         Reported by Eric Blake.
52890
52891         * lib/errno.in.h: Use replacement values >= 2000.
52892         Reported by Eric Blake.
52893
52894 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52895
52896         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
52897         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
52898         limit.
52899         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
52900         compareseq was aborted.
52901
52902 2008-09-14  Bruno Haible  <bruno@clisp.org>
52903
52904         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
52905         yvec_edit_count.
52906         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
52907         (fstrcmp_bounded): Simplify result computation accordingly.
52908
52909 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52910
52911         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
52912         (fstrcmp): Define in terms of fstrcmp_bounded.
52913         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
52914         lower_bound argument.
52915         Return quickly if the result is certainly < lower_bound.
52916         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
52917
52918 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52919
52920         * lib/diffseq.h (EARLY_ABORT): New macro.
52921         (compareseq): Change return type to bool. Return true when EARLY_ABORT
52922         evaluates to true.
52923
52924 2008-09-14  Bruno Haible  <bruno@clisp.org>
52925
52926         * modules/perror-tests: New file.
52927         * tests/test-perror.sh: New file.
52928         * tests/test-perror.c: New file.
52929
52930         New module 'perror'.
52931         * lib/stdio.in.h (perror): New declaration.
52932         * lib/perror.c: New file.
52933         * m4/perror.m4: New file.
52934         * modules/perror: New file.
52935         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
52936         * doc/posix-functions/perror.texi: Mention the perror module.
52937         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
52938         REPLACE_PERROR.
52939         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
52940         REPLACE_PERROR.
52941
52942 2008-09-14  Bruno Haible  <bruno@clisp.org>
52943
52944         * modules/stdio (Makefile.am): Reorder to match the order in
52945         lib/stdio.in.h.
52946         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52947
52948 2008-09-13  Bruno Haible  <bruno@clisp.org>
52949
52950         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
52951
52952 2008-09-13  Bruno Haible  <bruno@clisp.org>
52953
52954         Extend strerror to cover the added errno values.
52955         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
52956         (rpl_strerror): Provide error messages for the added errno values and
52957         for the WSA* values.
52958         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
52959         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
52960         strerror.
52961         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
52962         * modules/strerror (Depends-on): Add errno.
52963         * doc/posix-functions/strerror.texi: Document the change.
52964         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
52965         and EOVERFLOW.
52966
52967 2008-09-13  Bruno Haible  <bruno@clisp.org>
52968
52969         * modules/EOVERFLOW: Remove file.
52970         * m4/eoverflow.m4: Remove file.
52971         * modules/EOVERFLOW-tests: Remove file.
52972         * tests/test-EOVERFLOW.c: Remove file.
52973         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
52974         * modules/ftell (Depends-on): Likewise.
52975         * modules/getdelim (Depends-on): Likewise.
52976         * modules/getugroups (Depends-on): Likewise.
52977         * modules/poll (Depends-on): Likewise.
52978         * modules/snprintf (Depends-on): Likewise.
52979         * modules/sprintf-posix (Depends-on): Likewise.
52980         * modules/vasnprintf (Depends-on): Likewise.
52981         * modules/vasprintf (Depends-on): Likewise.
52982         * modules/vfprintf-posix (Depends-on): Likewise.
52983         * modules/vsnprintf (Depends-on): Likewise.
52984         * modules/vsprintf-posix (Depends-on): Likewise.
52985         * modules/xvasprintf (Depends-on): Likewise.
52986         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52987         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
52988         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
52989         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
52990         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52991         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
52992         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
52993         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
52994         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52995         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
52996         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
52997         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
52998         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52999         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
53000         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
53001         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
53002         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53003         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
53004         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
53005         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
53006         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53007         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
53008         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
53009         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
53010         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
53011         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53012         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
53013         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
53014         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
53015         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
53016         * MODULES.html.sh: Remove EOVERFLOW.
53017         * NEWS: Mention the change.
53018
53019 2008-09-13  Bruno Haible  <bruno@clisp.org>
53020
53021         * modules/errno-tests: New file.
53022         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
53023
53024         * lib/errno.in.h: New file.
53025         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
53026         * modules/errno: New file.
53027         * doc/posix-headers/errno.texi: Update documentation.
53028         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
53029
53030 2008-09-13  Bruno Haible  <bruno@clisp.org>
53031
53032         * tests/test-poll.c: Use #if for native Windows, rather than testing
53033         __MSVCRT__.
53034
53035 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53036             Bruno Haible  <bruno@clisp.org>
53037
53038         * lib/glob.c: Don't include <pwd.h> on native Windows.
53039         (WINDOWS32): New macro.
53040         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
53041
53042 2008-09-13  Bruno Haible  <bruno@clisp.org>
53043
53044         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
53045         (ETIMEDOUT): Remove macro.
53046         (glthread_cond_timedwait_multithreaded): New declaration.
53047         (glthread_cond_timedwait): Use it.
53048         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
53049         (glthread_cond_timedwait_multithreaded): New function.
53050
53051 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53052
53053         * modules/poll-tests: Do not check for io.h.
53054         * tests/test-poll.c: Check for __MSVCRT__ instead.
53055
53056 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53057
53058         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
53059         * modules/poll-tests: Add inet_pton, stdbool, sockets.
53060         * tests/test-poll.c: Use them.  Use _pipe on Windows.
53061
53062 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53063
53064         * modules/poll-tests: New.
53065         * tests/test-poll.c: New.
53066
53067 2008-09-12  Eric Blake  <ebb9@byu.net>
53068
53069         frexp: test for NetBSD failure on -0.0
53070         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
53071         not all, bugs from NetBSD 3.0 have been fixed.
53072         * doc/posix-functions/frexp.texi (frexp): Document bug.
53073         Reported by Thomas Klausner.
53074
53075         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
53076         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
53077         literal -0.0.
53078         Reported by Jonathan C. Patschke <jp@centtech.com>.
53079
53080 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53081
53082         * lib/glthread/cond.h: Use dummy implementation also if
53083         USE_WIN32_THREADS.
53084
53085 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53086
53087         * modules/fnmatch-posix (License): Change to LGPLv2+.
53088         * modules/fnmatch-gnu (License): Likewise.
53089
53090 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53091
53092         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
53093
53094 2008-09-11  Jim Meyering  <meyering@redhat.com>
53095
53096         * users.txt: Add gtk-vnc.
53097
53098 2008-09-08  Simon Josefsson  <simon@josefsson.org>
53099
53100         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
53101         rotate amounts.
53102
53103         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
53104         required for 16-bit and 8-bit rotates.
53105         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
53106         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
53107         UINT8_MAX instead of hard-coded constants.
53108         Suggested by Paul Eggert.
53109
53110 2008-09-07  Bruno Haible  <bruno@clisp.org>
53111
53112         * tests/test-striconveh.c (main): Check behaviour when converting from
53113         UTF-7.
53114
53115         Make striconveh work better with stateful encodings.
53116         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
53117         that iconv does not increment the inptr when returning -1/EINVAL.
53118
53119 2008-09-07  Bruno Haible  <bruno@clisp.org>
53120
53121         * build-aux/config.rpath: Update according to libtool-2.2.6.
53122         * build-aux/config.libpath: Likewise.
53123
53124 2008-09-06  Bruno Haible  <bruno@clisp.org>
53125
53126         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
53127         * lib/freadptr.c (freadptr): Likewise.
53128         * lib/freadseek.c (freadptrinc): Likewise.
53129         Reported by Simon Josefsson.
53130
53131 2008-09-06  Bruno Haible  <bruno@clisp.org>
53132
53133         * modules/freadptr (License): Change to LGPLv2+.
53134         * modules/freadseek (License): Likewise.
53135         Suggested by Eric Blake.
53136
53137         * modules/memchr2 (License): Change to LGPLv2+.
53138         Approved by Eric Blake.
53139
53140 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53141             Bruno Haible  <bruno@clisp.org>
53142
53143         Make gnulib-tool work with native 'sed' on AIX.
53144         * gnulib-tool (sed_noop): New variable.
53145         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
53146         func_add_or_update, func_create_testdir): Use it to initialize sed
53147         script variables.
53148         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53149
53150 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
53151             Bruno Haible  <bruno@clisp.org>
53152
53153         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
53154         also works after #include directives.
53155
53156 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
53157
53158         getdate.y: reject an out-of-range timezone value
53159         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
53160         the range [-24...+24].  When specified with only one or two digits,
53161         * tests/test-getdate.c: Tests for the fix.
53162         * doc/getdate.texi: Document this change.
53163
53164 2008-09-03  Bruno Haible  <bruno@clisp.org>
53165
53166         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
53167
53168 2008-09-02  Simon Josefsson  <simon@josefsson.org>
53169
53170         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
53171         <bruce.korb@gmail.com> with ideas from Ben Pfaff
53172         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
53173         Blake <ebb9@byu.net>.
53174
53175         * tests/test-bitrotate.c: Add more test vectors.
53176
53177 2008-09-02  Eric Blake  <ebb9@byu.net>
53178
53179         vasnprintf-posix: handle large precision via %.*d
53180         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
53181         when handling it ourselves.
53182         * tests/test-vasnprintf-posix.c (test_function): Add test.
53183         * tests/test-snprintf-posix.h (test_function): Likewise.
53184         * tests/test-sprintf-posix.h (test_function): Likewise.
53185         * tests/test-vasprintf-posix.c (test_function): Likewise.
53186         Reported by Alain Guibert.
53187
53188 2008-09-01  Eric Blake  <ebb9@byu.net>
53189
53190         c-stack: make configure-time check more robust
53191         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
53192         successful sigaction call.
53193         Reported by Tom G. Christensen.
53194
53195 2008-09-01  Bruno Haible  <bruno@clisp.org>
53196
53197         New module 'findprog-lgpl'.
53198         * modules/findprog-lgpl: New file.
53199         * lib/findprog-lgpl.c: New file.
53200         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
53201         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
53202         to decide whether to use strdup or xstrdup, concatenated_filename or
53203         xconcatenated_filename.
53204
53205 2008-09-01  Bruno Haible  <bruno@clisp.org>
53206
53207         Split module 'concat-filename' into 'concat-filename' (LGPL) and
53208         'xconcat-filename' (GPL).
53209         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
53210         (License): Change to LGPLv2+.
53211         * modules/xconcat-filename: New file.
53212         * lib/concat-filename.h (concatenated_filename): Change specification.
53213         (xconcatenated_filename): New declaration.
53214         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
53215         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
53216         memory situations.
53217         * lib/xconcat-filename.c: New file.
53218         * NEWS: Mention the change.
53219         * lib/findprog.c: Include concat-filename.h, not filename.h.
53220         (find_in_path): Use xconcatenated_filename instead of
53221         concatenated_filename.
53222         * lib/javacomp.c: Include concat-filename.h, not filename.h.
53223         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53224         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53225         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53226         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
53227         instead of concatenated_filename.
53228         * lib/javaexec.c: Include concat-filename.h, not filename.h.
53229         (execute_java_class): Use xconcatenated_filename instead of
53230         concatenated_filename.
53231         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
53232         * modules/javacomp (Depends-on): Likewise.
53233         * modules/javaexec (Depends-on): Likewise.
53234
53235 2008-09-01  Bruno Haible  <bruno@clisp.org>
53236
53237         Split module 'filename' into 'filename' and 'concat-filename'.
53238         * modules/filename: Keep only lib/filename.h.
53239         (License): Change to LGPLv2+.
53240         * modules/concat-filename: New file, extracted from modules/filename.
53241         * lib/filename.h (concatenated_filename): Remove declaration.
53242         * lib/concat-filename.h: New file, extracted from lib/filename.h.
53243         * lib/concat-filename.c: Include concat-filename.h.
53244         * NEWS: Mention the change.
53245
53246 2008-09-01  Simon Josefsson  <simon@josefsson.org>
53247
53248         * lib/bitrotate.h (rotl8, rotr8): Add.
53249
53250         * modules/bitrotate (configure.ac): Need
53251         AC_REQUIRE([AC_C_INLINE]).
53252         (Description): Mention stdint.h.  Reported by Bruno Haible
53253         <bruno@clisp.org>.
53254
53255         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
53256         Paolo Bonzini <bonzini@gnu.org>.
53257
53258 2008-08-31  Bruno Haible  <bruno@clisp.org>
53259
53260         Assume Solaris specific bi-arch conventions on Solaris systems.
53261         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
53262         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
53263         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
53264         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
53265         like acl_libdirstem.
53266         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
53267         acl_libdirstem.
53268         * NEWS: Mention the change.
53269         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
53270
53271 2008-08-31  Jim Meyering  <meyering@redhat.com>
53272
53273         * lib/strftime.h: Add comments describing the two added arguments.
53274
53275         remove duplicate #include directives
53276         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
53277         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
53278
53279 2008-08-31  Bruno Haible  <bruno@clisp.org>
53280
53281         New module 'sigpipe-die'.
53282         * modules/sigpipe-die: New file.
53283         * lib/sigpipe-die.h: New file.
53284         * lib/sigpipe-die.c: New file.
53285         * MODULES.html.sh (Signal handling): Add sigpipe-die.
53286
53287 2008-08-31  Bruno Haible  <bruno@clisp.org>
53288
53289         Don't override previously installed signal handlers.
53290         * lib/fatal-signal.c (saved_sigactions): New variable.
53291         (uninstall_handlers): Reset the signal to the saved handler, not
53292         to SIG_DFL (except when ignored).
53293         (install_handlers): Save the previous handlers.
53294
53295 2008-08-30  Bruno Haible  <bruno@clisp.org>
53296
53297         * gnulib-tool (func_reset_sigpipe): New function.
53298         (func_get_automake_snippet, func_modules_transitive_closure,
53299         func_import): Invoke it before a join command that reads from stdin,
53300         to avoid "echo: write error: Broken pipe" error messages on stderr.
53301         Reported by Sam Steingold <sds@gnu.org>.
53302
53303 2008-08-30  Bruno Haible  <bruno@clisp.org>
53304
53305         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
53306         Code copied from m4/open.m4.
53307         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
53308         access and the filename ends in a slash. Code copied from lib/open.c.
53309         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
53310         * tests/test-fopen.c (main): Check against bug with trailing slash.
53311
53312 2008-08-29  Bruno Haible  <bruno@clisp.org>
53313
53314         Avoid some "gcc -pedantic" warnings.
53315         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
53316         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
53317         * lib/dirent.in.h: Likewise.
53318         * lib/fcntl.in.h: Likewise.
53319         * lib/float.in.h: Likewise.
53320         * lib/iconv.in.h: Likewise.
53321         * lib/inttypes.in.h: Likewise.
53322         * lib/locale.in.h: Likewise.
53323         * lib/math.in.h: Likewise.
53324         * lib/netinet_in.in.h: Likewise.
53325         * lib/search.in.h: Likewise.
53326         * lib/signal.in.h: Likewise.
53327         * lib/stdarg.in.h: Likewise.
53328         * lib/stdint.in.h: Likewise.
53329         * lib/stdio.in.h: Likewise.
53330         * lib/stdlib.in.h: Likewise.
53331         * lib/string.in.h: Likewise.
53332         * lib/strings.in.h: Likewise.
53333         * lib/sys_select.in.h: Likewise.
53334         * lib/sys_socket.in.h: Likewise.
53335         * lib/sys_stat.in.h: Likewise.
53336         * lib/sys_time.in.h: Likewise.
53337         * lib/sysexits.in.h: Likewise.
53338         * lib/time.in.h: Likewise.
53339         * lib/unistd.in.h: Likewise.
53340         * lib/wchar.in.h: Likewise.
53341         * lib/wctype.in.h: Likewise.
53342         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
53343         * modules/fchdir (Makefile.am): Likewise.
53344         * modules/fcntl (Makefile.am): Likewise.
53345         * modules/float (Makefile.am): Likewise.
53346         * modules/iconv_open (Makefile.am): Likewise.
53347         * modules/inttypes (Makefile.am): Likewise.
53348         * modules/locale (Makefile.am): Likewise.
53349         * modules/math (Makefile.am): Likewise.
53350         * modules/netinet_in (Makefile.am): Likewise.
53351         * modules/search (Makefile.am): Likewise.
53352         * modules/signal (Makefile.am): Likewise.
53353         * modules/stdarg (Makefile.am): Likewise.
53354         * modules/stdint (Makefile.am): Likewise.
53355         * modules/stdio (Makefile.am): Likewise.
53356         * modules/stdlib (Makefile.am): Likewise.
53357         * modules/string (Makefile.am): Likewise.
53358         * modules/strings (Makefile.am): Likewise.
53359         * modules/sys_select (Makefile.am): Likewise.
53360         * modules/sys_socket (Makefile.am): Likewise.
53361         * modules/sys_stat (Makefile.am): Likewise.
53362         * modules/sys_time (Makefile.am): Likewise.
53363         * modules/sysexits (Makefile.am): Likewise.
53364         * modules/time (Makefile.am): Likewise.
53365         * modules/unistd (Makefile.am): Likewise.
53366         * modules/wchar (Makefile.am): Likewise.
53367         * modules/wctype (Makefile.am): Likewise.
53368         Reported by Reuben Thomas <rrt@sc3d.org>.
53369
53370 2008-08-29  Bruno Haible  <bruno@clisp.org>
53371
53372         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
53373         any more.
53374
53375 2008-08-29  Simon Josefsson  <simon@josefsson.org>
53376
53377         * MODULES.html.sh (Misc): Add bitrotate.
53378
53379         * modules/bitrotate: New file.
53380
53381         * lib/bitrotate.h: New file.
53382
53383         * modules/bitrotate-tests: New file.
53384
53385         * tests/test-bitrotate.c: New file.
53386
53387         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
53388         on the bitrotate module.
53389
53390         * lib/arctwo.c: Use new bitrotate module.
53391
53392 2008-08-29  Jim Meyering  <meyering@redhat.com>
53393
53394         bootstrap: merge changes from coreutils
53395         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
53396         of copied files.  Remove a kludge, now that this is fixed.
53397         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
53398         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
53399         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
53400
53401 2008-08-29  Bruno Haible  <bruno@clisp.org>
53402
53403         * MODULES.html.sh: Remove --cvs-urls option.
53404
53405 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
53406
53407         maint.mk: adjust to file name change
53408         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
53409
53410 2008-08-28  Jim Meyering  <meyering@redhat.com>
53411
53412         * modules/getndelim2 (License): Relicense to LGPLv2+.
53413         Approved by Richard Stallman for the version of 1995, and by
53414         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
53415
53416 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
53417
53418         * lib/getdelim.c (flockfile, funlockfile): Make all of them
53419         dummy if one is not available.  Do not touch them if
53420         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
53421         (getc_maybe_unlocked): New.
53422         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
53423
53424 2008-08-26  Eric Blake  <ebb9@byu.net>
53425
53426         doc/INSTALL: resync from autoconf
53427         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
53428         (INSTALL_PRELUDE): Delete; this is done more efficiently by
53429         moving...
53430         * install.texi [!autoconf]: ...here.  Resync from autoconf.
53431         * INSTALL: Regenerate.
53432         * INSTALL.ISO: New file.
53433         * INSTALL.UTF-8: Likewise.
53434
53435 2008-08-26  Jim Meyering  <meyering@redhat.com>
53436
53437         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
53438         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
53439         these definitions conditional, so that they may be overridden, too.
53440
53441 2008-08-26  Bruno Haible  <bruno@clisp.org>
53442
53443         Generate INSTALL file variants with prettier quotes.
53444         * doc/Makefile (INSTALL_PRELUDE): New macro.
53445         (INSTALL): Use it.
53446         (INSTALL.ISO, INSTALL.UTF-8): New rules.
53447
53448 2008-08-26  Bruno Haible  <bruno@clisp.org>
53449
53450         Run makeinfo in an English locale.
53451         * doc/Makefile (MAKEINFO): New variable.
53452
53453 2008-08-26  Bruno Haible  <bruno@clisp.org>
53454
53455         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
53456         Suggested by Eric Blake.
53457
53458 2008-08-25  Bruno Haible  <bruno@clisp.org>
53459
53460         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
53461
53462 2008-08-25  Eric Blake  <ebb9@byu.net>
53463
53464         c-stack: test that stack overflow can be caught
53465         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
53466         that platform allows handling stack overflow; at least OS/2 EMX
53467         has sigaltstack, but crashes before transferring control to
53468         handler on stack overflow.
53469         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
53470         check for HAVE_STACK_OVERFLOW_HANDLING.
53471         Reported by Elbert Pol.
53472
53473 2008-08-25  Bruno Haible  <bruno@clisp.org>
53474
53475         * doc/posix-functions/strftime.texi: Fix description of strftime
53476         module.
53477
53478 2008-08-24  Bruno Haible  <bruno@clisp.org>
53479
53480         * tests/uniwidth/test-uc_width2.c: New file.
53481         * tests/uniwidth/test-uc_width2.sh: New file.
53482         * modules/uniwidth/width-tests (Files): Add the new files.
53483         (TESTS): Add uniwidth/test-uc_width2.sh.
53484         (TESTS_ENVIRONMENT): New variable.
53485         (check_PROGRAMS): Add test-uc_width2.
53486         (test_uc_width2_SOURCES): New variable.
53487
53488         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
53489         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
53490         not 0x00AB.
53491         Reported by Alexander V. Lukyanov <lav@netis.ru>.
53492
53493 2008-08-22  Eric Blake  <ebb9@byu.net>
53494
53495         test-lock, test-tls: mention why a test is skipped
53496         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
53497         skipped.
53498         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
53499
53500         count-one-bits: relax license
53501         * modules/count-one-bits (License): Relicense to LGPLv2+.
53502         Suggested by Ludovic Courtès, approved by Ben Pfaff.
53503
53504 2008-08-22  Andreas Schwab  <schwab@suse.de>
53505
53506         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
53507         Remove spurious space in assignment.
53508
53509 2008-08-21  Simon Josefsson  <simon@josefsson.org>
53510
53511         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
53512         Paul Eggert <eggert@CS.UCLA.EDU>.
53513
53514 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
53515
53516         * modules/gettext: Add m4/threadlib.m4.
53517
53518 2008-08-19  Eric Blake  <ebb9@byu.net>
53519
53520         test-c-stack: fix compilation failure on FreeBSD 5.0
53521         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
53522         headers before <sys/resource.h>.
53523         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
53524         the bug.
53525         Reported by Nelson H. F. Beebe.
53526
53527         strverscmp: migrate from "strverscmp.h" to <string.h>
53528         * modules/string (Makefile.am): Add new hooks.
53529         * modules/strverscmp (Files): Remove strverscmp.h.
53530         (Depends-on): Add string.
53531         (configure.ac): Add indicator.
53532         (Include): Mention new header.
53533         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
53534         defaults.
53535         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
53536         results.
53537         * lib/strverscmp.h: Delete.
53538         * lib/string.in.h (strverscmp): Provide declaration, when needed.
53539         * tests/test-strverscmp.c (includes): Adjust client.
53540         * lib/check-version.c (includes): Likewise.
53541         * NEWS: Document the change.
53542
53543         strverscmp: add unit test
53544         * modules/strverscmp-tests: New file.
53545         * tests/test-strverscmp.c: Likewise.
53546
53547 2008-08-19  Simon Josefsson  <simon@josefsson.org>
53548
53549         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
53550         regarding Windows crypto stuff, from Mono.
53551
53552 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
53553
53554         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
53555         if present, for intel RND.  Return error on failures.
53556
53557 2008-08-18  Ben Pfaff  <blp@gnu.org>
53558
53559         gitlog-to-changelog: give better diagnostic for failed pipe-open
53560         * build-aux/gitlog-to-changelog: Improve error message: suggest
53561         that the version of Git may be too old.
53562
53563 2008-08-18  Simon Josefsson  <simon@josefsson.org>
53564
53565         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
53566         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
53567
53568 2008-08-18  Bruno Haible  <bruno@clisp.org>
53569
53570         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
53571         pthread_in_use().
53572
53573 2008-08-18  Bruno Haible  <bruno@clisp.org>
53574
53575         * lib/glthread/threadlib.c: Include <pthread.h>.
53576
53577 2008-08-18  Bruno Haible  <bruno@clisp.org>
53578
53579         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
53580         glthread_recursive_lock_* macros.
53581         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
53582         Fix syntax error.
53583
53584 2008-08-18  Bruno Haible  <bruno@clisp.org>
53585
53586         * lib/glthread/thread.c: Avoid forcing a context switch right after
53587         thread creation.
53588
53589 2008-08-17  Bruno Haible  <bruno@clisp.org>
53590
53591         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
53592         * lib/glthread/thread.h: Provide Win32 specific implementation.
53593         * modules/thread (Files): Add lib/glthread/thread.c.
53594         (Depends-on): Add lock.
53595         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
53596
53597 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53598
53599         New module 'yield'.
53600         * modules/yield: New file.
53601         * lib/glthread/yield.h: New file.
53602         * m4/yield.m4: New file.
53603         * MODULES.html.sh (Multithreading): Add yield.
53604
53605 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53606
53607         New module 'thread'.
53608         * modules/thread: New file.
53609         * lib/glthread/thread.h: New file.
53610         * m4/thread.m4: New file.
53611         * MODULES.html.sh (Multithreading): Add thread.
53612
53613 2008-08-17  Bruno Haible  <bruno@clisp.org>
53614
53615         * lib/glthread/lock.h: Include <stdlib.h> always.
53616         * lib/glthread/tls.h: Likewise.
53617         * lib/glthread/cond.h: Likewise.
53618
53619 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53620
53621         New module 'cond'.
53622         * modules/cond: New file.
53623         * lib/glthread/cond.h: New file.
53624         * lib/glthread/cond.c: New file.
53625         * m4/cond.m4: New file.
53626         * MODULES.html.sh (Multithreading): Add cond.
53627
53628 2008-08-16  Eric Blake  <ebb9@byu.net>
53629
53630         c-stack: fix regression on Irix 5.3 from 2008-06-21
53631         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
53632         sa_sigaction...
53633         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
53634         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
53635         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
53636         * modules/signal (Makefile.am): Use the value.
53637         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
53638         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
53639         * doc/posix-headers/signal.texi (signal.h): Document this
53640         portability issue.
53641         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
53642         Reported by Tom G. Christensen.
53643
53644 2008-08-17  Bruno Haible  <bruno@clisp.org>
53645
53646         New module 'threadlib'.
53647         * modules/threadlib: New file.
53648         * lib/glthread/threadlib.c: New file, extracted from
53649         lib/glthread/lock.c.
53650         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
53651         functions.
53652         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
53653         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
53654         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
53655         macros.
53656         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
53657         (gl_DISABLE_THREADS): Remove macro.
53658         * modules/lock (Files): Remove build-aux/config.rpath.
53659         (Depends-on): Remove havelib. Add threadlib.
53660         (configure.ac-early): Remove section.
53661         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
53662         * modules/tls (Depends-on): Remove lock. Add threadlib.
53663         (Link): New section, copied from threadlib.
53664         * MODULES.html.sh (Multithreading): Add threadlib.
53665
53666 2008-08-14  Bruno Haible  <bruno@clisp.org>
53667
53668         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
53669         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
53670         glthread_rwlock_unlock, glthread_rwlock_destroy,
53671         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
53672         glthread_recursive_lock_destroy): Define as macros always.
53673         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
53674         glthread_lock_lock.
53675         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
53676         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
53677         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
53678         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
53679         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
53680         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
53681         (glthread_recursive_lock_lock_func): Renamed from
53682         glthread_recursive_lock_lock.
53683         (glthread_recursive_lock_unlock_func): Renamed from
53684         glthread_recursive_lock_unlock.
53685         (glthread_recursive_lock_destroy_func): Renamed from
53686         glthread_recursive_lock_destroy.
53687
53688 2008-08-14  Bruno Haible  <bruno@clisp.org>
53689
53690         * lib/glthread/lock.h: Renamed from lib/lock.h.
53691         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
53692         * lib/glthread/tls.h: Renamed from lib/tls.h.
53693         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
53694         * lib/fstrcmp.c: Update includes.
53695         * lib/strsignal.c: Update includes.
53696         * modules/lock (Files, Makefile.am): Update.
53697         (Include): Change to "glthread/lock.h".
53698         * modules/tls (Files, Makefile.am): Update.
53699         (Include): Change to "glthread/tls.h".
53700         * tests/test-lock.c: Update includes.
53701         * tests/test-tls.c: Update includes.
53702         * NEWS: Mention the renamed header files.
53703
53704 2008-08-11  Jim Meyering  <meyering@redhat.com>
53705
53706         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
53707
53708 2008-08-11  Eric Blake  <ebb9@byu.net>
53709
53710         test-c-stack: avoid C99-ism
53711         * tests/test-c-stack.c (main): Fix whitespace, move declaration
53712         before statement.
53713         Reported by Alain Guibert.
53714
53715 2008-08-10  Jim Meyering  <meyering@redhat.com>
53716
53717         ensure that return value of uinttostr et al are not ignored
53718         * lib/inttostr.h (__GNUC_PREREQ): Define.
53719         (__attribute_warn_unused_result__): Define.
53720         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
53721
53722 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
53723
53724         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
53725         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
53726
53727 2008-08-07  Jim Meyering  <meyering@redhat.com>
53728
53729         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
53730
53731         * modules/mkstemp (License): Relicense under LGPLv2+.
53732         * modules/tempname (License): Likewise.
53733
53734 2008-08-06  Bruno Haible  <bruno@clisp.org>
53735
53736         * lib/poll.c (poll): Further micro-optimization.
53737
53738 2008-08-06  Jim Meyering  <meyering@redhat.com>
53739
53740         inet_pton.c: use locale-independent tolower
53741         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
53742         (inet_pton6): Use c_tolower rather than tolower.
53743         * modules/inet_pton (Depends-on): Add c-ctype.
53744
53745 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
53746
53747         * lib/poll.c (poll): Avoid division when timeout is 0, cache
53748         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
53749
53750 2008-08-06  Jim Meyering  <meyering@redhat.com>
53751
53752         * modules/inet_pton (License): Relicense under LGPLv2+.
53753
53754 2008-08-03  Bruno Haible  <bruno@clisp.org>
53755
53756         Additional non-aborting API for lock and tls.
53757         * lib/lock.h: Include <errno.h>.
53758         (glthread_lock_init): New macro/function.
53759         (gl_lock_init): Define as wrapper around glthread_lock_init.
53760         (glthread_lock_lock): New macro/function.
53761         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
53762         (glthread_lock_unlock): New macro/function.
53763         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
53764         (glthread_lock_destroy): New macro/function.
53765         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
53766         (glthread_rwlock_init): New macro/function.
53767         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
53768         (glthread_rwlock_rdlock): New macro/function.
53769         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
53770         (glthread_rwlock_wrlock): New macro/function.
53771         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
53772         (glthread_rwlock_unlock): New macro/function.
53773         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
53774         (glthread_rwlock_destroy): New macro/function.
53775         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
53776         (glthread_recursive_lock_init): New macro/function.
53777         (gl_recursive_lock_init): Define as wrapper around
53778         glthread_recursive_lock_init.
53779         (glthread_recursive_lock_lock): New macro/function.
53780         (gl_recursive_lock_lock): Define as wrapper around
53781         glthread_recursive_lock_lock.
53782         (glthread_recursive_lock_unlock): New macro/function.
53783         (gl_recursive_lock_unlock): Define as wrapper around
53784         glthread_recursive_lock_unlock.
53785         (glthread_recursive_lock_destroy): New macro/function.
53786         (gl_recursive_lock_destroy): Define as wrapper around
53787         glthread_recursive_lock_destroy.
53788         (glthread_once): New macro/function.
53789         (gl_once): Define as wrapper around glthread_once.
53790         Update function declarations.
53791         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
53792         glthread_rwlock_init. Return error code.
53793         (glthread_rwlock_rdlock_multithreaded): Renamed from
53794         glthread_rwlock_rdlock. Return error code.
53795         (glthread_rwlock_wrlock_multithreaded): Renamed from
53796         glthread_rwlock_wrlock. Return error code.
53797         (glthread_rwlock_unlock_multithreaded): Renamed from
53798         glthread_rwlock_unlock. Return error code.
53799         (glthread_rwlock_destroy_multithreaded): Renamed from
53800         glthread_rwlock_destroy. Return error code.
53801         (glthread_recursive_lock_init_multithreaded): Renamed from
53802         glthread_recursive_lock_init. Return error code.
53803         (glthread_recursive_lock_lock_multithreaded): Renamed from
53804         glthread_recursive_lock_lock. Return error code.
53805         (glthread_recursive_lock_unlock_multithreaded): Renamed from
53806         glthread_recursive_lock_unlock. Return error code.
53807         (glthread_recursive_lock_destroy_multithreaded): Renamed from
53808         glthread_recursive_lock_destroy. Return error code.
53809         (glthread_once_call): Make static.
53810         (glthread_once_multithreaded): Renamed from glthread_once.
53811         * lib/tls.h: Include <errno.h>.
53812         (glthread_tls_key_init): New macro/function.
53813         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
53814         (glthread_tls_set): New macro/function.
53815         (gl_tls_set): Define as wrapper around glthread_tls_set.
53816         (glthread_tls_key_destroy): New macro/function.
53817         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
53818         Update function declarations.
53819         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
53820         glthread_tls_get.
53821         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53822
53823 2008-08-04  Eric Blake  <ebb9@byu.net>
53824
53825         gnumakefile: use space, not TAB, outside of targets
53826         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
53827
53828 2008-08-02  Jim Meyering  <meyering@redhat.com>
53829
53830         getdate.y: avoid locale-dependent date parsing failure
53831         In Turkish locales, getdate would fail to recognize keywords
53832         containing a lowercase "i".  The solution is not to rely on
53833         locale-sensitive case-conversion.
53834         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
53835         (lookup_word): Use c_toupper in place of toupper.
53836         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
53837         Reported by Vefa Bicakci <bicave@superonline.com> in
53838         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
53839         * modules/getdate (Depends-on): Add c-ctype.
53840
53841 2008-08-02  Bruno Haible  <bruno@clisp.org>
53842
53843         * gnulib-tool (func_import): When updating or creating a .gitignore
53844         file, prepend each added line with a slash, and ignore leading slashes
53845         from the existing lines.
53846         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53847
53848 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53849
53850         Portability fix for GNU make 3.79.1.
53851         * top/GNUmakefile: Avoid 'else COND', which older GNU make
53852         versions do not understand.
53853
53854 2008-08-01  Bruno Haible  <bruno@clisp.org>
53855
53856         Work around bug of HP-UX 10.20 cc with -0.0 literal.
53857         * tests/test-isnanf.h (zero): New variable.
53858         (main): Avoid literal -0.0f.
53859         * tests/test-isnand.h (zero): New variable.
53860         (main): Avoid literal -0.0.
53861         * tests/test-isnanl.h (zero): New variable.
53862         (main): Avoid literal -0.0L.
53863         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
53864         (test_float, test_double, test_long_double): Avoid literals -0.0f,
53865         -0.0, -0.0L.
53866         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
53867         (test_signbitd): Avoid literal -0.0.
53868         (test_signbitl): Avoid literal -0.0L.
53869         * tests/test-ceilf1.c (zero): New variable.
53870         (main): Avoid literal -0.0f.
53871         * tests/test-ceill.c (zero): New variable.
53872         (main): Avoid literal -0.0L.
53873         * tests/test-floorf1.c (zero): New variable.
53874         (main): Avoid literal -0.0f.
53875         * tests/test-floorl.c (zero): New variable.
53876         (main): Avoid literal -0.0L.
53877         * tests/test-roundf1.c (zero): New variable.
53878         (main): Avoid literal -0.0f.
53879         * tests/test-round1.c (zero): New variable.
53880         (main): Avoid literal -0.0.
53881         * tests/test-roundl.c (zero): New variable.
53882         (main): Avoid literal -0.0L.
53883         * tests/test-truncf1.c (zero): New variable.
53884         (main): Avoid literal -0.0f.
53885         * tests/test-trunc1.c (zero): New variable.
53886         (main): Avoid literal -0.0.
53887         * tests/test-truncl.c (zero): New variable.
53888         (main): Avoid literal -0.0L.
53889         * tests/test-frexp.c (zero): New variable.
53890         (main): Avoid literal -0.0.
53891         * tests/test-frexpl.c (zero): New variable.
53892         (main): Avoid literal -0.0L.
53893         * tests/test-ldexpl.c (zero): New variable.
53894         (main): Avoid literal -0.0L.
53895         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53896         (zerod, zerol): New variables.
53897         (test_function): Avoid literals -0.0, -0.0L.
53898         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53899         (zerod, zerol): New variables.
53900         (test_function): Avoid literals -0.0, -0.0L.
53901         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53902         (zerod, zerol): New variables.
53903         (test_function): Avoid literals -0.0, -0.0L.
53904         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53905         (zerod, zerol): New variables.
53906         (test_function): Avoid literals -0.0, -0.0L.
53907         * tests/test-strtod.c (zero): New variable.
53908         (main): Avoid literal -0.0.
53909         Reported by Jonathan C. Patschke <jp@centtech.com>.
53910
53911 2008-07-31  Jim Meyering  <meyering@redhat.com>
53912
53913         sha256.h: correct definition of SHA224_DIGEST_SIZE
53914         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
53915         Reported by Paulie Pena IV <paulie4@gmail.com>.
53916         Define as 224 / 8, rather than as a literal.
53917         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
53918         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
53919         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
53920
53921 2008-07-31  Bruno Haible  <bruno@clisp.org>
53922
53923         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
53924         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
53925         Reported by Jonathan Patschke <jp@centtech.com>.
53926
53927 2008-07-31  Bruno Haible  <bruno@clisp.org>
53928
53929         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
53930         Reported by Paolo Bonzini <bonzini@gnu.org>.
53931
53932 2008-07-30  Eric Blake  <ebb9@byu.net>
53933
53934         test-strtod: allow compilation without -lm
53935         * tests/test-strtod.c (main): Avoid link dependence on fabs.
53936         Reported by Dennis Clarke <blastwave@gmail.com>.
53937
53938 2008-07-28  Jim Meyering  <meyering@redhat.com>
53939
53940         bootstrap: work also when there are no .po files in po/
53941         * build-aux/bootstrap (update_po_files): Complete the change
53942         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
53943
53944 2008-07-27  Jim Meyering  <meyering@redhat.com>
53945
53946         * users.txt: Add zile.
53947
53948 2008-07-26  Ben Pfaff  <blp@gnu.org>
53949
53950         Add missing dependencies on new m4/exponent[fdl].m4 files.
53951         * modules/isnanf-nolibm: Add m4/exponentf.m4.
53952         * modules/isnand-nolibm: Add m4/exponentd.m4.
53953         * modules/isnanl-nolibm: Add m4/exponentl.m4.
53954         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
53955         m4/isnan[fdl].m4, because the macros actually used moved.
53956         Reported by Jim Meyering.
53957
53958 2008-07-14  Ben Pfaff  <blp@gnu.org>
53959
53960         Add isinf module.
53961         * lib/isinf.c: New file.
53962         * lib/math.in.h: Define isinf macro if we have decided to replace
53963         it.
53964         * m4/isinf.m4: New file.
53965         * m4/math_h.m4: Initialize and substitute variables for isinf
53966         module.
53967         * modules/isinf: New file.
53968         * modules/isinf-tests: New file.
53969         * modules/math: Add substitutions for new module.
53970         * tests/test-isinf.c: New file.
53971         * doc/posix-functions/isinf.texi: Mention new module.
53972         * MODULES.html.sh: Mention new module.
53973
53974 2008-07-14  Ben Pfaff  <blp@gnu.org>
53975
53976         Factor out some macros for use by additional modules.
53977         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
53978         exponentf.m4.
53979         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
53980         exponentd.m4.
53981         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
53982         file exponentl.m4.
53983         * m4/exponentf.m4: New file.
53984         * m4/exponentd.m4: New file.
53985         * m4/exponentl.m4: New file.
53986         * modules/isnanf: Use new file m4/exponentf.m4.
53987         * modules/isnand: Use new file m4/exponentd.m4.
53988         * modules/isnanl: Use new file m4/exponentl.m4.
53989
53990 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
53991
53992         mktime.c: normalize tp->tm_isdst value to -1/0/1.
53993         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
53994         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
53995         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
53996
53997         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
53998         readlink on platforms without PATH_MAX.
53999
54000 2008-07-21  Eric Blake  <ebb9@byu.net>
54001
54002         Warn, not fail, on stale version.
54003         * top/GNUmakefile (_curr-ver): Tone down previous patch.
54004
54005         Don't allow installation with stale devel version number.
54006         * top/GNUmakefile (_is-install-target): New macro.
54007         (_curr-ver): Forbid installation with stale version number.
54008
54009 2008-07-20  Bruno Haible  <bruno@clisp.org>
54010
54011         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
54012         TESTS_ENVIRONMENT.
54013         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
54014
54015 2008-07-20  Bruno Haible  <bruno@clisp.org>
54016
54017         * lib/c-stack.h (c_stack_action): Add documentation.
54018         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
54019
54020 2008-07-20  Bruno Haible  <bruno@clisp.org>
54021
54022         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
54023         * modules/readlink (License): Likewise.
54024
54025 2008-07-17  Eric Blake  <ebb9@byu.net>
54026
54027         * modules/c-stack (Link): Fix typo.
54028
54029         Make c-stack use libsigsegv, when available.
54030         * modules/c-stack (Depends-on): Add libsigsegv.
54031         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
54032         needed.
54033         * lib/c-stack.c (SIGSTKSZ): Define fallback.
54034         (segv_handler, overflow_handler, c_stack_action)
54035         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
54036         implementation when libsigsegv is available, but only when using
54037         the library is necessary.
54038         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
54039         comment, explaining why XSI check fails on Linux.
54040         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
54041         * tests/test-c-stack2.sh: Tweak skip message.
54042         * NEWS: Document new link-time requirements.
54043
54044 2008-07-16  Eric Blake  <ebb9@byu.net>
54045
54046         c-stack: Expose false positives when not using libsigsegv.
54047         * modules/c-stack-tests (Files): Expand test.
54048         * tests/test-c-stack.c (main): Add means to conditionally trigger
54049         non-overflow SIGSEGV.
54050         * tests/test-c-stack2.sh: New file.
54051
54052 2008-07-14  Bruno Haible  <bruno@clisp.org>
54053
54054         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
54055         Reported by Eric Blake.
54056
54057 2008-07-14  Sam Steingold  <sds@gnu.org>
54058             Bruno Haible  <bruno@clisp.org>
54059
54060         New module libsigsegv.
54061         * modules/libsigsegv: New file.
54062         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
54063         modifications.
54064         * MODULES.html.sh (Signal handling): New section.
54065
54066 2008-07-14  Bruno Haible  <bruno@clisp.org>
54067
54068         * modules/unictype/ctype-* (Description): Add the word "function".
54069         Improves the resulting doc in MODULES.html.
54070
54071 2008-07-12  Ben Pfaff  <blp@gnu.org>
54072
54073         Add longlong module.
54074         * modules/longlong: New file.
54075
54076 2008-07-12  Bruno Haible  <bruno@clisp.org>
54077
54078         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
54079         to empty.
54080
54081 2008-07-10  Ben Pfaff  <blp@gnu.org>
54082
54083         Add isnan module.
54084         * doc/posix-functions/isnan.texi: Mention new module.
54085         * lib/math.in.h: Define isnan macro if we have decided to replace
54086         it.
54087         * m4/isnan.m4: New file.
54088         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
54089         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
54090         also.
54091         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
54092         redundancy.
54093         * m4/math_h.m4: Initialize and substitute variables for isnan
54094         module.
54095         * modules/isnan: New file.
54096         * modules/isnan-tests: New file.
54097         * modules/math: Add substitutions for new module.
54098         * tests/test-isnan.c: New file.
54099         * MODULES.html.sh: Mention new module.
54100
54101 2008-07-10  Ben Pfaff  <blp@gnu.org>
54102
54103         Add isnanf module.
54104         * lib/isnanf.m4: New file.
54105         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
54106         (gl_HAVE_ISNANF_IN_LIBM): New macro.
54107         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
54108         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
54109         * modules/isnanf: New file.
54110         * modules/isnanf-tests: New file.
54111         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
54112         files.
54113         * tests/test-isnanf-nolibm.c: factored most of its contents into
54114         new file tests/test-isnanf.h.
54115         * tests/test-isnanf.h: New file.
54116         * tests/test-isnanf.c: New file.
54117         * MODULES.html.sh: Mention new module.
54118         * doc/glibc-functions/isnanf.texi: Mention new module.
54119
54120 2008-07-10  Ben Pfaff  <blp@gnu.org>
54121
54122         Add isnand module.
54123         * lib/isnand.h: New file.
54124         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
54125         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
54126         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
54127         functionality also.
54128         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
54129         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
54130         (gl_HAVE_ISNAND_IN_LIBM): New macro.
54131         * modules/isnand: New file.
54132         * modules/isnand-tests: New file.
54133         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
54134         files.
54135         * tests/test-isnand-nolibm.c: factored most of its contents into
54136         new file tests/test-isnand.h.
54137         * tests/test-isnand.h: New file.
54138         * tests/test-isnand.c: New file.
54139         * MODULES.html.sh: Mention new module.
54140
54141 2008-07-10  Ben Pfaff  <blp@gnu.org>
54142
54143         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
54144         * lib/isnand.h: Rename lib/isnand-nolibm.h.
54145         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
54146         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
54147         * modules/isnanf-nolibm: Update references to renamed files.
54148         * modules/isnand-nolibm: Likewise.
54149         * modules/isnanf-nolibm-tests: Likewise.
54150         * modules/isnand-nolibm-tests: Likewise.
54151         * lib/frexp.c: Likewise.
54152         * lib/isfinite.c: Likewise.
54153         * lib/signbitd.c: Likewise.
54154         * lib/signbitf.c: Likewise.
54155         * lib/vasnprintf.c: Likewise.
54156         * tests/test-ceilf1.c: Likewise.
54157         * tests/test-ceilf2.c: Likewise.
54158         * tests/test-floorf1.c: Likewise.
54159         * tests/test-floorf2.c: Likewise.
54160         * tests/test-frexp.c: Likewise.
54161         * tests/test-round1.c: Likewise.
54162         * tests/test-round2.c: Likewise.
54163         * tests/test-roundf1.c: Likewise.
54164         * tests/test-strtod.c: Likewise.
54165         * tests/test-trunc1.c: Likewise.
54166         * tests/test-trunc2.c: Likewise.
54167         * tests/test-truncf1.c: Likewise.
54168         * tests/test-truncf2.c: Likewise.
54169         * NEWS: Mention the renamed header files.
54170
54171 2008-07-11  Jim Meyering  <meyering@redhat.com>
54172
54173         vc-list-files: make the last-resort awk code more portable
54174         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
54175         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
54176         does not support it.
54177
54178 2008-07-10  Eric Blake  <ebb9@byu.net>
54179
54180         Work with tar's bootstrap.
54181         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
54182         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
54183         an m4 comment.
54184
54185 2008-07-09  Jim Meyering  <meyering@redhat.com>
54186
54187         posix-shell.m4: fix typo that made this test malfunction
54188         * m4/posix-shell.m4: Remove capitalization in variable name.
54189
54190 2008-07-08  Bruno Haible  <bruno@clisp.org>
54191
54192         * m4/onceonly.m4: Update comments.
54193         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54194
54195 2008-07-04  Jim Meyering  <meyering@redhat.com>
54196
54197         * users.txt: Add vc-dwim.
54198         (bison, coreutils): Use the gitweb URL.
54199
54200 2008-07-03  Jim Meyering  <meyering@redhat.com>
54201
54202         * users.txt: Add libffcall.  From Sam Steingold.
54203
54204 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
54205
54206         getdate.y: do not ignore TZ with relative day, month or year offset
54207         * lib/getdate.y (get_date): Move the tz-handling block to follow the
54208         relative-date-handling, since otherwise, the latter would clobber the
54209         sole output (an updated Start value) of the tz-handling block.
54210         * tests/test-getdate.c: Tests for the fix
54211
54212 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54213
54214         Recognize 'foo_LIBRARIES += libgnu.a'.
54215         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
54216         makefile snippet has already specified an installation location,
54217         also using '+='.
54218
54219 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
54220
54221         getdate.y: factor out common actions
54222         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
54223         Use them in place of open-coded actions.
54224
54225 2008-07-01  Simon Josefsson  <simon@josefsson.org>
54226
54227         Add self-test for getdate module.
54228         * modules/getdate-tests: New file.
54229         * tests/test-getdate.c: New file.
54230
54231 2008-06-29  Bruno Haible  <bruno@clisp.org>
54232
54233         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
54234         .gitignore.
54235         Reported by Sylvain Beucler <beuc@beuc.net>.
54236
54237 2008-06-29  Bruno Haible  <bruno@clisp.org>
54238
54239         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
54240         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
54241
54242 2008-06-29  Bruno Haible  <bruno@clisp.org>
54243
54244         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
54245         EXTRA_DIST.
54246         Reported by Sylvain Beucler <beuc@beuc.net>.
54247
54248 2008-06-26  Jim Meyering  <meyering@redhat.com>
54249
54250         make several modules depend on the "open" module
54251         This provides slightly increased consistency when opening-for-write
54252         the name of a non-directory spelled with a trailing slash.
54253         * modules/chdir-safer: Likewise.
54254         * modules/chown: Likewise.
54255         * modules/clean-temp: Likewise.
54256         * modules/copy-file: Likewise.
54257         * modules/fchdir: Likewise.
54258         * modules/fcntl-safer: Likewise.
54259         * modules/pipe: Likewise.
54260         * modules/utime: Likewise.
54261         Prompted by Eric Blake and Bruno Haible.
54262
54263 2008-06-24  Andreas Schwab  <schwab@suse.de>
54264
54265         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
54266         literals can be used as initializers for global variables.
54267
54268 2008-06-23  Eric Blake  <ebb9@byu.net>
54269
54270         Make gnulib-cache.m4 easier to diff.
54271         * gnulib-tool (func_import): Allow newlines when reading cached
54272         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
54273
54274 2008-06-23  Bruno Haible  <bruno@clisp.org>
54275
54276         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
54277         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
54278         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
54279         m4/signalblocking.m4.
54280         (gl_PREREQ_SIGACTION): Don't invoke it.
54281         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
54282         gl_PREREQ_SIG_HANDLER_H.
54283         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54284         Don't check for sigaction here.
54285
54286 2008-06-23  Bruno Haible  <bruno@clisp.org>
54287
54288         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
54289         (install_handlers): Don't set the SA_RESETHAND flag.
54290
54291 2008-06-23  Bruno Haible  <bruno@clisp.org>
54292
54293         * m4/sigaction.m4: Comment fixes.
54294         * lib/signal.in.h: Likewise.
54295
54296 2008-06-23  Eric Blake  <ebb9@byu.net>
54297
54298         Fix typo.
54299         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
54300
54301         Avoid SA_ namespace.
54302         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
54303         Reported by Ralf Wildenhues.
54304
54305         Avoid test failure due to SA_RESTORER.
54306         * tests/test-sigaction.c (SA_MASK): New macro.
54307         (main): Avoid failing due to extension flags being set.
54308         Reported by Jim Meyering.
54309
54310         Revert use of sig-handler.h in sigprocmask.c.
54311         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
54312         it requires the existence of struct sigaction.
54313         * lib/sigprocmask.c (handler_t): Restore typedef.
54314         (rpl_signal, old_handlers): Use local type.
54315
54316 2008-06-22  Bruno Haible  <bruno@clisp.org>
54317
54318         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
54319         conditionally.
54320         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54321
54322 2008-06-22  Bruno Haible  <bruno@clisp.org>
54323
54324         * doc/posix-functions/siginterrupt.texi: Move note.
54325
54326         * lib/signal.in.h (SA_RESTART): New macro.
54327         * lib/sigaction.c: Update comment.
54328
54329         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
54330
54331         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
54332         (gl_PREREQ_SIGPROCMASK): Invoke it.
54333         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
54334
54335         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
54336
54337         * lib/sigprocmask.c: Update a comment.
54338
54339 2008-06-21  Eric Blake  <ebb9@byu.net>
54340
54341         Use sigaction module rather than signal().
54342         * modules/c-stack (Depends-on): Add sigaction.
54343         * modules/fatal-signal (Depends-on): Likewise.
54344         * modules/nanosleep (Depends-on): Likewise.
54345         * modules/sigprocmask (Files): Add sig-handler.h.
54346         * modules/sigaction (Files): Likewise.
54347         * lib/sig-handler.h (get_handler): New file, suggested by Paul
54348         Eggert.
54349         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
54350         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
54351         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
54352         (init_fatal_signals): Likewise.
54353         * lib/nanosleep.c (rpl_nanosleep): Likewise.
54354         (siginterrupt): Delete fallback.
54355         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
54356         instead.
54357         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
54358         siginterrupt.
54359
54360         New module sigaction, for mingw.
54361         * modules/sigaction: New module...
54362         * modules/sigaction-tests: ...and its test.
54363         * m4/sigaction.m4: New file.
54364         * lib/sigaction.c: Likewise.
54365         * tests/test-sigaction.c: Likewise.
54366         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
54367         * modules/signal (Makefile.am): Likewise.
54368         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
54369         needed.
54370         * doc/posix-headers/signal.texi (signal.h): Mention provided
54371         types.
54372         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
54373         that sigaction is preferable.
54374         * doc/posix-functions/sigaction.texi (sigaction): Mention new
54375         module.
54376         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54377         sigaction.
54378
54379         Improve robustness of sigprocmask by overriding signal.
54380         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
54381         is in use.
54382         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
54383         (SIGKILL, SIGSTOP): Provide fallbacks.
54384         (rpl_signal): Implement.
54385         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
54386         signal can be called inside handlers.
54387
54388         Fix nanosleep module on mingw.
54389         * modules/nanosleep (Depends-on): Add sys_select.
54390         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
54391
54392         Fix licensing of sigprocmask.
54393         * modules/raise (License): Relicense as LGPL.
54394
54395 2008-06-21  Bruno Haible  <bruno@clisp.org>
54396
54397         * lib/propername.c (proper_name_utf8): Don't use the transliterated
54398         result if it contains question marks.
54399         Reported by Michael Geng <linux@michaelgeng.de>.
54400
54401 2008-06-19  Bruno Haible  <bruno@clisp.org>
54402
54403         Fix CVS-ism.
54404         * doc/gnulib.texi: Include updated-stamp.texi.
54405         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
54406         (updated-stamp.texi): New rule.
54407         (gnulib.info): Depend on it.
54408         * doc/.gitignore: Add updated-stamp.texi.
54409         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
54410
54411 2008-06-19  Bruno Haible  <bruno@clisp.org>
54412
54413         * doc/Makefile (gnulib.info): Update and simplify dependencies.
54414         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54415
54416 2008-06-19  Eric Blake  <ebb9@byu.net>
54417
54418         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
54419         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
54420         Reported by Stepan Kasal.
54421
54422 2008-06-18  Bruno Haible  <bruno@clisp.org>
54423
54424         * lib/fatal-signal.c (init_fatal_signals): Add comment.
54425         Reported by Eric Blake.
54426
54427 2008-06-18  Eric Blake  <ebb9@byu.net>
54428
54429         Work around cygwin 1.5.25 strsignal bug.
54430         * tests/test-strsignal.c: Allow for const char *.
54431         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
54432
54433 2008-06-18  Simon Josefsson  <simon@josefsson.org>
54434
54435         * users.txt: Update URL to article and add author/date
54436         information.
54437
54438 2008-06-17  Bruno Haible  <bruno@clisp.org>
54439
54440         New macro gl_DISABLE_THREADS.
54441         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
54442         if the user did not pass --enable-threads or --disable-threads option.
54443         (gl_DISABLE_THREADS): New macro.
54444         Reported by Eric Blake <ebb9@byu.net>.
54445
54446 2008-06-17  Bruno Haible  <bruno@clisp.org>
54447
54448         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
54449         when the macro ignores it.
54450         Based on a patch by Eric Blake <ebb9@byu.net>.
54451
54452 2008-06-17  Bruno Haible  <bruno@clisp.org>
54453
54454         * modules/tls (License): Change to LGPLv2+.
54455         Reported by Eric Blake.
54456
54457 2008-06-17  Eric Blake  <ebb9@byu.net>
54458
54459         Simplify c-stack prerequisites.
54460         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
54461         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
54462         no longer requires <ucontext.h> to exist.  Optimize setrlimit
54463         check.
54464         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
54465         <sys/resource.h>.
54466
54467         Move c-stack test into testsuite.
54468         * modules/c-stack-tests: New file.
54469         * lib/c-stack.c [DEBUG]: Move test program...
54470         * tests/test-c-stack.c: ...into this new file.  Skip rather than
54471         fail test if sigaltstack is lacking.
54472         * tests/test-c-stack.sh: New driver file.
54473
54474 2008-06-16  Eric Blake  <ebb9@byu.net>
54475
54476         Use raise module consistently.
54477         * modules/fatal-signal (Depends-on): Add raise.
54478         * modules/sigprocmask (Depends-on): Likewise.
54479         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
54480         * lib/sigprocmask.c (sigprocmask): Likewise.
54481         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54482         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
54483
54484         Fix compliance bug in sigpending.
54485         * lib/sigprocmask.c (sigpending): Return pending array via
54486         parameter, not return value.
54487
54488 2008-06-14  Eric Blake  <ebb9@byu.net>
54489
54490         Improve obstack-printf test code.
54491         * tests/test-obstack-printf.c (test_function): Fix comment, and
54492         simplify usage of obstack_* in macros.  Add a test for coverage.
54493         Reported by Bruno Haible.
54494
54495 2008-06-14  Bruno Haible  <bruno@clisp.org>
54496
54497         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
54498         array size as a constant, not as a const variable.
54499         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
54500         AC_USE_SYSTEM_EXTENSIONS.
54501         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
54502         Test whether the obstack_printf function actually exists.
54503         * modules/obstack-printf (Depends-on): Add extensions.
54504         (Include): Remove obstack.h.
54505         * modules/obstack-printf-posix (Depends-on): Add extensions.
54506         (Include): Remove obstack.h.
54507
54508 2008-06-13  Eric Blake  <ebb9@byu.net>
54509
54510         Add obstack-printf and obstack-printf-posix modules.
54511         * modules/obstack-printf: New file.
54512         * modules/obstack-printf-posix: Likewise.
54513         * MODULES.html.sh (Misc): Mention them.
54514         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
54515         Likewise.
54516         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
54517         Likewise.
54518         * modules/stdio (Makefile.am): Accomodate new modules.
54519         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54520         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
54521         Declare.
54522         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
54523         functions.
54524         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
54525         (gl_REPLACE_OBSTACK_PRINTF): New macros
54526         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
54527         * tests/test-obstack-printf.c: New file.
54528         * modules/obstack-printf-tests: Likewise.
54529         * modules/obstack-printf-posix-tests: Likewise.
54530
54531 2008-06-11  Bruno Haible  <bruno@clisp.org>
54532
54533         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
54534         * lib/open.c: Include errno.h.
54535         (open): Fail when attempting to write to a file that has a trailing
54536         slash.
54537         * tests/test-open.c (main): Test against trailing slash bug.
54538         * doc/posix-functions/open.texi: Mention the trailing slash bug.
54539
54540 2008-06-10  Bruno Haible  <bruno@clisp.org>
54541
54542         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
54543         for $? to work inside the trap command, with various /bin/sh-s.
54544         * tests/test-vc-list-files-cvs.sh: Likewise.
54545
54546 2008-06-10  Bruno Haible  <bruno@clisp.org>
54547
54548         * lib/acl-internal.h: Don't include gettext.h here.
54549         * lib/set-mode-acl.c: Include gettext.h here.
54550         * lib/copy-acl.c: Likewise.
54551
54552 2008-06-10  Bruno Haible  <bruno@clisp.org>
54553
54554         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
54555         * lib/wait-process.c (wait_subprocess): Likewise.
54556         * lib/execute.h (execute): Add termsigp argument.
54557         * lib/execute.c (execute): Likewise.
54558         * lib/csharpcomp.c (compile_csharp_using_pnet,
54559         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
54560         * lib/csharpexec.c (execute_csharp_using_pnet,
54561         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
54562         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
54563         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
54564         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
54565         is_jikes_present): Update.
54566         * lib/javaexec.c (execute_java_class): Update.
54567         * lib/javaversion.c (execute_and_read_line): Update.
54568         * NEWS: Document the changes.
54569         Reported by Eric Blake.
54570
54571 2008-06-10  Eric Blake  <ebb9@byu.net>
54572
54573         Add missing include.
54574         * tests/test-strstr.c (includes): Add <signal.h>.
54575         * tests/test-strcasestr.c (includes): Likewise.
54576         * tests/test-memmem.c (includes): Likewise.
54577
54578 2008-06-10  Bruno Haible  <bruno@clisp.org>
54579
54580         * lib/wait-process.c (wait_subprocess): Add an assertion.
54581
54582 2008-06-10  Bruno Haible  <bruno@clisp.org>
54583
54584         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
54585
54586 2008-06-10  Bruno Haible  <bruno@clisp.org>
54587
54588         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
54589         using alarm().
54590         * tests/test-strcasestr.c (main): Likewise.
54591         * tests/test-strstr.c (main): Likewise.
54592
54593 2008-06-09  Bruno Haible  <bruno@clisp.org>
54594
54595         Work around the Solaris 10 ACE ACLs ABI change.
54596         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
54597         declare if ACL_NO_TRIVIAL is present.
54598         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
54599         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
54600         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
54601         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
54602         define if ACL_NO_TRIVIAL is present.
54603         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
54604         and use the current ABI.
54605         (file_has_acl): Use same #if condition as elsewhere.
54606         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
54607         in use, and use the current ABI.
54608         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
54609         Reported by Jim Meyering.
54610
54611 2008-06-09  Eric Blake  <ebb9@byu.net>
54612
54613         Work around environments that (stupidly) ignore SIGALRM.
54614         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
54615         before using alarm().
54616         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54617         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54618         Reported by Ian Beckwith <ianb@erislabs.net>.
54619
54620         Produce autobuild blurb earlier in log.
54621         * modules/autobuild (configure.ac-early): Move AB_INIT here.
54622
54623 2008-06-09  Jim Meyering  <meyering@redhat.com>
54624         and OndÅ™ej Vašík  <ovasik@redhat.com>
54625
54626         utimens.c: correct kernel bug work-around
54627         OndÅ™ej Vašík found that the invalid return value of 280 indicates
54628         failure, not success, and the kernel bug we're trying to work
54629         around affects not just the utimensat call, but also the fallback
54630         futimens call.
54631         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
54632         not success.
54633         [HAVE_FUTIMENS]: Use the same work-around, here.
54634
54635 2008-06-09  Jim Meyering  <meyering@redhat.com>
54636
54637         add more guards around definition of ACE_-related code
54638         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
54639         ALLOW and ACE_OWNER are also defined.
54640
54641 2008-06-08  Bruno Haible  <bruno@clisp.org>
54642
54643         * lib/acl-internal.h: Add me as co-author.
54644         * lib/file-has-acl.c: Likewise.
54645         * lib/set-mode-acl.c: Likewise.
54646         * lib/copy-acl.c: Likewise.
54647
54648 2008-06-08  Bruno Haible  <bruno@clisp.org>
54649
54650         Add support for AIX ACLs.
54651         * lib/acl-internal.h (acl_nontrivial): New declaration.
54652         * lib/file-has-acl.c (acl_nontrivial): New function.
54653         (file_has_acl): Add implementation using AIX 4 ACL API.
54654         * lib/set-mode-acl.c (qset_acl): Likewise.
54655         * lib/copy-acl.c (qcopy_acl): Likewise.
54656
54657 2008-06-08  Bruno Haible  <bruno@clisp.org>
54658
54659         Add support for HP-UX ACLs.
54660         * lib/acl-internal.h (acl_nontrivial): New declaration.
54661         * lib/file-has-acl.c (acl_nontrivial): New function.
54662         (file_has_acl): Add implementation using HP-UX 11 ACL API.
54663         * lib/set-mode-acl.c (qset_acl): Likewise.
54664         * lib/copy-acl.c (qcopy_acl): Likewise.
54665
54666 2008-06-08  Bruno Haible  <bruno@clisp.org>
54667
54668         Add support for Cygwin ACLs.
54669         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
54670         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
54671         the chmod_or_fchmod call.
54672         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
54673
54674 2008-06-08  Bruno Haible  <bruno@clisp.org>
54675
54676         Fix bug with setuid modes in Solaris 10+ code.
54677         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
54678         succeeded, when the mode contains some special bits.
54679
54680 2008-06-08  Bruno Haible  <bruno@clisp.org>
54681
54682         Add support for Solaris 7..10 ACLs.
54683         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
54684         declarations.
54685         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
54686         functions.
54687         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
54688         * lib/set-mode-acl.c (qset_acl): Likewise.
54689         * lib/copy-acl.c (qcopy_acl): Likewise.
54690
54691 2008-06-08  Bruno Haible  <bruno@clisp.org>
54692
54693         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
54694         declaration.
54695         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
54696         (acl_access_nontrivial): Remove MacOS X case.
54697         (file_has_acl): Use acl_extended_nontrivial.
54698         * lib/copy-acl.c (qcopy_acl): Likewise.
54699
54700 2008-06-08  Bruno Haible  <bruno@clisp.org>
54701
54702         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
54703
54704 2008-06-08  Jim Meyering  <meyering@redhat.com>
54705
54706         * modules/acl (Maintainer): Add Bruno Haible.
54707
54708 2008-06-07  Bruno Haible  <bruno@clisp.org>
54709
54710         Improve support for Tru64 ACLs.
54711         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
54712         ACL on OSF/1.
54713
54714 2008-06-07  Bruno Haible  <bruno@clisp.org>
54715
54716         Add support for MacOS X ACLs.
54717         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
54718         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
54719         * lib/set-mode-acl.c (qset_acl): Likewise.
54720         * lib/copy-acl.c (qcopy_acl): Likewise.
54721
54722 2008-06-07  Bruno Haible  <bruno@clisp.org>
54723
54724         Fix memory leak introduced on 2008-05-22.
54725         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
54726         use.
54727
54728 2008-06-07  Bruno Haible  <bruno@clisp.org>
54729
54730         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
54731         to construct an empty ACL.
54732
54733 2008-06-07  Bruno Haible  <bruno@clisp.org>
54734
54735         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
54736         precisely.
54737         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
54738
54739 2008-06-07  Bruno Haible  <bruno@clisp.org>
54740
54741         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
54742         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
54743
54744 2008-06-07  Bruno Haible  <bruno@clisp.org>
54745
54746         * doc/posix-functions/_setjmp.texi: Explain the use of this function
54747         regardless of POSIX.
54748         * doc/posix-functions/_longjmp.texi: Likewise.
54749         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
54750         SystemV platform in this case.
54751
54752 2008-06-06  Eric Blake  <ebb9@byu.net>
54753
54754         Document abort() bugs.
54755         * doc/posix-functions/abort.texi (abort): Mention anomalies.
54756
54757         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
54758         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
54759         sigsetjmp.
54760         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
54761         siglongjmp, but only as a macro.
54762         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
54763         is obsolete.
54764         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
54765
54766         Tweak documentation to cover cygwin argz bugs.
54767         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
54768         argz bug fix; no code change needed since no cygwin releases
54769         occurred between the last fix and the bug being tested.
54770         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
54771         module and recently fixed cygwin bugs.
54772         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
54773         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
54774         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
54775         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
54776         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
54777         Likewise.
54778         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
54779         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
54780         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
54781         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
54782         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
54783         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
54784         Likewise.
54785
54786         Avoid gcc warning on cygwin.
54787         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
54788         !ACL_NO_TRIVIAL]: Avoid unused variable.
54789
54790 2008-06-05  Eric Blake  <ebb9@byu.net>
54791
54792         Be tolerant of UNKNOWN version in gnulib-tool test dir.
54793         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
54794         git-version-gen fails to come up with a version.
54795         Reported by Simon Josefsson.
54796
54797 2008-06-05  Jim Meyering  <meyering@redhat.com>
54798             Paul Eggert  <eggert@cs.ucla.edu>
54799
54800         utimens.c: work around a probable Linux kernel bug
54801         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
54802         appears to be a kernel bug that causes utimensat to return 280
54803         instead of 0, indicating success.
54804
54805 2008-06-04  Bruno Haible  <bruno@clisp.org>
54806
54807         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
54808         2008-06-01 commit.
54809
54810 2008-06-04  Bruno Haible  <bruno@clisp.org>
54811
54812         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
54813         * lib/file-has-acl.c (acl_access_nontrivial): New function.
54814         (file_has_acl): Use it. Save errno afterwards.
54815         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
54816
54817 2008-06-03  Bruno Haible  <bruno@clisp.org>
54818
54819         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
54820         draft code. Simplify #ifs.
54821         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
54822         Put Solaris code after POSIX-draft code. Fix comments regarding
54823         Solaris 10, HP-UX. Mention Cygwin.
54824         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
54825
54826 2008-06-03  Eric Blake  <ebb9@byu.net>
54827
54828         Provide fallback for older kernels.
54829         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
54830         Provide runtime fallback if kernel lacks support.
54831         Reported by Mike Frysinger.
54832
54833 2008-06-02  Bruno Haible  <bruno@clisp.org>
54834
54835         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
54836         it exists.
54837
54838 2008-06-02  Bruno Haible  <bruno@clisp.org>
54839
54840         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
54841         * lib/copy-acl.c (qcopy_acl): Update comment.
54842
54843 2008-06-02  Bruno Haible  <bruno@clisp.org>
54844
54845         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
54846         like ACL APIs.
54847
54848 2008-06-02  Bruno Haible  <bruno@clisp.org>
54849
54850         * tests/test-file-has-acl.sh: Use different code for Cygwin.
54851         * tests/test-set-mode-acl.sh: Likewise.
54852         * tests/test-copy-acl.sh: Likewise.
54853         * tests/test-copy-file.sh: Likewise.
54854
54855 2008-06-02  Bruno Haible  <bruno@clisp.org>
54856
54857         * tests/test-file-has-acl.sh: Remove unused code.
54858
54859 2008-06-01  Bruno Haible  <bruno@clisp.org>
54860
54861         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
54862         (copy_acl): Just a wrapper around qcopy_acl that emits the error
54863         messages.
54864         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
54865
54866 2008-06-01  Bruno Haible  <bruno@clisp.org>
54867
54868         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
54869         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
54870         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
54871         APIs.
54872         * modules/acl-tests (configure.ac): Remove tests now contained in
54873         m4/acl.m4.
54874
54875 2008-06-02  Jim Meyering  <meyering@redhat.com>
54876
54877         announce-gen: use a better key-server host name
54878         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
54879         it may be more consistently reliable.  Suggested by Werner Koch
54880         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
54881
54882 2008-06-01  Bruno Haible  <bruno@clisp.org>
54883
54884         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
54885         Reported by Voroskoi Andras <voroskoi@gmail.com>.
54886
54887 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
54888
54889         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
54890
54891 2008-06-01  Bruno Haible  <bruno@clisp.org>
54892
54893         New ACL tests.
54894         * tests/test-file-has-acl.sh: New file.
54895         * tests/test-file-has-acl.c: New file.
54896         * tests/test-set-mode-acl.sh: New file.
54897         * tests/test-set-mode-acl.c: New file.
54898         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
54899         * tests/test-copy-acl.c: New file.
54900         * modules/acl-tests: New file, based on modules/copy-file-tests.
54901         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
54902         (Depends-on): Add acl-tests.
54903         (configure.ac): Remove checks.
54904         (Makefile.am): Don't create test-sameacls program here any more.
54905
54906 2008-06-01  Bruno Haible  <bruno@clisp.org>
54907
54908         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
54909         * tests/test-sameacls.c: Include progname.h.
54910         (main): Invoke set_program_name. Portability fixes for MacOS X,
54911         Solaris, HP-UX.
54912
54913 2008-06-01  Bruno Haible  <bruno@clisp.org>
54914
54915         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
54916         function.
54917         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
54918
54919 2008-06-01  Bruno Haible  <bruno@clisp.org>
54920
54921         * modules/rpmatch (Depends-on): Add strdup.
54922
54923 2008-06-01  Bruno Haible  <bruno@clisp.org>
54924
54925         * lib/pipe.c: Include unistd-safer.h.
54926         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
54927         * modules/pipe (Depends-on): Add unistd-safer.
54928
54929 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54930
54931         * modules/autobuild (configure.ac): Call AB_INIT.
54932
54933 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54934
54935         * tests/test-getaddrinfo.c: Don't print debug messages by default.
54936         Suggested by Bruno Haible <bruno@clisp.org>.
54937
54938 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54939
54940         * tests/test-base64.c: Cast size_t to unsigned long when invoking
54941         printf.  Use %lu instead of %d.  Reported by Bruno Haible
54942         <bruno@clisp.org>.
54943
54944 2008-05-29  Eric Blake  <ebb9@byu.net>
54945
54946         Prefer new POSIX 200x interfaces over futimesat.
54947         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
54948         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
54949         when available.
54950         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
54951
54952 2008-05-28  Bruno Haible  <bruno@clisp.org>
54953
54954         * modules/stpcpy (License): Change to LGPLv2+.
54955         Requested by David Lutterkort <dlutter@redhat.com>.
54956
54957 2008-05-27  Bruno Haible  <bruno@clisp.org>
54958
54959         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
54960         current mingw.
54961         Reported by Jose E. Marchesi <jemarch@gnu.org>.
54962
54963 2008-05-27  Bruno Haible  <bruno@clisp.org>
54964
54965         * modules/iconv_open (Link): New section, from module 'iconv'.
54966         * modules/striconv (Link): Likewise.
54967         * modules/striconveh (Link): Likewise.
54968         * modules/xstriconv (Link): Likewise.
54969         * modules/unicodeio (Link): Likewise.
54970         * modules/propername (Link): Likewise.
54971         Reported by Jim Meyering.
54972
54973 2008-05-26  Jim Meyering  <meyering@redhat.com>
54974
54975         sha256: do not artificially restrict buffer length to be < 2^32
54976         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
54977         uint32_t to size_t.
54978         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
54979         to match.
54980
54981         avoid unaligned access errors, e.g., on sparc
54982         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
54983         direct access through a possibly-unaligned uint64* pointer.
54984         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
54985         direct access through a possibly-unaligned uint32* pointer.
54986         Prompted by this patch from Tom "spot" Callaway:
54987         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
54988
54989         sha512.c: fix typo in comment
54990         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
54991
54992 2008-05-25  Bruno Haible  <bruno@clisp.org>
54993
54994         * lib/set-mode-acl.c: Renamed from lib/acl.c.
54995         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
54996         (Makefile.am): Update lib_SOURCES.
54997
54998 2008-05-25  Bruno Haible  <bruno@clisp.org>
54999
55000         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
55001
55002 2008-05-25  Jim Meyering  <meyering@redhat.com>
55003
55004         useless-if-before-free: freed expr may have white-space differences
55005         * build-aux/useless-if-before-free: Recognize cases in which the
55006         freed expression differs from the tested one in embedded white
55007         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
55008         $1 was used, so we can't make any regexp shy.  Improved tests now
55009         detect this.
55010
55011         useless-if-before-free: accept white space in the expression.
55012         * build-aux/useless-if-before-free: For now, any white space
55013         in the expression must be identical in the free argument.
55014
55015         useless-if-before-free: efficiency tweak
55016         * build-aux/useless-if-before-free: Make the expression-matching
55017         regexp "shy".
55018         Make the *outer* regexp shy, not the expr-matching one.
55019
55020         update code-in-comment to accept cast of free arg
55021         * build-aux/useless-if-before-free: Update regexp.
55022
55023 2008-05-25  Bruno Haible  <bruno@clisp.org>
55024
55025         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
55026         * modules/copy-file-tests (Files, Makefile.am): Update.
55027         * tests/test-copy-file.c (func_test_copy): Update.
55028
55029 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
55030
55031         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
55032
55033 2008-05-23  Bruno Haible  <bruno@clisp.org>
55034
55035         Improve support for ACLs on OSF/1.
55036         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
55037         Remove fallback for unknown flavors of ACLs.
55038
55039 2008-05-22  Bruno Haible  <bruno@clisp.org>
55040
55041         Add support for ACLs on OSF/1.
55042         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
55043         replacements.
55044         (acl_free_text): New macro fallback.
55045         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
55046         acl_free.
55047         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
55048         acl_free_text function. Require AC_C_INLINE.
55049
55050 2008-05-22  Bruno Haible  <bruno@clisp.org>
55051
55052         Make copy_acl work on MacOS X 10.5.
55053         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
55054         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
55055         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
55056         If MODE_INSIDE_ACL, don't assume that every system has the same text
55057         representation for ACLs as FreeBSD.
55058         * lib/copy-acl.c (copy_acl): Add support for platforms with
55059         !MODE_INSIDE_ACL.
55060         * lib/file-has-acl.c (file_has_acl): Likewise.
55061         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
55062         FreeBSD, MacOS X, or IRIX, respectively.
55063
55064 2008-05-22  Bruno Haible  <bruno@clisp.org>
55065
55066         * lib/acl.h: Don't include <sys/acl.h>.
55067         (GETACLCNT): Move fallback to lib/acl-internal.h.
55068         * lib/acl-internal.h: Include <sys/acl.h> here.
55069         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
55070
55071 2008-05-22  Bruno Haible  <bruno@clisp.org>
55072
55073         Split off copy_acl function to separate file.
55074         * lib/copy-acl.c: New file, extracted from lib/acl.c.
55075         * lib/acl.c (copy_acl): Moved function to separate file.
55076         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
55077         * modules/acl (Files): Add lib/copy-acl.c.
55078         (Makefiles.am): Augment lib_SOURCES.
55079
55080 2008-05-22  Bruno Haible  <bruno@clisp.org>
55081
55082         * modules/copy-file-tests: New file.
55083         * tests/test-copy-file.sh: New file.
55084         * tests/test-copy-file.c: New file.
55085         * tests/test-copy-file-sameacls.c: New file.
55086
55087 2008-05-22  Eric Blake  <ebb9@byu.net>
55088
55089         Avoid gcc warning.
55090         * tests/test-memcmp.c (main): Pass NULL indirectly.
55091
55092 2008-05-21  Bruno Haible  <bruno@clisp.org>
55093
55094         Add reference doc about ACLs.
55095         * doc/acl-resources.txt: New file.
55096         * doc/acl-cygwin.txt: New file.
55097
55098 2008-05-21  Bruno Haible  <bruno@clisp.org>
55099
55100         Avoid one more warning from gcc.
55101         * lib/vasnprintf.c (IF_LINT): Update comments.
55102         (VASNPRINTF): Use it also for the 'prefix' array initializer.
55103
55104 2008-05-21  Jim Meyering  <meyering@redhat.com>
55105
55106         avoid a warning from gcc
55107         * lib/vasnprintf.c (IF_LINT): Define.
55108         (scale10_round_decimal_long_double):
55109         Use it to avoid a "may be used uninitialized" warning.
55110         (scale10_round_decimal_double): Likewise.
55111
55112 2008-05-21  Simon Josefsson  <simon@josefsson.org>
55113
55114         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
55115         declared.
55116
55117 2008-05-20  Bruno Haible  <bruno@clisp.org>
55118
55119         * tests/test-memcmp.c (main): Test also the sign of the result. Test
55120         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
55121
55122 2008-05-20  Simon Josefsson  <simon@josefsson.org>
55123
55124         * modules/memcmp-tests: New file.
55125         * tests/test-memcmp.c: New file.
55126
55127 2008-05-19  Bruno Haible  <bruno@clisp.org>
55128
55129         * modules/propername (Notice, configure.ac): Put quoted "..." into
55130         --keyword option.
55131         * lib/propername.h: Update comments accordingly.
55132         Reported by Eric Blake.
55133
55134 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
55135
55136         * modules/getpass-gnu (Depends-on): Add fseeko.
55137
55138 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55139
55140         * modules/base64-tests: New file.
55141
55142 2008-05-19  Bo Borgerson <gigabo@gmail.com>
55143
55144         * lib/base64.c (base64_decode_ctx): If a decode context structure
55145         was passed in use it to ignore newlines.  If a context structure
55146         was _not_ passed in, continue to treat newlines as garbage (this
55147         is the historical behavior).  Formerly base64_decode.
55148         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55149         takes a decode context structure.
55150         * lib/base64.h (base64_decode): Macro for four-argument calls.
55151         (base64_decode_alloc): Likewise.
55152         * lib/base64.c (base64_decode_ctx): If a decode context structure
55153         was passed in use it to ignore newlines.  If a context structure
55154         was _not_ passed in, continue to treat newlines as garbage (this
55155         is the historical behavior).  Formerly base64_decode.
55156         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55157         takes a decode context structure.
55158         * lib/base64.h (base64_decode): Macro for four-argument calls.
55159         (base64_decode_alloc): Likewise.
55160
55161 2008-05-19  Jim Meyering  <meyering@redhat.com>
55162
55163         avoid a warning from gcc
55164         * lib/trim.c (IF_LINT): Define.
55165         (trim2): Use it to avoid a "may be used uninitialized" warning.
55166
55167         Fix doc typo.
55168         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
55169
55170 2008-05-19  Bruno Haible  <bruno@clisp.org>
55171
55172         * doc/glibc-functions/getpass.texi: Document limits of other
55173         implementations.
55174
55175 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55176             Bruno Haible <bruno@clisp.org>
55177
55178         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
55179
55180 2008-05-18  Bruno Haible  <bruno@clisp.org>
55181
55182         * modules/propername: New file, from GNU gettext.
55183         * lib/propername.h: New file, from GNU gettext.
55184         * lib/propername.c: New file, from GNU gettext.
55185         * MODULES.html.sh (Internationalization functions): Add propername.
55186
55187 2008-05-16  Jim Meyering  <meyering@redhat.com>
55188             Bruno Haible  <bruno@clisp.org>
55189
55190         Avoid some warnings from "gcc -Wshadow".
55191         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
55192
55193 2008-05-15  Eric Blake  <ebb9@byu.net>
55194
55195         Extend previous patch to cygwin 1.7.0.
55196         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
55197         fast implementation in cygwin >= 1.7.0.
55198         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55199         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55200
55201 2008-05-15  Bruno Haible  <bruno@clisp.org>
55202
55203         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
55204         implementation in glibc >= 2.9.
55205         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55206         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55207
55208 2008-05-15  Bruno Haible  <bruno@clisp.org>
55209
55210         * MODULES.html.sh (Internationalization functions): Remove linebreak.
55211         (Unicode string functions): Add unilbrk/*.
55212         Reported by Karl Berry.
55213
55214 2008-05-15  Eric Blake  <ebb9@byu.net>
55215
55216         Fix violation of <stdbool.h> replacement in regex.
55217         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
55218         * lib/regexec.c (re_search_internal): Likewise.
55219         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
55220
55221 2008-05-15  Jim Meyering  <meyering@redhat.com>
55222
55223         avoid distracting test output when git or cvs is not found
55224         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
55225         * tests/test-vc-list-files-git.sh: Likewise.
55226
55227 2008-05-15  Eric Blake  <ebb9@byu.net>
55228
55229         Glibc finally accepted the memmem speedup code, bugzilla #5514.
55230         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
55231         glibc version.
55232         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
55233         * doc/posix-functions/strstr.texi (strstr): Likewise.
55234         * lib/str-two-way.h (MAX): Sychronize with glibc.
55235
55236 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
55237
55238         * lib/regcomp.c (optimize_utf8): Add a note on why we test
55239         opr.ctx_type.
55240         (calc_first): Initialize constraint field.
55241         (duplicate_node_closure): Use it instead of special casing ANCHORS.
55242         Fix grammar.
55243         (duplicate_node): Merge constraint field for all node types.
55244         (calc_eclosure_iter): Look at constraint field for all node types.
55245         * lib/regex_internal.c (create_cd_newstate): Don't look at
55246         opr.ctx_type.
55247
55248 2008-05-14  Bruno Haible  <bruno@clisp.org>
55249
55250         Help GCC to do better code generation.
55251         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
55252         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
55253         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
55254         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
55255         Declare with attribute 'malloc' if supported.
55256
55257 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
55258
55259         use "echo STR|wc -c" rather than unportable "expr length STR"
55260         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
55261         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
55262
55263 2008-05-14  Jim Meyering  <meyering@redhat.com>
55264
55265         use dd ibs=$n count=1 ... rather than less-portable head -c$n
55266         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
55267         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
55268         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
55269         via Collin Lasse.
55270
55271 2008-05-14  Eric Blake  <ebb9@byu.net>
55272
55273         Avoid quadratic growth in gl_LIBSOURCES.
55274         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
55275         Suggested by Bruno Haible.
55276
55277         Test xmemdup0.
55278         * modules/xmemdup0-tests: New file.
55279         * tests/test-xmemdup0.c: Likewise.
55280
55281 2008-05-13  Eric Blake  <ebb9@byu.net>
55282
55283         Split xmemdup0 into its own module.
55284         * modules/xmemdup0: New file.
55285         * lib/xmemdup0.h: Likewise.
55286         * lib/xmemdup0.c: Likewise.
55287         * MODULES.html.sh (Memory management functions): Add xmemdup0.
55288         * lib/xalloc.h (xmemdup0): Remove.
55289         * lib/xmalloc.c (xmemdup0): Likewise.
55290
55291 2008-05-13  Eric Blake  <ebb9@byu.net>
55292             Bruno Haible  <bruno@clisp.org>
55293
55294         Reduce number of forks required during autoconf.
55295         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
55296         and gl_LIBSOURCES_DIR.
55297         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
55298         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
55299         m4_syscmd per file.
55300         <m4_foreach_w>: Move...
55301         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
55302
55303 2008-05-13  Eric Blake  <ebb9@byu.net>
55304
55305         * gnulib-tool: Fix various comment typos.
55306
55307 2008-05-12  Bruno Haible  <bruno@clisp.org>
55308
55309         Tailor the linebreaking algorithm.
55310         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
55311
55312 2008-05-12  Bruno Haible  <bruno@clisp.org>
55313
55314         Update to Unicode 5.0.0.
55315         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55316         LBP_JV, LBP_JT. Redistribute values.
55317         (unilbrk_table): Change size.
55318         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
55319         Unicode TR#14 rev. 22.
55320         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55321         LBP_JV, LBP_JT. Redistribute values.
55322         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
55323         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
55324         Update.
55325         * lib/unilbrk/lbrkprop1.h: Regenerated.
55326         * lib/unilbrk/lbrkprop2.h: Regenerated.
55327         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
55328         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
55329         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
55330         Likewise.
55331         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
55332         Likewise.
55333         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
55334         result.
55335         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
55336         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
55337         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
55338         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
55339         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
55340         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
55341
55342 2008-05-11  Bruno Haible  <bruno@clisp.org>
55343
55344         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
55345
55346 2008-05-11  Bruno Haible  <bruno@clisp.org>
55347
55348         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
55349         * modules/unilbrk/gen-lbrk: New file.
55350
55351 2008-05-11  Bruno Haible  <bruno@clisp.org>
55352
55353         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
55354         * m4/sha512.m4 (gl_SHA512): Likewise.
55355
55356 2008-05-11  Jim Meyering  <meyering@redhat.com>
55357
55358         New modules: crypto/sha256, crypto/sha512 (from coreutils)
55359         * modules/crypto/sha256: New file.
55360         * modules/crypto/sha512: Likewise.
55361         * lib/sha256.c: Likewise.
55362         * lib/sha256.h: Likewise.
55363         * lib/sha512.c: Likewise.
55364         * lib/sha512.h: Likewise.
55365         * lib/u64.h: Likewise.
55366         * m4/sha256.m4: Likewise.
55367         * m4/sha512.m4: Likewise.
55368         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
55369
55370 2008-05-10  Bruno Haible  <bruno@clisp.org>
55371
55372         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
55373         (Input/Output <stdio.h>): Add xprintf.
55374         (Signal handling <signal.h>): Add strsignal.
55375         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
55376         (Core language properties): Add func.
55377         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
55378         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
55379         strings.
55380         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
55381         (Input/output): New section.
55382         (File system functions): Add openat-die, stat-macros.
55383         (Networking functions): Add sockets.
55384         (Unicode string functions): Add unictype/*.
55385         (Support for building libraries and executables): Add gperf.
55386         (Support for building documentation): Add agpl-3.0.
55387         (Misc): Add nocrash.
55388
55389 2008-05-10  Bruno Haible  <bruno@clisp.org>
55390
55391         * modules/unictype/gen-ctype: New file.
55392
55393 2008-05-10  Jim Meyering  <meyering@redhat.com>
55394
55395         Make chdir-safer.c more efficient on a system with no symlinks.
55396         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
55397         also if ELOOP is zero.  Suggested by Bruno Haible.
55398
55399         Make chdir-safer.c slightly safer.
55400         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
55401         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
55402
55403         Avoid compile failure on systems without ELOOP (like mingw).
55404         * lib/chdir-safer.c (ELOOP): Define if not already defined.
55405         Reported by Bruno Haible.
55406
55407 2008-05-10  Bruno Haible  <bruno@clisp.org>
55408
55409         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
55410         (is_utf8_encoding): Use a case-insensitive comparison.
55411         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
55412         streq.
55413
55414 2008-05-10  Bruno Haible  <bruno@clisp.org>
55415
55416         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
55417         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
55418         * lib/unilbrk/ulc-common.h (iconv_string_length,
55419         iconv_string_keeping_offsets): Remove declarations.
55420         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
55421         Don't include <iconv.h>, streq.h, xsize.h.
55422         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
55423         conversion.
55424         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
55425         <iconv.h>, streq.h, xsize.h.
55426         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
55427         conversion.
55428         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
55429         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
55430         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
55431         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
55432
55433 2008-05-10  Bruno Haible  <bruno@clisp.org>
55434
55435         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
55436         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
55437
55438         * modules/unilbrk/u32-width-linebreaks-tests: New file.
55439         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
55440
55441         * modules/unilbrk/u16-width-linebreaks-tests: New file.
55442         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
55443
55444         * modules/unilbrk/u8-width-linebreaks-tests: New file.
55445         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
55446
55447         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
55448         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
55449
55450         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
55451         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
55452
55453         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
55454         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
55455
55456         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
55457         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
55458
55459 2008-05-10  Bruno Haible  <bruno@clisp.org>
55460
55461         Split up 'linebreak' module.
55462         * lib/unilbrk.h: New file, based on lib/linebreak.h.
55463         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
55464         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
55465         modifications.
55466         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
55467         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
55468         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
55469         lib/linebreak.c.
55470         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
55471         lib/linebreak.c.
55472         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
55473         lib/linebreak.c.
55474         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
55475         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
55476         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
55477         lib/linebreak.c.
55478         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
55479         lib/linebreak.c.
55480         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
55481         lib/linebreak.c.
55482         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
55483         lib/linebreak.c.
55484         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
55485         lib/linebreak.c.
55486         * modules/unilbrk/base: New file.
55487         * modules/unilbrk/tables: New file.
55488         * modules/unilbrk/u8-possible-linebreaks: New file.
55489         * modules/unilbrk/u16-possible-linebreaks: New file.
55490         * modules/unilbrk/u32-possible-linebreaks: New file.
55491         * modules/unilbrk/ulc-common: New file.
55492         * modules/unilbrk/ulc-possible-linebreaks: New file.
55493         * modules/unilbrk/u8-width-linebreaks: New file.
55494         * modules/unilbrk/u16-width-linebreaks: New file.
55495         * modules/unilbrk/u32-width-linebreaks: New file.
55496         * modules/unilbrk/ulc-width-linebreaks: New file.
55497         * lib/linebreak.h: Remove file.
55498         * lib/linebreak.c: Remove file.
55499         * m4/linebreak.m4: Remove file.
55500         * modules/linebreak: Remove file.
55501         * NEWS: Mention the changes.
55502
55503 2008-05-09  Eric Blake  <ebb9@byu.net>
55504
55505         Add xmemdup0.
55506         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
55507         implementation.
55508         * lib/xmalloc.c (xmemdup0): New C implementation.
55509
55510 2008-05-08  Bruno Haible  <bruno@clisp.org>
55511
55512         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
55513
55514 2008-05-07  Eric Blake  <ebb9@byu.net>
55515
55516         Support cross-compilation of <wctype.h>.
55517         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
55518         AC_CACHE_CHECK.
55519
55520 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
55521
55522         * build-aux/vc-list-files: Add support for bzr.
55523
55524 2008-05-03  Jim Meyering  <meyering@redhat.com>
55525
55526         avoid failed assertion with tight malloc
55527         * tests/test-getndelim2.c: Correct an off-by-one assertion.
55528
55529 2008-05-03  Simon Josefsson  <simon@josefsson.org>
55530
55531         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
55532         are needed from arpa/inet.h.
55533         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
55534         Reported by Bruno Haible.
55535
55536 2008-05-02  Jim Meyering  <meyering@redhat.com>
55537
55538         avoid compilation error on FreeBSD 6
55539         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
55540
55541 2008-05-01  Jim Meyering  <meyering@redhat.com>
55542
55543         useless-if-before-free: correct --help's exit status description
55544         * build-aux/useless-if-before-free (usage): Like grep, exit 0
55545         for one or more matches, etc.  Reported by Bruno Haible.
55546
55547         vc-list-files: make the stand-alone gnulib test work
55548         * modules/vc-list-files-tests (configure.ac):
55549         Define and AC_SUBST abs_aux_dir.
55550         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
55551         $(abs_top_srcdir) to each script and having each of them
55552         duplicate the work of setting PATH, set PATH here, using
55553         the new variable, abs_aux_dir instead.
55554         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
55555         * tests/test-vc-list-files-git.sh: Likewise.
55556         Reported by Bruno Haible.
55557
55558 2008-05-01  Bruno Haible  <bruno@clisp.org>
55559
55560         * lib/getndelim2.c (getndelim2): Fix newsize computation during
55561         reallocation. Rename 'done' to 'found_delimiter'.
55562
55563 2008-05-01  Jim Meyering  <meyering@redhat.com>
55564
55565         vc-list-files: accommodate /bin/sh like the one from Solaris 10
55566         * build-aux/vc-list-files: Use `...`, not $(...).
55567
55568 2008-04-30  Jim Meyering  <meyering@redhat.com>
55569
55570         add tests for vc-list-files
55571         * modules/vc-list-files-tests: New module.
55572         * tests/test-vc-list-files-cvs.sh: New file.
55573         * tests/test-vc-list-files-git.sh: New file.
55574
55575         avoid a warning from gcc
55576         * lib/getndelim2.c (IF_LINT): Define.
55577         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
55578
55579         vc-list-files: work properly with build-aux/cvsu, too
55580         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
55581         to all cvs-based clauses.
55582
55583         vc-list-files: work properly in the CVS+awk case, too
55584         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
55585
55586         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
55587         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
55588         take more than one file argument, so .  Add quotes, just in case $dir
55589         ever contains a shell meta-character.  Prompted by Soren Hansen in
55590         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
55591
55592 2008-04-29  Eric Blake  <ebb9@byu.net>
55593
55594         Optimize getndelim2 to use block operations when possible.
55595         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
55596         freadseek, and memchr2.
55597         * lib/getndelim2.c (getndelim2): Use them for block reads.
55598
55599 2008-04-29  Bruno Haible  <bruno@clisp.org>
55600
55601         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
55602         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55603         * modules/inet_ntop (Depends-on): Add extensions.
55604         * modules/inet_pton (Depends-on): Likewise.
55605         Reported by Simon Josefsson.
55606
55607 2008-04-29  Jim Meyering  <meyering@redhat.com>
55608
55609         When the is more than one match in a block, match all of them.
55610         * build-aux/useless-if-before-free: Iterate through each block
55611         until there are no more matches.
55612
55613         Fix broken useless-if-before-free script.
55614         * build-aux/useless-if-before-free: Fix typo: missing "?" after
55615         the expression to match cast of argument to free-like function.
55616
55617 2008-04-29  Eric Blake  <ebb9@byu.net>
55618
55619         Use new header.
55620         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
55621
55622 2008-04-29  Jim Meyering  <meyering@redhat.com>
55623
55624         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
55625         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
55626         by gnulib to exist and to declare e.g., inet_ntop.
55627         Don't include "inet_ntop.h", now removed.
55628
55629         * m4/arpa_inet_h.m4: Remove trailing blanks.
55630
55631 2008-04-29  Eric Blake  <ebb9@byu.net>
55632
55633         Silence valgrind on safe reads beyond potential array bounds.
55634         * lib/rawmemchr.valgrind: New file.
55635         * lib/strchrnul.valgrind: Likewise.
55636         * modules/rawmemchr (Files): Distribute new file.
55637         * modules/strchrnul (Files): Likewise.
55638         Suggested by Bruno Haible.
55639
55640 2008-04-29  Bruno Haible  <bruno@clisp.org>
55641
55642         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
55643         (inet_ntop, inet_pton): Change portability warning's wording.
55644         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
55645         Invoke gl_CHECK_NEXT_HEADERS.
55646         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
55647         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
55648         set ARPA_INET_H.
55649         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55650         * modules/arpa_inet (Description): No longer only for systems that
55651         lack it.
55652         (Depends-on): Add include_next.
55653         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
55654         HAVE_ARPA_INET_H.
55655
55656 2008-04-29  Jim Meyering  <meyering@redhat.com>
55657
55658         * modules/mkdir (License): Re-license as LGPLv2+.
55659
55660 2008-04-29  Bruno Haible  <bruno@clisp.org>
55661
55662         * modules/rawmemchr (Maintainer): Set to Eric.
55663         * modules/strchrnul (Maintainer): Likewise.
55664
55665 2008-04-29  Simon Josefsson  <simon@josefsson.org>
55666
55667         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
55668         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
55669
55670         * modules/arpa_inet (arpa/inet.h): Use them.
55671
55672 2008-04-28  Eric Blake  <ebb9@byu.net>
55673
55674         Test getndelim2.
55675         * modules/getndelim2-tests: New file.
55676         * tests/test-getndelim2.c: Likewise.
55677         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
55678         stream.
55679         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
55680
55681         * MODULES.html.sh: Document new module.
55682
55683 2008-04-20  Bruno Haible  <bruno@clisp.org>
55684
55685         * lib/c-stack.c (die): Use raise.
55686         * modules/c-stack (Depends-on): Add raise.
55687
55688 2008-04-28  Bruno Haible  <bruno@clisp.org>
55689
55690         Expect rpmatch to be declared.
55691         * lib/yesno.c (rpmatch): Remove declaration.
55692
55693         Declare rpmatch.
55694         * lib/stdlib.in.h (rpmatch): New declaration.
55695         * lib/rpmatch.c: Include <stdlib.h> first.
55696         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
55697         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
55698         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
55699         HAVE_RPMATCH.
55700         * modules/rpmatch (Depends-on): Add stdlib, extensions.
55701         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55702         (Include): Set to <stdlib.h>.
55703         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
55704         HAVE_RPMATCH.
55705         * NEWS: Document the change.
55706
55707 2008-04-28  Bruno Haible  <bruno@clisp.org>
55708
55709         Change rpmatch to use nl_langinfo when appropriate.
55710         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
55711         (N_): New macro.
55712         (localized_pattern): New function/macro.
55713         (try): Remove match, nomatch arguments. Copy the pattern into safe
55714         memory before caching it.
55715         (rpmatch): Use localized_pattern. Add translator comments.
55716         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
55717         Suggested by Eric Blake.
55718         * modules/rpmatch (Depends-on): Add stdbool.
55719
55720 2008-04-28  Eric Blake  <ebb9@byu.net>
55721
55722         Add rawmemchr module, matching glibc.
55723         * modules/string (Makefile.am): New indicator.
55724         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
55725         * lib/string.in.h (rawmemchr): Declare when appropriate.
55726         * modules/rawmemchr: New file.
55727         * m4/rawmemchr.m4: Likewise.
55728         * lib/rawmemchr.c: Likewise.
55729         * modules/rawmemchr-tests: Likewise.
55730         * tests/test-rawmemchr.c: Likewise.
55731         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
55732         module.
55733         * modules/strchrnul (Depends-on): Add rawmemchr.
55734         * lib/strchrnul.c (strchrnul): Optimize a corner case.
55735
55736         Whitespace cleanup.
55737         * tests/test-strchrnul.c: Reindent.
55738         * lib/strchrnul.c: Likewise.
55739
55740         Optimize and test strchrnul.
55741         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
55742         * modules/strchrnul-tests: New file.
55743         * tests/test-strchrnul.c: Likewise.
55744
55745         Remove intprops dependency.
55746         * modules/memchr (Depends-on): Remove intprops.
55747         * modules/memrchr (Depends-on): Likewise.
55748         * modules/memchr2 (Depends-on): Likewise.
55749         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
55750         * lib/memrchr.c (__memrchr): Likewise.
55751         * lib/memrchr2.c (memchr2): Likewise.
55752         Reported by Simon Josefsson.
55753
55754 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55755
55756         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
55757         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55758
55759 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55760
55761         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
55762
55763         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
55764
55765         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
55766
55767         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
55768         declarations.
55769         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
55770
55771         * m4/inet_pton.m4: Don't check for header files.
55772
55773         * m4/inet_ntop.m4: Don't check for header files.
55774
55775 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55776
55777         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
55778         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
55779         trigger for cygwin).
55780         Reported by Bruno Haible  <bruno@clisp.org>.
55781
55782 2008-04-28  Bruno Haible  <bruno@clisp.org>
55783
55784         * doc/posix-functions/strdup.texi: Mention mingw problem.
55785
55786 2008-04-27  Bruno Haible  <bruno@clisp.org>
55787
55788         * modules/stat-time-tests (Depends-on): Add sleep.
55789         * tests/test-stat-time.c (force_unlink): New function.
55790         (cleanup): Use it.
55791         (test_mtime): Remove the ctime related tests.
55792         (test_ctime): New function, containing the ctime related tests.
55793         (main): Call test_ctime, except on native Windows platforms.
55794
55795 2008-04-27  Bruno Haible  <bruno@clisp.org>
55796
55797         * lib/rpmatch.c (rpmatch): Add some comments.
55798         Reported by James Youngman <jay@gnu.org>.
55799
55800 2008-04-27  Bruno Haible  <bruno@clisp.org>
55801
55802         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
55803         quiet NaNs.
55804
55805 2008-04-27  Bruno Haible  <bruno@clisp.org>
55806
55807         Make test-yesno.sh work on mingw.
55808         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
55809         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
55810         (main): Set stdin to binary mode.
55811         * modules/yesno-tests (Depends-on): Add binary-io.
55812
55813 2008-04-27  Bruno Haible  <bruno@clisp.org>
55814
55815         Fix 'isfinite' on x86, x86_64, ia64 platforms.
55816         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
55817         argument that lie outside the IEEE 854 domain.
55818         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
55819         (gl_ISFINITE): Use it.
55820         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
55821
55822 2008-04-27  Bruno Haible  <bruno@clisp.org>
55823
55824         Allow local renaming in config.h.
55825         * lib/memrchr.c (memrchr): Don't undefine outside libc.
55826
55827 2008-04-27  Bruno Haible  <bruno@clisp.org>
55828
55829         * lib/memchr.c (__memchr): Change type of 'i'.
55830         * lib/memchr2.c (memchr2): Likewise.
55831
55832 2008-04-26  Eric Blake  <ebb9@byu.net>
55833         and Bruno Haible  <bruno@clisp.org>
55834
55835         Optimize and test memrchr.
55836         * modules/memrchr (Depends-on): Add intprops.
55837         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
55838         * modules/memrchr-tests: New file.
55839         * tests/test-memrchr.c: New file.
55840
55841 2008-04-26  Bruno Haible  <bruno@clisp.org>
55842
55843         Add tentative support for DragonFly BSD.
55844         * lib/stdio-impl.h: Add macros for DragonFly BSD.
55845         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
55846         fp.
55847         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55848         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
55849         * lib/fpurge.c (fpurge): Likewise.
55850         * lib/freadable.c (freaadable): Likewise.
55851         * lib/freadahead.c (freadahead): Likewise.
55852         * lib/freading.c (freading): Likewise.
55853         * lib/freadptr.c (freadptr): Likewise.
55854         * lib/freadseek.c (freadptrinc): Likewise.
55855         * lib/fseeko.c (fseeko): Likewise.
55856         * lib/fseterr.c (fseterr): Likewise.
55857         * lib/fwritable.c (fwritable): Likewise.
55858         * lib/fwriting.c (fwriting): Likewise.
55859
55860 2008-04-26  Bruno Haible  <bruno@clisp.org>
55861
55862         * lib/stdio-impl.h: New file.
55863         * lib/fbufmode.c: Include stdio-impl.h.
55864         (fbufmode): Use fp_, remove redundant #defines.
55865         * lib/fflush.c: Include stdio-impl.h.
55866         (clear_ungetc_buffer): Remove redundant #defines.
55867         * lib/fpurge.c: Include stdio-impl.h.
55868         (fpurge): Remove redundant #defines.
55869         * lib/freadable.c: Include stdio-impl.h.
55870         (freadable): Remove redundant #defines.
55871         * lib/freadahead.c: Include stdio-impl.h.
55872         (freadahead): Remove redundant #defines.
55873         * lib/freading.c: Include stdio-impl.h.
55874         (freading): Remove redundant #defines.
55875         * lib/freadptr.c: Include stdio-impl.h.
55876         (freadptr): Remove redundant #defines.
55877         * lib/freadseek.c: Include stdio-impl.h.
55878         (freadptrinc): Remove redundant #defines.
55879         * lib/fseeko.c: Include stdio-impl.h.
55880         (rpl_fseeko): Remove redundant #defines.
55881         * lib/fseterr.c: Include stdio-impl.h.
55882         (fseterr): Remove redundant #defines.
55883         * lib/fwritable.c: Include stdio-impl.h.
55884         (fwritable: Remove redundant #defines.
55885         * lib/fwriting.c: Include stdio-impl.h.
55886         (fwriting): Remove redundant #defines.
55887         * modules/fbufmode (Files): Add lib/stdio-impl.h.
55888         * modules/fflush (Files): Likewise.
55889         * modules/fpurge (Files): Likewise.
55890         * modules/freadable (Files): Likewise.
55891         * modules/freadahead (Files): Likewise.
55892         * modules/freading (Files): Likewise.
55893         * modules/freadptr (Files): Likewise.
55894         * modules/freadseek (Files): Likewise.
55895         * modules/fseeko (Files): Likewise.
55896         * modules/fseterr (Files): Likewise.
55897         * modules/fwritable (Files): Likewise.
55898         * modules/fwriting (Files): Likewise.
55899
55900 2008-04-26  Bruno Haible  <bruno@clisp.org>
55901
55902         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55903         restore_seek_optimization, update_fpos_cache): New functions, extracted
55904         from rpl_fflush.
55905         (rpl_fflush): Use them.
55906         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
55907         (gl_REPLACE_FFLUSH): Use it.
55908
55909 2008-04-26  Bruno Haible  <bruno@clisp.org>
55910
55911         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
55912         on Solaris.
55913         * tests/test-xstrtoimax.sh: Likewise.
55914         * tests/test-xstrtoumax.sh: Likewise.
55915         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55916
55917 2008-04-26  Bruno Haible  <bruno@clisp.org>
55918
55919         * modules/memchr-tests: New file.
55920         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
55921
55922 2008-04-26  Eric Blake  <ebb9@byu.net>
55923             Bruno Haible  <bruno@clisp.org>
55924
55925         * lib/memchr.c: Include intprops.h.
55926         (__memchr): Optimize parallel detection of matching bytes. Rename local
55927         variables. Add explanatory comments.
55928
55929 2008-04-26  Bruno Haible  <bruno@clisp.org>
55930
55931         Fix module 'memchr', broken since 2000-10-28.
55932         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
55933
55934 2008-04-26  Bruno Haible  <bruno@clisp.org>
55935
55936         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
55937         comments.
55938
55939 2008-04-25  Eric Blake  <ebb9@byu.net>
55940
55941         Use native fstatat on cygwin 1.7.0.
55942         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
55943         first.
55944
55945 2008-04-23  Eric Blake  <ebb9@byu.net>
55946
55947         Improve memchr2 performance.
55948         * lib/memchr2.c (memchr2): Further optimize parallel detection of
55949         NUL bytes.
55950         * modules/memchr2 (Depends-on): Use intprops.h.
55951
55952 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55953
55954         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
55955         an inline function instead of a CPP macro.  Patch by Ben Pfaff
55956         <blp@cs.stanford.edu>.
55957
55958 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55959
55960         * lib/arpa_inet.in.h: New file.
55961
55962         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
55963         (Makefile.am): Sed in substitute header file.
55964
55965         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
55966         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
55967
55968         * modules/inet_ntop (configure.ac): Use
55969         gl_ARPA_INET_MODULE_INDICATOR.
55970
55971         * modules/inet_pton (configure.ac): Use
55972         gl_ARPA_INET_MODULE_INDICATOR.
55973
55974 2008-04-22  Jim Meyering  <meyering@redhat.com>
55975
55976         * modules/verify (License): Re-license as LGPLv2+.
55977
55978 2008-04-22  Simon Josefsson  <simon@josefsson.org>
55979
55980         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
55981         parameter to void* as per POSIX standard (MinGW uses char*).
55982
55983 2008-04-21  Bruno Haible  <bruno@clisp.org>
55984
55985         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
55986         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
55987         Define to replacements if REPLACE_ISWCNTRL is 1.
55988         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
55989         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
55990         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
55991         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
55992         what it fixes.
55993         * doc/posix-functions/iswalpha.texi: Likewise.
55994         * doc/posix-functions/iswblank.texi: Likewise.
55995         * doc/posix-functions/iswcntrl.texi: Likewise.
55996         * doc/posix-functions/iswdigit.texi: Likewise.
55997         * doc/posix-functions/iswgraph.texi: Likewise.
55998         * doc/posix-functions/iswlower.texi: Likewise.
55999         * doc/posix-functions/iswprint.texi: Likewise.
56000         * doc/posix-functions/iswpunct.texi: Likewise.
56001         * doc/posix-functions/iswspace.texi: Likewise.
56002         * doc/posix-functions/iswupper.texi: Likewise.
56003         * doc/posix-functions/iswxdigit.texi: Likewise.
56004         Reported by Alain Guibert.
56005
56006 2008-04-21  Bruno Haible  <bruno@clisp.org>
56007
56008         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
56009         Patch by Alain Guibert.
56010
56011 2008-04-21  Bruno Haible  <bruno@clisp.org>
56012
56013         Fix test failures on mingw.
56014         * tests/test-xstrtol.c (print_no_progname): New function.
56015         (main): Install it in error_print_progname hook.
56016         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
56017         * tests/test-xstrtoimax.sh: Likewise.
56018         * tests/test-xstrtoumax.sh: Likewise.
56019
56020 2008-04-21  Bruno Haible  <bruno@clisp.org>
56021
56022         Fix test failure on mingw.
56023         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
56024
56025 2008-04-21  Bruno Haible  <bruno@clisp.org>
56026
56027         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
56028         Actually assign a value.
56029
56030 2008-04-20  Bruno Haible  <bruno@clisp.org>
56031
56032         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
56033         take 2.
56034         * lib/canonicalize.c (canonicalize_file_name): Elide if the
56035         'canonicalize-lgpl' module is also used.
56036         * lib/canonicalize-lgpl.c: Undo last change.
56037         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
56038
56039 2008-04-20  Bruno Haible  <bruno@clisp.org>
56040
56041         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
56042         config.h. Provide _mkdir based fallback for mingw.
56043         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
56044         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
56045         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
56046         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
56047         rather than defining mkdir in config.h.
56048         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
56049         (gl_SYS_STAT_H_DEFAULTS): New macro.
56050         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
56051         HAVE_IO_H any more.
56052         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
56053         HAVE_DECL_MKDIR and HAVE_IO_H.
56054
56055 2008-04-20  Bruno Haible  <bruno@clisp.org>
56056
56057         * lib/isapipe.c: Port to native Windows platforms.
56058
56059 2008-04-20  Bruno Haible  <bruno@clisp.org>
56060
56061         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
56062
56063 2008-04-21  Eric Blake  <ebb9@byu.net>
56064
56065         Work around preprocessors that don't handle UINTMAX_MAX.
56066         * lib/memchr2.c (memchr2): Avoid embedded #if.
56067         Reported by Alain Guibert, fix suggested by Bruno Haible.
56068
56069 2008-04-21  Simon Josefsson  <simon@josefsson.org>
56070
56071         * doc/posix-functions/strftime.texi (strftime): Explain better
56072         Windows incompatibility.  Suggested by Micah Cowan
56073         <micah@cowan.name>.
56074
56075 2008-04-20  Bruno Haible  <bruno@clisp.org>
56076
56077         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
56078         unistr/u8-mblen.
56079
56080 2008-04-20  Bruno Haible  <bruno@clisp.org>
56081
56082         Fix test failure on platforms with non-GNU iconv.
56083         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
56084         (U_TO_U8): Use it, rather than u16_to_u8.
56085         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
56086         units at the end of the input string.
56087         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
56088
56089 2008-04-20  Bruno Haible  <bruno@clisp.org>
56090
56091         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
56092         when the resulting length is 0.
56093         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
56094
56095 2008-04-20  Bruno Haible  <bruno@clisp.org>
56096
56097         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
56098         works.
56099         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
56100
56101 2008-04-20  Bruno Haible  <bruno@clisp.org>
56102
56103         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
56104         * modules/tsearch-tests (configure.ac): Test for initstate function.
56105
56106 2008-04-20  Bruno Haible  <bruno@clisp.org>
56107
56108         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
56109         for nlink_t if missing.
56110         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
56111
56112 2008-04-19  Bruno Haible  <bruno@clisp.org>
56113
56114         Work around snprintf bug on Linux libc5.
56115         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
56116         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56117         gl_SNPRINTF_SIZE1.
56118         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56119         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
56120         that test failed.
56121         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
56122         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
56123         * modules/snprintf (Files): Add m4/printf.m4.
56124         * modules/vsnprintf (Files): Likewise.
56125         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
56126         * doc/posix-functions/vsnprintf.texi: Likewise.
56127
56128 2008-04-19  Bruno Haible  <bruno@clisp.org>
56129
56130         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
56131         from 0.0058 to less than 10^-7.
56132
56133 2008-04-19  Bruno Haible  <bruno@clisp.org>
56134
56135         Fix rounding when a precision is given.
56136         * lib/vasnprintf.c (is_borderline): New function.
56137         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
56138         9...9x.
56139         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
56140         %e, %g.
56141         * tests/test-vasprintf-posix.c (test_function): Likewise.
56142         * tests/test-snprintf-posix.h (test_function): Likewise.
56143         * tests/test-sprintf-posix.h (test_function): Likewise.
56144         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
56145         * tests/test-printf-posix.h (test_function): Likewise.
56146         * tests/test-printf-posix.output: Update.
56147         Reported by John Darrington <john@darrington.wattle.id.au> via
56148         Ben Pfaff <blp@cs.stanford.edu>.
56149
56150 2008-04-18  Simon Josefsson  <simon@josefsson.org>
56151
56152         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
56153         Suggested by Bruno Haible <bruno@clisp.org>.
56154
56155 2008-04-17  Bruno Haible  <bruno@clisp.org>
56156
56157         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
56158         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
56159         implementation.
56160         Patch by Bruce Merry <bmerry@gmail.com>.
56161
56162 2008-04-17  Simon Josefsson  <simon@josefsson.org>
56163
56164         * doc/posix-functions/strftime.texi (strftime): Mention that %e
56165         doesn't work under Windows.
56166
56167 2008-04-16  Bruno Haible  <bruno@clisp.org>
56168
56169         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
56170         New macros.
56171         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
56172         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
56173         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
56174         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
56175         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
56176         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
56177         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
56178         macros.
56179         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
56180         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
56181         Northern Sotho, Uighur.
56182
56183 2008-04-16  Bruno Haible  <bruno@clisp.org>
56184
56185         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
56186         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
56187         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
56188         Reported by Daniel Bergström <daniel@octocode.com>.
56189
56190 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
56191             Bruno Haible  <bruno@clisp.org>
56192
56193         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
56194         function.
56195         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
56196         New functions, mostly extracted from gl_locale_name_default.
56197         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
56198
56199 2008-04-16  Eric Blake  <ebb9@byu.net>
56200
56201         Adjust strtod detection to catch glibc 2.7 bug.
56202         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
56203         Reported by John Gatewood Ham.
56204
56205 2008-04-16  Bruno Haible  <bruno@clisp.org>
56206
56207         Add tentative support for Linux libc5.
56208         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
56209         * lib/fpurge.c (fpurge): Likewise.
56210         * lib/freadable.c (freadable): Likewise.
56211         * lib/freadahead.c (freadahead): Likewise.
56212         * lib/freading.c (freading): Likewise.
56213         * lib/freadptr.c (freadptr): Likewise.
56214         * lib/freadseek.c (freadptrinc): Likewise.
56215         * lib/fseeko.c (rpl_fseeko): Likewise.
56216         * lib/fseterr.c (fseterr): Likewise.
56217         * lib/fwritable.c (fwritable): Likewise.
56218         * lib/fwriting.c (fwriting): Likewise.
56219         Reported by Alain Guibert <alguibert+bts@free.fr>.
56220
56221 2008-04-15  Bruno Haible  <bruno@clisp.org>
56222
56223         * modules/mathl (configure.ac): Define module indicator.
56224
56225 2008-04-15  Bruno Haible  <bruno@clisp.org>
56226
56227         * lib/logl.c (logl): Remove unused variables.
56228
56229 2008-04-15  Bruno Haible  <bruno@clisp.org>
56230
56231         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
56232         fails.
56233
56234 2008-04-15  Bruno Haible  <bruno@clisp.org>
56235
56236         * lib/trim.c (trim2): Fix argument of isspace() macro.
56237
56238 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
56239
56240         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
56241         to 0.
56242         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
56243
56244 2008-04-14  Bruno Haible  <bruno@clisp.org>
56245
56246         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
56247         AC_LANG_PROGRAM argument.
56248         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
56249         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
56250         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
56251         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56252         * m4/math_h.m4 (gl_MATH_H): Likewise.
56253         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
56254         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56255         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
56256         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
56257         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
56258         * m4/regex.m4 (gl_REGEX): Likewise.
56259         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
56260         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
56261         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56262         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
56263         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56264         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56265         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56266         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56267
56268 2008-04-14  Jim Meyering  <meyering@redhat.com>
56269
56270         test-strtod: fix typos: s/abs/fabs/
56271         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
56272
56273 2008-04-13  Bruno Haible  <bruno@clisp.org>
56274
56275         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
56276         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
56277         module is also used and while not building the reloc-wrapper.
56278
56279 2008-04-13  Bruno Haible  <bruno@clisp.org>
56280
56281         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
56282
56283 2008-04-13  Bruno Haible  <bruno@clisp.org>
56284
56285         Fix AIX compilation failure introduced on 2008-04-02.
56286         * tests/test-frexp.c (exp): Undefine before redefining.
56287         * tests/test-frexpl.c (exp): Likewise.
56288
56289 2008-04-13  Bruno Haible  <bruno@clisp.org>
56290
56291         Work around a HP-UX stdio bug.
56292         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
56293         * tests/test-ftello.c (main): Likewise.
56294         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
56295         * doc/posix-functions/ftello.texi: Likewise.
56296
56297 2008-04-13  Bruno Haible  <bruno@clisp.org>
56298
56299         Make test-signbit pass on HP-UX/hppa.
56300         * tests/test-signbit.c (minus_zerol): New variable.
56301         (test_signbitl): Use it.
56302
56303 2008-04-13  Bruno Haible  <bruno@clisp.org>
56304
56305         Make truncl work on OSF/1 4.0.
56306         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
56307         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56308         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
56310         HAVE_DECL_TRUNCL.
56311         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
56312         HAVE_DECL_TRUNCL.
56313         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
56314
56315 2008-04-13  Bruno Haible  <bruno@clisp.org>
56316
56317         * lib/unictype.h: Remove trailing comma from enumeration definitions.
56318
56319 2008-04-13  Bruno Haible  <bruno@clisp.org>
56320
56321         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
56322         expression, so as to avoid HP-UX 11 cc compiler bug.
56323
56324 2008-04-13  Bruno Haible  <bruno@clisp.org>
56325
56326         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
56327
56328 2008-04-13  Bruno Haible  <bruno@clisp.org>
56329
56330         * lib/git-merge-changelog.c: Remove empty declaration outside of
56331         functions.
56332
56333 2008-04-13  Bruno Haible  <bruno@clisp.org>
56334
56335         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
56336
56337 2008-04-13  Bruno Haible  <bruno@clisp.org>
56338
56339         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
56340         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
56341         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
56342         also if it exists but lacks definitions of the SHUT_* macros.
56343         * modules/sys_socket (Description): Update.
56344         Reported by Elbert Pol <e.pol@chello.nl>.
56345
56346 2008-04-13  Bruno Haible  <bruno@clisp.org>
56347
56348         * lib/localcharset.c (OS2): Don't redefine if already defined.
56349         Reported by Elbert Pol <e.pol@chello.nl>.
56350
56351 2008-04-13  Bruno Haible  <bruno@clisp.org>
56352
56353         * lib/binary-io.h [__EMX__]: Include <io.h>.
56354         Reported by Elbert Pol <e.pol@chello.nl>.
56355
56356 2008-04-12  Bruno Haible  <bruno@clisp.org>
56357
56358         * lib/fpucw.h: Enable the definitions also for x86_64.
56359         Needed for NetBSD/x86_64.
56360         Reported by Thomas Klausner <tk@giga.or.at>.
56361
56362 2008-04-12  Bruno Haible  <bruno@clisp.org>
56363
56364         * tests/test-strtod.c: Include isnand.h.
56365         (main): Use isnand instead of isnan.
56366         Reported by Jim Meyering.
56367
56368 2008-04-12  Bruno Haible  <bruno@clisp.org>
56369
56370         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
56371         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56372
56373 2008-04-12  Jim Meyering  <meyering@redhat.com>
56374
56375         * m4/math_h.m4 (gl_MATH_H): Fix typos.
56376
56377 2008-04-12  Bruno Haible  <bruno@clisp.org>
56378
56379         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
56380         Reported by Elbert Pol <e.pol@chello.nl>.
56381
56382 2008-04-12  Eric Blake  <ebb9@byu.net>
56383
56384         Work around Solaris 10 math.h bug.
56385         * m4/math_h.m4 (gl_MATH_H): Check for bug.
56386         (gl_MATH_H_DEFAULTS): Set up default.
56387         * modules/math (Makefile.am): Replace new indicators.
56388         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
56389         * tests/test-math.c (main): Test this.
56390         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
56391         * doc/posix-headers/math.texi (math.h): Mention bug.
56392         Reported by Nelson H. F. Beebe and Jim Meyering.
56393
56394 2008-04-11  Bruno Haible  <bruno@clisp.org>
56395
56396         Adapt to future versions of Apple GCC.
56397         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
56398         Reported by Peter O'Gorman <peter@pogma.com>.
56399
56400 2008-04-11  Bruno Haible  <bruno@clisp.org>
56401
56402         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
56403
56404 2008-04-11  Bruno Haible  <bruno@clisp.org>
56405
56406         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
56407
56408         * modules/getaddrinfo-tests (Makefile.am): Define
56409         test_getaddrinfo_LDADD.
56410
56411 2008-04-11  Bruno Haible  <bruno@clisp.org>
56412
56413         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
56414         (init): Fix syntax error.
56415         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
56416         is declared.
56417
56418 2008-04-11  Bruno Haible  <bruno@clisp.org>
56419
56420         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
56421         * modules/glob (Depends-on): Add stdbool.
56422
56423 2008-04-11  Bruno Haible  <bruno@clisp.org>
56424
56425         * lib/trim.c: Include <string.h>.
56426
56427 2008-04-11  Eric Blake  <ebb9@byu.net>
56428
56429         Avoid compile failure on OS/2.
56430         * lib/regex_internal.h (internal_function): Disable optimization
56431         on OS/2 (__EMX__), where it caused compiler error.
56432         Reported by Elbert Pol.
56433
56434 2008-04-11  Bruno Haible  <bruno@clisp.org>
56435
56436         Flush the standard error stream before aborting. Needed on mingw.
56437         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
56438         * tests/test-array_list.c (ASSERT): Likewise.
56439         * tests/test-array_oset.c (ASSERT): Likewise.
56440         * tests/test-avltree_list.c (ASSERT): Likewise.
56441         * tests/test-avltree_oset.c (ASSERT): Likewise.
56442         * tests/test-avltreehash_list.c (ASSERT): Likewise.
56443         * tests/test-binary-io.c (ASSERT): Likewise.
56444         * tests/test-byteswap.c (ASSERT): Likewise.
56445         * tests/test-c-ctype.c (ASSERT): Likewise.
56446         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
56447         * tests/test-c-strcasestr.c (ASSERT): Likewise.
56448         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
56449         * tests/test-c-strstr.c (ASSERT): Likewise.
56450         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
56451         * tests/test-canonicalize.c (ASSERT): Likewise.
56452         * tests/test-carray_list.c (ASSERT): Likewise.
56453         * tests/test-ceilf1.c (ASSERT): Likewise.
56454         * tests/test-ceilf2.c (ASSERT): Likewise.
56455         * tests/test-ceill.c (ASSERT): Likewise.
56456         * tests/test-count-one-bits.c (ASSERT): Likewise.
56457         * tests/test-fbufmode.c (ASSERT): Likewise.
56458         * tests/test-fflush2.c (ASSERT): Likewise.
56459         * tests/test-floorf1.c (ASSERT): Likewise.
56460         * tests/test-floorf2.c (ASSERT): Likewise.
56461         * tests/test-floorl.c (ASSERT): Likewise.
56462         * tests/test-fopen.c (ASSERT): Likewise.
56463         * tests/test-fpending.c (ASSERT): Likewise.
56464         * tests/test-fprintf-posix.c (ASSERT): Likewise.
56465         * tests/test-fpurge.c (ASSERT): Likewise.
56466         * tests/test-freadable.c (ASSERT): Likewise.
56467         * tests/test-freadahead.c (ASSERT): Likewise.
56468         * tests/test-freading.c (ASSERT): Likewise.
56469         * tests/test-freadptr.c (ASSERT): Likewise.
56470         * tests/test-freadptr2.c (ASSERT): Likewise.
56471         * tests/test-freadseek.c (ASSERT): Likewise.
56472         * tests/test-freopen.c (ASSERT): Likewise.
56473         * tests/test-frexp.c (ASSERT): Likewise.
56474         * tests/test-frexpl.c (ASSERT): Likewise.
56475         * tests/test-fseek.c (ASSERT): Likewise.
56476         * tests/test-fseeko.c (ASSERT): Likewise.
56477         * tests/test-fstrcmp.c (ASSERT): Likewise.
56478         * tests/test-ftell.c (ASSERT): Likewise.
56479         * tests/test-ftello.c (ASSERT): Likewise.
56480         * tests/test-func.c (ASSERT): Likewise.
56481         * tests/test-fwritable.c (ASSERT): Likewise.
56482         * tests/test-fwriting.c (ASSERT): Likewise.
56483         * tests/test-getdelim.c (ASSERT): Likewise.
56484         * tests/test-getline.c (ASSERT): Likewise.
56485         * tests/test-i-ring.c (ASSERT): Likewise.
56486         * tests/test-iconv-utf.c (ASSERT): Likewise.
56487         * tests/test-iconv.c (ASSERT): Likewise.
56488         * tests/test-isfinite.c (ASSERT): Likewise.
56489         * tests/test-isnand.c (ASSERT): Likewise.
56490         * tests/test-isnanf.c (ASSERT): Likewise.
56491         * tests/test-isnanl.h (ASSERT): Likewise.
56492         * tests/test-ldexpl.c (ASSERT): Likewise.
56493         * tests/test-linked_list.c (ASSERT): Likewise.
56494         * tests/test-linkedhash_list.c (ASSERT): Likewise.
56495         * tests/test-localename.c (ASSERT): Likewise.
56496         * tests/test-lseek.c (ASSERT): Likewise.
56497         * tests/test-mbscasecmp.c (ASSERT): Likewise.
56498         * tests/test-mbscasestr1.c (ASSERT): Likewise.
56499         * tests/test-mbscasestr2.c (ASSERT): Likewise.
56500         * tests/test-mbscasestr3.c (ASSERT): Likewise.
56501         * tests/test-mbscasestr4.c (ASSERT): Likewise.
56502         * tests/test-mbschr.c (ASSERT): Likewise.
56503         * tests/test-mbscspn.c (ASSERT): Likewise.
56504         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
56505         * tests/test-mbspbrk.c (ASSERT): Likewise.
56506         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
56507         * tests/test-mbsrchr.c (ASSERT): Likewise.
56508         * tests/test-mbsspn.c (ASSERT): Likewise.
56509         * tests/test-mbsstr1.c (ASSERT): Likewise.
56510         * tests/test-mbsstr2.c (ASSERT): Likewise.
56511         * tests/test-mbsstr3.c (ASSERT): Likewise.
56512         * tests/test-memchr2.c (ASSERT): Likewise.
56513         * tests/test-memmem.c (ASSERT): Likewise.
56514         * tests/test-open.c (ASSERT): Likewise.
56515         * tests/test-printf-frexp.c (ASSERT): Likewise.
56516         * tests/test-printf-frexpl.c (ASSERT): Likewise.
56517         * tests/test-printf-posix.c (ASSERT): Likewise.
56518         * tests/test-quotearg.c (ASSERT): Likewise.
56519         * tests/test-rbtree_list.c (ASSERT): Likewise.
56520         * tests/test-rbtree_oset.c (ASSERT): Likewise.
56521         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
56522         * tests/test-round1.c (ASSERT): Likewise.
56523         * tests/test-roundf1.c (ASSERT): Likewise.
56524         * tests/test-roundl.c (ASSERT): Likewise.
56525         * tests/test-signbit.c (ASSERT): Likewise.
56526         * tests/test-sleep.c (ASSERT): Likewise.
56527         * tests/test-snprintf-posix.c (ASSERT): Likewise.
56528         * tests/test-snprintf.c (ASSERT): Likewise.
56529         * tests/test-sprintf-posix.c (ASSERT): Likewise.
56530         * tests/test-stat-time.c (ASSERT): Likewise.
56531         * tests/test-strcasestr.c (ASSERT): Likewise.
56532         * tests/test-strerror.c (ASSERT): Likewise.
56533         * tests/test-striconv.c (ASSERT): Likewise.
56534         * tests/test-striconveh.c (ASSERT): Likewise.
56535         * tests/test-striconveha.c (ASSERT): Likewise.
56536         * tests/test-strsignal.c (ASSERT): Likewise.
56537         * tests/test-strstr.c (ASSERT): Likewise.
56538         * tests/test-strtod.c (ASSERT): Likewise.
56539         * tests/test-trunc1.c (ASSERT): Likewise.
56540         * tests/test-trunc2.c (ASSERT): Likewise.
56541         * tests/test-truncf1.c (ASSERT): Likewise.
56542         * tests/test-truncf2.c (ASSERT): Likewise.
56543         * tests/test-truncl.c (ASSERT): Likewise.
56544         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
56545         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
56546         * tests/test-vasnprintf.c (ASSERT): Likewise.
56547         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
56548         * tests/test-vasprintf.c (ASSERT): Likewise.
56549         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
56550         * tests/test-vprintf-posix.c (ASSERT): Likewise.
56551         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
56552         * tests/test-vsnprintf.c (ASSERT): Likewise.
56553         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
56554         * tests/test-wcwidth.c (ASSERT): Likewise.
56555         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
56556         * tests/test-xprintf-posix.c (ASSERT): Likewise.
56557         * tests/test-xvasprintf.c (ASSERT): Likewise.
56558         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
56559         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
56560         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
56561         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
56562         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
56563         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
56564         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
56565         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
56566         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
56567         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
56568         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
56569         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
56570         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
56571         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
56572         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
56573         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
56574         * tests/unictype/test-block_list.c (ASSERT): Likewise.
56575         * tests/unictype/test-block_of.c (ASSERT): Likewise.
56576         * tests/unictype/test-block_test.c (ASSERT): Likewise.
56577         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
56578         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
56579         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
56580         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
56581         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
56582         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
56583         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
56584         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
56585         * tests/unictype/test-combining.c (ASSERT): Likewise.
56586         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
56587         * tests/unictype/test-digit.c (ASSERT): Likewise.
56588         * tests/unictype/test-mirror.c (ASSERT): Likewise.
56589         * tests/unictype/test-numeric.c (ASSERT): Likewise.
56590         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
56591         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
56592         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
56593         * tests/unictype/test-scripts.c (ASSERT): Likewise.
56594         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
56595         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
56596         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
56597         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
56598         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
56599         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
56600         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
56601         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
56602         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
56603         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
56604         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
56605         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
56606         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
56607         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
56608         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
56609         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
56610         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
56611         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
56612         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
56613         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
56614         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
56615         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
56616         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
56617         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
56618         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
56619         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
56620         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
56621         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
56622         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
56623         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
56624         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
56625         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
56626         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
56627         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
56628         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
56629         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
56630         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
56631         Reported by Eric Blake.
56632
56633 2008-04-11  Bruno Haible  <bruno@clisp.org>
56634
56635         * lib/wchar.in.h: Tweak comment.
56636
56637 2008-04-11  Bruno Haible  <bruno@clisp.org>
56638
56639         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
56640         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
56641         gl_COMMON.
56642         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
56643
56644 2008-04-11  Bruno Haible  <bruno@clisp.org>
56645
56646         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
56647
56648 2008-04-11  Simon Josefsson  <simon@josefsson.org>
56649
56650         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
56651         of attempting to use non-existing /dev/*random.  Based on patch
56652         from Adam Strzelecki <ono@java.pl> in
56653         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
56654
56655 2008-04-08  Bruno Haible  <bruno@clisp.org>
56656
56657         Add tentative support for emx+gcc.
56658         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
56659         * lib/fpurge.c (fpurge): Likewise.
56660         * lib/freadable.c (freadable): Likewise.
56661         * lib/freadahead.c (freadahead): Likewise.
56662         * lib/freading.c (freading): Likewise.
56663         * lib/freadptr.c (freadptr): Likewise.
56664         * lib/freadseek.c (freadptrinc): Likewise.
56665         * lib/fseeko.c (rpl_fseeko): Likewise.
56666         * lib/fseterr.c (fseterr): Likewise.
56667         * lib/fwritable.c (fwritable): Likewise.
56668         * lib/fwriting.c (fwriting): Likewise.
56669         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
56670
56671 2008-04-09  Eric Blake  <ebb9@byu.net>
56672
56673         Avoid some autoconf warnings.
56674         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
56675         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
56676         * m4/afs.m4 (gl_AFS): Likewise.
56677         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
56678         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
56679         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
56680         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
56681         (gl_INTEGER_TYPE_SUFFIX): Likewise.
56682         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
56683         (AC_CHECK_DECLS_ONCE): Likewise.
56684         Rename file...
56685         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
56686         gnulib-tool requires autoconf 2.59 or better.
56687         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
56688
56689 2008-04-08  Eric Blake  <ebb9@byu.net>
56690
56691         Use 'git describe --match' if present (added in git 1.5.5).
56692         * build-aux/git-version-gen: Limit result to tags that match 'v*'
56693         if possible.
56694
56695 2008-04-08  Bruno Haible  <bruno@clisp.org>
56696
56697         Add tentative support for OpenServer.
56698         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
56699         _ptr, _cnt.
56700         * lib/fpurge.c (fpurge): Likewise.
56701         * lib/freadable.c (freadable): Likewise.
56702         * lib/freadahead.c (freadahead): Likewise.
56703         * lib/freading.c (freading): Likewise.
56704         * lib/freadptr.c (freadptr): Likewise.
56705         * lib/freadseek.c (freadptrinc): Likewise.
56706         * lib/fseeko.c (rpl_fseeko): Likewise.
56707         * lib/fseterr.c (fseterr): Likewise.
56708         * lib/fwritable.c (fwritable): Likewise.
56709         * lib/fwriting.c (fwriting): Likewise.
56710         Reported by Roger Cornelius <rac@tenzing.org> and
56711         Brian K. White <brian@aljex.com>.
56712
56713 2008-04-06  Jim Meyering  <meyering@redhat.com>
56714
56715         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
56716
56717 2008-04-06  Bruno Haible  <bruno@clisp.org>
56718
56719         Avoid possible error with non-ASCII bytes in UTF-8 locales.
56720         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
56721         * tests/test-printf-posix.sh: Likewise.
56722         * tests/test-vfprintf-posix.sh: Likewise.
56723         * tests/test-vprintf-posix.sh: Likewise.
56724         * tests/test-xprintf-posix.sh: Likewise.
56725
56726 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56727
56728         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
56729         hide error from 'ls', needed on OS/2.
56730         Report by Elbert Pol <elbert.pol@gmail.com>.
56731
56732 2008-04-04  Eric Blake  <ebb9@byu.net>
56733
56734         Make test-fseeko.c failures meaningful.
56735         * tests/test-fseeko.c: Print line number on failure.
56736         * tests/test-fseek.c: Likewise.
56737         Reported by Nelson H. F. Beebe.
56738
56739         Improve strtod bug detection check.
56740         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
56741         required for Solaris 10.
56742         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
56743
56744 2008-04-04  Bruno Haible  <bruno@clisp.org>
56745
56746         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
56747         by m4/setenv.m4.
56748
56749 2008-04-03  Eric Blake  <ebb9@byu.net>
56750
56751         Ensure sane .version contents.
56752         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
56753         version string.
56754         * build-aux/git-version-gen: Improve documentation.
56755
56756         Make GNU make output nicer.
56757         * top/GNUmakefile [!_have-Makefile]: Add dependency on
56758         MAKECMDGOALS to enforce message for all command line targets.  Set
56759         srcdir for use in maint.mk.
56760
56761         Another maintainer tweak.
56762         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
56763         a target that regenerates version.
56764
56765 2008-04-03  Jim Meyering  <meyering@redhat.com>
56766
56767         vc-list-files: don't cause coreutils "make po-check" failure
56768         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
56769
56770 2008-04-03  Eric Blake  <ebb9@byu.net>
56771
56772         Allow VPATH usage of vc-list-files.
56773         * build-aux/vc-list-files (scriptversion): Add timestamp.
56774         (options): Add --help, --version, -C.
56775         (CVS): Support installed cvsu.
56776
56777 2008-04-02  Bruno Haible  <bruno@clisp.org>
56778
56779         Avoid some "statement with no effect" warnings from gcc.
56780         * tests/test-wctype.c (main): Explicitly ignore unused values.
56781         Reported by Jim Meyering.
56782
56783 2008-04-02  Jim Meyering  <meyering@redhat.com>
56784
56785         Avoid some warnings from "gcc -Wshadow".
56786         * tests/test-frexp.c (exp): Define to a different identifier.
56787         * tests/test-frexpl.c (exp): Likewise.
56788
56789 2008-04-03  Jim Meyering  <meyering@redhat.com>
56790
56791         bootstrap: remove dangling *.[ch] symlinks from lib
56792         * build-aux/bootstrap [dangling symlink removal]: Move find's
56793         -depth option to precede all others, to avoid a warning.
56794         Remove *.[ch] files too, and from "$source_base" (usually lib/).
56795
56796 2008-04-02  Bruno Haible  <bruno@clisp.org>
56797
56798         Avoid some warnings from "gcc -Wshadow".
56799         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
56800         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
56801         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
56802         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
56803         Reported by Jim Meyering.
56804
56805 2008-04-01  Bruno Haible  <bruno@clisp.org>
56806
56807         Fix test to work on IRIX 6.5 with cc.
56808         * tests/test-math.c (numeric_equal): New function.
56809         (main): Use it.
56810
56811 2008-04-01  Bruno Haible  <bruno@clisp.org>
56812
56813         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
56814
56815 2008-04-01  Bruno Haible  <bruno@clisp.org>
56816
56817         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
56818         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56819         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
56820         (Depends-on): Remove math.
56821
56822         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
56823         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56824         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
56825         (Depends-on): Remove math.
56826
56827         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
56828         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56829         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
56830         (Depends-on): Remove math.
56831         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
56832         (Depends-on): Remove math.
56833
56834         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
56835         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56836         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
56837         (Depends-on): Remove math.
56838         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
56839         (Depends-on): Remove math.
56840
56841         * tests/test-round1.c: Include nan.h.
56842         (main): Use NaNd instead of NAN.
56843         * modules/round-tests (Files): Add tests/nan.h.
56844
56845         * tests/test-trunc1.c: Include nan.h.
56846         (main): Use NaNd instead of NAN.
56847         * modules/trunc-tests (Files): Add tests/nan.h.
56848
56849         * tests/test-roundf1.c: Include nan.h.
56850         (main): Use NaNf instead of NAN.
56851         * modules/roundf-tests (Files): Add tests/nan.h.
56852
56853         * tests/test-truncf1.c: Include nan.h.
56854         (main): Use NaNf instead of NAN.
56855         * modules/truncf-tests (Files): Add tests/nan.h.
56856
56857         * tests/test-ceilf1.c: Include nan.h.
56858         (main): Use NaNf instead of NAN.
56859         * modules/ceilf-tests (Files): Add tests/nan.h.
56860
56861         * tests/test-floorf1.c: Include nan.h.
56862         (main): Use NaNf instead of NAN.
56863         * modules/floorf-tests (Files): Add tests/nan.h.
56864
56865         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
56866         (main): Use NaNf instead of NAN.
56867         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
56868
56869         * tests/test-isnand.c: Include nan.h instead of <math.h>.
56870         (main): Use NaNd instead of NAN.
56871         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
56872
56873         * tests/test-frexp.c: Include nan.h.
56874         (main): Use NaNd instead of NAN.
56875         * modules/frexp-tests (Files): Add tests/nan.h.
56876
56877         * lib/isnan.c: Don't include <math.h>.
56878         (FUNC): Don't use NAN macro.
56879         * modules/isnand-nolibm (Depends-on): Remove math.
56880         * modules/isnanf-nolibm (Depends-on): Remove math.
56881         * modules/isnanl (Depends-on): Remove math.
56882         * modules/isnanl-nolibm (Depends-on): Remove math.
56883
56884         * tests/nan.h: New file.
56885
56886 2008-04-01  Eric Blake  <ebb9@byu.net>
56887
56888         Fix typos.
56889         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
56890         values to be the right type.
56891
56892         For now, cater to gnulib strtod inaccuracies.
56893         * tests/test-strtod.c (main): Allow 1-ulp error on expected
56894         fractional results.  While not as nice from a QoI perspective, it
56895         is a quicker patch than correctly implementing decimal to binary
56896         rounding.
56897
56898 2008-03-31  Eric Blake  <ebb9@byu.net>
56899
56900         Guarantee a definition of NAN.
56901         * lib/math.in.h (NAN): Define if missing.
56902         * tests/test-math.c (main): Test it.
56903         * doc/posix-headers/math.texi (math.h): Document this.
56904         * lib/isnan.c (rpl_isnand): Use it.
56905         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
56906         * tests/test-floorf1.c (NaN): Likewise.
56907         * tests/test-frexp.c (NaN): Likewise.
56908         * tests/test-isnand.c (NaN): Likewise.
56909         * tests/test-isnanf.c (NaN): Likewise.
56910         * tests/test-round1.c (NaN): Likewise.
56911         * tests/test-roundf1.c (NaN): Likewise.
56912         * tests/test-snprintf-posix.h (NaN): Likewise.
56913         * tests/test-sprintf-posix.h (NaN): Likewise.
56914         * tests/test-trunc1.c (NaN): Likewise.
56915         * tests/test-truncf1.c (NaN): Likewise.
56916         * tests/test-vasnprintf-posix.c (NaN): Likewise.
56917         * tests/test-vasprintf-posix.c (NaN): Likewise.
56918         * modules/isnand-nolibm (Depends-on): Add math.
56919         * modules/isnanf-nolibm (Depends-on): Likewise.
56920         * modules/isnanl (Depends-on): Likewise.
56921         * modules/isnanl-nolibm (Depends-on): Likewise.
56922         * modules/snprintf-posix-tests (Depends-on): Likewise.
56923         * modules/sprintf-posix-tests (Depends-on): Likewise.
56924         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
56925         * modules/vsprintf-posix-tests (Depends-on): Likewise.
56926         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
56927         * modules/vasprintf-posix-tests (Depends-on): Likewise.
56928
56929 2008-03-31  Bruno Haible  <bruno@clisp.org>
56930
56931         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
56932         * doc/posix-functions/strtod.texi: Likewise.
56933
56934 2008-03-31  Bruno Haible  <bruno@clisp.org>
56935
56936         * tests/test-strtod.c (main): Don't use C99 syntax.
56937
56938 2008-03-31  Bruno Haible  <bruno@clisp.org>
56939
56940         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
56941         Reported by Eric Blake.
56942
56943 2008-03-31  Jim Meyering  <meyering@redhat.com>
56944
56945         Don't compare actual signbit return values.
56946         * tests/test-strtod.c (main): Rather, compare only their
56947         zero/non-zero nature.
56948
56949 2008-03-31  Eric Blake  <ebb9@byu.net>
56950
56951         More strtod documentation.
56952         * doc/posix-functions/strtod.texi (strtod): Interpret more test
56953         failures as distinct bugs.
56954
56955 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
56956
56957         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
56958         Problem reported by Erik Benada in
56959         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
56960
56961 2008-03-30  Bruno Haible  <bruno@clisp.org>
56962
56963         * tests/test-strtod.c: Add comments about which assertion fails on which
56964         platform.
56965         * doc/posix-functions/strtod.texi: Add info about many more platforms.
56966
56967 2008-03-30  Eric Blake  <ebb9@byu.net>
56968
56969         Test signbit behavior on zeros.
56970         * tests/test-signbit.c (test_signbitf): Add tests for zero.
56971         (test_signbitd, test_signbitl): Likewise.
56972
56973         More strtod touchups.
56974         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
56975         sign of negative underflow, for now.  Use .5, not .1.
56976         * doc/posix-functions/strtod.texi (strtod): Mention these
56977         limitations.
56978         Reported by Jim Meyering.
56979
56980 2008-03-30  Bruno Haible  <bruno@clisp.org>
56981
56982         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
56983         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
56984
56985 2008-03-30  Bruno Haible  <bruno@clisp.org>
56986
56987         Avoid failure when attempting to return empty iconv results on some
56988         platforms.
56989         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
56990         allocation, don't report ENOMEM when the resulting string is empty.
56991
56992 2008-03-30  Bruno Haible  <bruno@clisp.org>
56993
56994         Fix buffer overrun.
56995         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
56996         Don't consider the width for tmp_length. Check count against tmp_length
56997         before doing the padding. Ensure enough allocation during padding.
56998
56999 2008-03-30  Eric Blake  <ebb9@byu.net>
57000
57001         strtod touchups.
57002         * lib/strtod.c (strtod): Avoid compiler warnings.
57003         Reported by Jim Meyering.
57004
57005 2008-03-30  Bruno Haible  <bruno@clisp.org>
57006
57007         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
57008         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
57009         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
57010         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
57011         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
57012         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
57013         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
57014         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
57015
57016         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
57017         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
57018         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
57019         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
57020         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
57021         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
57022         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
57023         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
57024
57025         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
57026         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
57027         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
57028         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
57029         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
57030         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
57031         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
57032         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
57033
57034         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
57035         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
57036
57037         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
57038         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
57039
57040         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
57041         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
57042
57043         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
57044         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
57045         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
57046
57047         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
57048         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
57049         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
57050
57051         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
57052         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
57053         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
57054
57055         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
57056         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
57057         * modules/vasprintf (Depends-on): Add EOVERFLOW.
57058
57059         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
57060         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
57061         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
57062         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
57063         (Depends-on): Add EOVERFLOW.
57064         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
57065         (Depends-on): Add EOVERFLOW.
57066         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57067         (Depends-on): Add EOVERFLOW.
57068         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57069         (Depends-on): Add EOVERFLOW.
57070         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57071         (Depends-on): Add EOVERFLOW.
57072         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57073         (Depends-on): Add EOVERFLOW.
57074         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57075         (Depends-on): Add EOVERFLOW.
57076         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57077         (Depends-on): Add EOVERFLOW.
57078
57079         * lib/sprintf.c (EOVERFLOW): Remove fallback.
57080         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
57081         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
57082
57083         * lib/snprintf.c (EOVERFLOW): Remove fallback.
57084         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
57085         * modules/snprintf (Depends-on): Add EOVERFLOW.
57086
57087         * lib/poll.c (EOVERFLOW): Remove fallback.
57088         * modules/poll (Depends-on): Add EOVERFLOW.
57089
57090         * lib/getugroups.c (EOVERFLOW): Remove fallback.
57091         * modules/getugroups (Depends-on): Add EOVERFLOW.
57092
57093         * lib/getdelim.c (EOVERFLOW): Remove fallback.
57094         * modules/getdelim (Depends-on): Add EOVERFLOW.
57095
57096         * lib/ftell.c (EOVERFLOW): Remove fallback.
57097         * modules/ftell (Depends-on): Add EOVERFLOW.
57098
57099         * lib/fprintf.c (EOVERFLOW): Remove fallback.
57100         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
57101         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
57102
57103         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
57104
57105         * modules/EOVERFLOW-tests: New file.
57106         * tests/test-EOVERFLOW.c: New file.
57107
57108         * modules/EOVERFLOW: New file.
57109         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
57110
57111 2008-03-30  Bruno Haible  <bruno@clisp.org>
57112
57113         Fix bug introduced on 2007-06-10.
57114         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
57115         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
57116
57117 2008-03-30  Bruno Haible  <bruno@clisp.org>
57118
57119         Improve freadseek's efficiency after ungetc.
57120         * lib/freadseek.c: Include freadahead.h.
57121         (freadptrinc): New function, extracted from freadseek.
57122         (freadseek): Use it in a loop. Use freadahead to determine the number
57123         of loop iterations.
57124         * modules/freadseek (Depends-on): Add freadahead.
57125         (configure.ac): Require AC_C_INLINE.
57126
57127 2008-03-30  Bruno Haible  <bruno@clisp.org>
57128
57129         * lib/freadseek.c (freadseek): Don't ignore the return value of
57130         freadptr.
57131
57132 2008-03-29  Eric Blake  <ebb9@byu.net>
57133
57134         Add hex float support.
57135         * modules/strtod (Depends-on): Add c-ctype.
57136         (Link): Mention POW_LIB.
57137         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
57138         whitespace between 'e' and exponent.
57139         * tests/test-strtod.c (main): Enable hex float tests.
57140         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
57141         now provides.
57142
57143         Document various strtod bugs, with some fixes.
57144         * doc/posix-functions/strtod.texi (strtod): Document bugs with
57145         "-0x", "inf", "nan", and hex constants.
57146         * doc/posix-functions/atof.texi (atof): Likewise.
57147         * modules/stdlib (Makefile.am): Support strtod.
57148         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
57149         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
57150         detect additional strtod bugs.
57151         * lib/stdlib.in.h (rpl_strtod): Add declarations.
57152         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
57153         bool where appropriate.  Parse 'inf' and 'nan'.
57154         * tests/test-strtod.c: New file.
57155         * modules/strtod (Depends-on): Add stdbool, stdlib.
57156         (configure.ac): Turn on module indicator.
57157         * modules/strtod-tests: New module.
57158
57159 2008-03-29  Eric Blake  <ebb9@byu.net>
57160
57161         Fix ftell on mingw.
57162         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
57163         * modules/ftell-tests (Depends-on): Add binary-io.
57164         * modules/ftello-tests (Depends-on): Likewise.
57165         * tests/test-ftell.c (main): Enhance test to cover behavior after
57166         ungetc.  Enforce binary mode.
57167         * tests/test-ftello.c (main): Likewise.
57168
57169         Pass test-freadseek on cygwin.
57170         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
57171         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
57172         ungetc buffer.
57173
57174         * tests/test-fflush2.c (main): Fix typo.
57175
57176 2008-03-29  Bruno Haible  <bruno@clisp.org>
57177
57178         * tests/test-fflush2.c (main): Temporarily disable the contents of
57179         this test.
57180         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
57181         Reported by Eric Blake.
57182
57183 2008-03-28  Simon Josefsson  <simon@josefsson.org>
57184
57185         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
57186         (GC_SHA224_DIGEST_SIZE): Add.
57187
57188         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
57189         (gc_hash_digest_length): Likewise.
57190         (gc_hash_buffer): Likewise.
57191
57192 2008-03-25  Bruno Haible  <bruno@clisp.org>
57193
57194         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
57195         detail which gettext release to use.
57196         Reported by Simon Josefsson.
57197
57198 2008-03-26  Jim Meyering  <meyering@redhat.com>
57199
57200         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
57201         * modules/gnumakefile (clean-GNUmakefile): Also, use
57202         test ... && ... || : syntax rather than if-then ... fi.
57203
57204         gnumakefile: Don't double-quote-expand $(VPATH) value.
57205         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
57206
57207 2008-03-24  Eric Blake  <ebb9@byu.net>
57208
57209         Alter GNUmakefile to install into top directory.
57210         * modules/maintainer-makefile: Split, and add dependency...
57211         * modules/gnumakefile: to this new module.
57212         * build-aux/GNUmakefile: Move...
57213         * top/GNUmakefile: ...here.
57214         * build-aux/maint.mk: Move...
57215         * top/maint.mk: ...here.
57216         * MODULES.html.sh (Support for maintaining...): Document new
57217         module.
57218
57219 2008-03-23  Bruno Haible  <bruno@clisp.org>
57220
57221         * gnulib-tool: New options --vc-files, --no-vc-files.
57222         (func_usage): Document them.
57223         (vc_files): New variable.
57224         (func_import): Consider vc_files.
57225         (func_create_testdir): Set vc_files to empty.
57226         Suggested by Jim Meyering and Karl Berry.
57227
57228 2008-03-23  Bruno Haible  <bruno@clisp.org>
57229
57230         Fix regex compilation error on HP-UX 11.
57231         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
57232         * modules/regex (Files): Add m4/mbstate_t.m4.
57233         Reported by Ton Voon <ton.voon@altinity.com>.
57234
57235 2008-03-23  Bruno Haible  <bruno@clisp.org>
57236
57237         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
57238
57239 2008-03-23  Eric Blake  <ebb9@byu.net>
57240             Bruno Haible  <bruno@clisp.org>
57241
57242         Install files from top/ in the destination directory.
57243         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
57244         augmentation also for the files from top/.
57245         (func_import, func_create_testdir): Rewrite file names:
57246         top/filename -> filename.
57247
57248 2008-03-23  Bruno Haible  <bruno@clisp.org>
57249
57250         Tweak "gnulib --version" output.
57251         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
57252
57253 2008-03-23  Bruno Haible  <bruno@clisp.org>
57254
57255         Tweak "gnulib --version" output.
57256         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
57257         rather than contents of ChangeLog, when possible.
57258
57259 2008-03-21  Eric Blake  <ebb9@byu.net>
57260
57261         More --version tweaks.
57262         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
57263         date of last ChangeLog entry.
57264
57265 2008-03-21  Jim Meyering  <meyering@redhat.com>
57266
57267         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
57268
57269 2008-03-20  Eric Blake  <ebb9@byu.net>
57270
57271         VPATH fix.
57272         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
57273
57274 2008-03-20  Simon Josefsson  <simon@josefsson.org>
57275
57276         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
57277         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
57278
57279 2008-03-20  Eric Blake  <ebb9@byu.net>
57280
57281         Sync GNUmakefile with coreutils.
57282         * build-aux/GNUmakefile (have-Makefile): Rename...
57283         (_have-Makefile): ...to this, for namespace consideration.
57284         (GNUmakefile.cfg): Include, if present.
57285         (_autoreconf): Define a default.
57286         (_is-dist-target): New rule for rebuilds to pick up intra-release
57287         version.
57288         (maint-cfg.mk): Rename...
57289         (cfg.mk): ...to this.
57290
57291 2008-03-18  Jim Meyering  <meyering@redhat.com>
57292
57293         New script and module: mktempd
57294         * MODULES.html.sh (maint+release support): Add mktempd.
57295         * build-aux/mktempd: New file.
57296         * modules/mktempd: New file.
57297
57298 2008-03-15  Jim Meyering  <meyering@redhat.com>
57299
57300         Undo last change.
57301         * lib/sha1.c, lib/md5.c: 63 != ~63.
57302         Reported by Andreas Schwab.
57303
57304         sha1.c, md5.c: Hoist a redundant expression.
57305         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
57306         "ctx->buflen" only once, before calling *_process_block.
57307         * lib/md5.c (md5_process_bytes): Likewise.
57308
57309 2008-03-14  Eric Blake  <ebb9@byu.net>
57310
57311         Bump copyright year in files generated by gnulib-tool.
57312         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
57313         gnulib-tool, rather than hard-coding it.
57314
57315         Fix 'gnulib-tool --version' output to work with git.
57316         * gnulib-tool (func_gnulib_dir): New function, extracted from...
57317         (startup): ...here.
57318         (func_version): Use it to invoke git-version-gen, rather than
57319         relying on CVS keyword expansion.  Modernize wording.
57320         (cvsdatestamp, last_checkin_date, version): Kill unused
57321         variables.
57322
57323 2008-03-12  Jim Meyering  <meyering@redhat.com>
57324
57325         Recognize optional cast of the argument to free.
57326         * build-aux/useless-if-before-free: Update regexps.
57327
57328         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
57329
57330 2008-03-11  Bruno Haible  <bruno@clisp.org>
57331
57332         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
57333         by a single package.
57334         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
57335         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
57336         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
57337         Reported by Sam Steingold <sds@gnu.org>.
57338
57339 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57340
57341         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
57342         repositories.
57343
57344 2008-03-11  Bruno Haible  <bruno@clisp.org>
57345
57346         Avoid conflicts between local macro definitions.
57347         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
57348         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
57349
57350 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
57351             Bruno Haible  <bruno@clisp.org>
57352
57353         Make va_copy work with some version of xlc on AIX 5.1.
57354         * lib/stdarg.in.h: New file.
57355         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
57356         On AIX, use a <stdarg.h> file substitute.
57357         * modules/stdarg (Files): Add lib/stdarg.in.h.
57358         (Depends-on): Add include_next.
57359         (Makefile.am): Build a stdarg.h substitute if requested.
57360         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
57361
57362 2008-03-10  Bruno Haible  <bruno@clisp.org>
57363
57364         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
57365         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57366         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57367
57368 2008-03-10  Bruno Haible  <bruno@clisp.org>
57369
57370         * modules/stdlib (Depends-on): Add include_next, remove
57371         absolute-header.
57372
57373 2008-03-09  Bruno Haible  <bruno@clisp.org>
57374
57375         * lib/freadahead.h (freadahead): Document more precisely.
57376         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
57377         the sum of both buffer sizes.
57378         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
57379         * NEWS: Document the change.
57380
57381 2008-03-09  Bruno Haible  <bruno@clisp.org>
57382
57383         Extend freadptr to return also the buffer size.
57384         * lib/freadptr.h (freadptr): Add sizep argument.
57385         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
57386         (freadptr): Add sizep argument. Determine buffer size like freadahead
57387         does.
57388         * tests/test-freadptr.c: Don't include freadahead.h.
57389         (main): Adapt for new calling convention of freadptr.
57390         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
57391         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
57392         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
57393         tests/test-freadptr2.sh.
57394         (Depends): Remove freadahead.
57395         (TESTS): Add test-freadptr2.sh.
57396         (check_PROGRAMS): Add test-freadptr2.
57397
57398 2008-03-09  Bruno Haible  <bruno@clisp.org>
57399
57400         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
57401         Report and solution by Simon Josefsson.
57402
57403 2008-03-06  Bruno Haible  <bruno@clisp.org>
57404
57405         Make fflush after ungetc work on BSD platforms.
57406         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
57407         * tests/test-fflush2.c: New file.
57408         * tests/test-fflush2.sh: New file.
57409         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
57410         tests/test-fflush2.c.
57411         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
57412         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
57413
57414 2008-03-06  Eric Blake  <ebb9@byu.net>
57415
57416         Likewise for ftello.
57417         * modules/ftello (Dependencies): Add extensions.
57418         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
57419
57420 2008-03-06  Bruno Haible  <bruno@clisp.org>
57421
57422         * modules/fseeko (Dependencies): Add extensions.
57423         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
57424         Needed on glibc systems.
57425
57426 2008-03-06  Bruno Haible  <bruno@clisp.org>
57427
57428         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
57429         email address.
57430         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57431
57432 2008-03-06  Bruno Haible  <bruno@clisp.org>
57433
57434         * users.txt: Add libgnupdf.
57435
57436 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
57437
57438         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
57439         (Header File Substitutes, Function Substitutes,
57440         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
57441         (Build robot for gnulib): Fix typo.
57442
57443 2008-03-06  Bruno Haible  <bruno@clisp.org>
57444
57445         * doc/gnulib-tool.texi (VCS Issues): Small updates.
57446         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57447
57448 2008-03-06  Bruno Haible  <bruno@clisp.org>
57449
57450         * doc/func.texi: New file, extracted from doc/gnulib.texi.
57451         * doc/gnulib.texi: Include it.
57452
57453 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57454
57455         * modules/func (License): Change license to unlimited; there was
57456         no LGPL parts in the module anyway.
57457
57458 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57459
57460         * modules/__func__: Renamed to modules/func.
57461         * modules/__func__-tests: Renamed to modules/func-tests.
57462         * tests/test-__func__.c: Renamed to tests/test-func.c.
57463         * m4/__func__.m4: Renamed to m4/func.m4.
57464         * doc/gnulib.texi (__func__): Section renamed to func.
57465         Suggested by Eric Blake <ebb9@byu.net>.
57466
57467 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57468
57469         * doc/gnulib.texi (__func__): Use C99 terminology when talking
57470         about __func__.  Make example self-contained.  Suggested by Eric
57471         Blake <ebb9@byu.net>.
57472
57473         * tests/test-__func__.c (main): Avoid extraneous () around __func.
57474         Suggested by Eric Blake <ebb9@byu.net>.
57475
57476 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57477
57478         * modules/__func__: New file.
57479         * modules/__func__-tests: New file.
57480         * tests/test-__func__.c: New file.
57481         * m4/__func__.m4: New file.
57482         * doc/gnulib.texi (__func__): Document __func__ module.
57483
57484 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57485
57486         * modules/byteswap (License): Re-license as LGPLv2+.
57487
57488 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57489
57490         * doc/Makefile: Add pdf target.
57491
57492 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57493
57494         * modules/inline (License): Use 'unlimited', since there are only
57495         *.m4 files in this module.
57496
57497 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
57498             Bruno Haible  <bruno@clisp.org>
57499
57500         Add support for HP C 7.1 on OpenVMS 8.3.
57501         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
57502
57503 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
57504
57505         Update VMS specifics.
57506         * lib/getopt.c [VMS]: Remove include of unixlib.h.
57507
57508 2008-03-02  Jim Meyering  <meyering@redhat.com>
57509
57510         Remove the last dependency on the "free" module.
57511         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
57512         Reported by Bob Proulx.
57513
57514         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
57515
57516         Remove useless "if" tests before free.  Deprecate "free" module.
57517         * doc/posix-functions/free.texi: Mention that this
57518         module is no longer useful.
57519         * modules/free (Notice): Say this module is obsolete.
57520         * modules/readutmp (Depends-on): Remove free.
57521         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
57522         * lib/putenv.c (putenv): Likewise.
57523         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
57524         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
57525         * tests/test-c-strcasestr.c (main): Likewise.
57526         * tests/test-c-strstr.c (main): Likewise.
57527         * tests/test-mbscasestr1.c (main): Likewise.
57528         * tests/test-mbscasestr2.c (main): Likewise.
57529         * tests/test-mbsstr1.c (main): Likewise.
57530         * tests/test-mbsstr2.c (main): Likewise.
57531         * tests/test-memmem.c (main): Likewise.
57532         * tests/test-strcasestr.c (main): Likewise.
57533         * tests/test-striconv.c (main): Likewise.
57534         * tests/test-striconveh.c (main): Likewise.
57535         * tests/test-striconveha.c (main): Likewise.
57536         * tests/test-strstr.c (main): Likewise.
57537
57538         * build-aux/git-version-gen: Adjust a comment and the Usage string.
57539
57540         bootstrap: sync from coreutils again
57541         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
57542
57543 2008-03-01  Jim Meyering  <meyering@redhat.com>
57544
57545         bootstrap: sync from coreutils
57546         * build-aux/bootstrap (update_po_files): Copy a .po file into place
57547         also when the target doesn't exist.
57548
57549 2008-03-01  Eric Blake  <ebb9@byu.net>
57550
57551         Fix bugs in last patch.
57552         * lib/memchr2.c (memchr2): Fix typo.
57553         * tests/test-memchr2.c: Test previous bug, and don't use GNU
57554         extension.
57555         Reported by Bruce Korb.
57556
57557         New module 'memchr2'.
57558         * modules/memchr2: New file.
57559         * modules/memchr2-tests: Likewise.
57560         * lib/memchr2.h: Likewise.
57561         * lib/memchr2.c: Likewise, based on memchr.c.
57562         * tests/test-memchr2.c: New test.
57563         * MODULES.html.sh (String handling): Add memchr2.
57564
57565 2008-02-29  Bruno Haible  <bruno@clisp.org>
57566
57567         * modules/freadseek-tests: New file.
57568         * tests/test-freadseek.sh: New file.
57569         * tests/test-freadseek.c: New file.
57570
57571         New module 'freadseek'.
57572         * modules/freadseek: New file.
57573         * lib/freadseek.h: New file.
57574         * lib/freadseek.c: New file.
57575         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
57576
57577 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
57578
57579         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
57580         wydawca.
57581
57582         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
57583         program_invocation_name and program_invocation_short_name are
57584         present.
57585
57586 2008-02-28  Bruno Haible  <bruno@clisp.org>
57587
57588         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
57589         * tests/test-freadptr.sh: Also test non-seekable stdin.
57590
57591 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
57592
57593         * build-aux/bootstrap (source_base, m4_base)
57594         (doc_base, tests_base): New variables.
57595         (gnulib_tool_options): Do not hardcode base directories, use
57596         the above variables instead.
57597
57598 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
57599
57600         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
57601
57602 2008-02-28  Bruno Haible  <bruno@clisp.org>
57603
57604         * modules/freadptr-tests: New file.
57605         * tests/test-freadptr.sh: New file.
57606         * tests/test-freadptr.c: New file.
57607
57608         New module 'freadptr'.
57609         * modules/freadptr: New file.
57610         * lib/freadptr.h: New file.
57611         * lib/freadptr.c: New file.
57612         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
57613
57614 2008-02-26  Karl Berry  <karl@freefriends.org>
57615
57616         Sync from Libtool:
57617         * libltdl/argz.c (argz_add, argz_count): New functions.
57618         * libltdl/argz.in.h: Declare them.
57619         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
57620
57621 2008-02-22  Bruno Haible  <bruno@clisp.org>
57622
57623         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
57624         is a pointer type.  Needed for HP-UX 10.
57625         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
57626         * doc/posix-functions/gmtime_r.texi: Likewise.
57627         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57628
57629 2008-02-24  Bruno Haible  <bruno@clisp.org>
57630
57631         * modules/environ-tests: New file.
57632         * tests/test-environ.c: New file.
57633
57634         New module 'environ'.
57635         * modules/environ: New file.
57636         * lib/unistd.in.h (environ): New declaration.
57637         * m4/environ.m4: New file.
57638         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
57639         after use.
57640         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
57641         HAVE_DECL_ENVIRON.
57642         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
57643         HAVE_DECL_ENVIRON.
57644         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
57645         wrong claim that 'environ' is missing on some systems.
57646         * modules/execute (Depends-on): Add environ.
57647         * lib/execute.c (environ): Remove fallback declaration.
57648         * modules/pipe (Depends-on): Add environ.
57649         * lib/pipe.c (environ): Remove fallback declaration.
57650         * modules/setenv (Depends-on): Add environ.
57651         * lib/setenv.c (environ): Remove fallback declaration.
57652         * modules/unsetenv (Depends-on): Add environ.
57653         * lib/unsetenv.c (environ): Remove fallback declaration.
57654         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
57655         m4/environ.m4.
57656         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
57657         (gl_PREREQ_UNSETENV): Likewise.
57658
57659 2008-02-24  Bruno Haible  <bruno@clisp.org>
57660
57661         * doc/posix-functions/environ.texi: Document the MacOS X problem.
57662
57663 2008-02-20  Bob Proulx  <bob@proulx.com>
57664
57665         Enable use of older two part flavor 'git describe'.
57666         * build-aux/git-version-gen: If using the older two part flavor of
57667         git version then recreate the third part now present in the
57668         newer three part flavor of git describe.
57669
57670 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
57671
57672         * lib/fts.c (fts_build): Typo correction to comment.
57673
57674 2008-02-17  Bruno Haible  <bruno@clisp.org>
57675
57676         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
57677         generating no-op conflicts.
57678
57679 2008-02-17  Bruno Haible  <bruno@clisp.org>
57680
57681         Speed up by 10%.
57682         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
57683         result_entries, rather than an index-based loop.
57684
57685 2008-02-17  Bruno Haible  <bruno@clisp.org>
57686
57687         Speed up by 25%.
57688         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
57689         'hashcode_cached'.
57690         (entry_create): New function.
57691         (entry_hashcode): Use the cached hashcode if possible.
57692         (read_changelog_file, try_split_merged_entry): Use entry_create.
57693
57694 2008-02-17  Bruno Haible  <bruno@clisp.org>
57695
57696         Speed up from O(n^2) to O(n) for long ChangeLog files.
57697         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
57698         (read_changelog_file): Change implementation of entries_reversed list
57699         to rbtreehash.
57700         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
57701
57702 2008-02-17  Bruno Haible  <bruno@clisp.org>
57703
57704         New option --split-merged-entry.
57705         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
57706         (find_paragraph_end, try_split_merged_entry): New functions.
57707         (long_options): Add option --split-merged-entry.
57708         (usage): Document option --split-merged-entry.
57709         (main): Implement option --split-merged-entry.
57710         Reported by Eric Blake.
57711
57712 2008-02-17  Bruno Haible  <bruno@clisp.org>
57713
57714         * lib/git-merge-changelog.c: Include c-strstr.h.
57715         (main): Support the "git pull --rebase" situation.
57716         * modules/git-merge-changelog (Depends-on): Add c-strstr.
57717         Reported by Eric Blake.
57718
57719 2008-02-16  Eric Blake  <ebb9@byu.net>
57720
57721         Avoid doubling \ in common case of "c-maybe" quoting style.
57722         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
57723         eliding outer quotes.
57724         * lib/quotearg.h: Document this.
57725         * tests/test-quotearg.c (result_strings, inputs, results_g)
57726         (flag_results, locale_results): Test it by adding a new string to
57727         each test group.
57728         (compare_strings): Test new string.
57729
57730 2008-02-13  Eric Blake  <ebb9@byu.net>
57731
57732         Avoid trigraph quoting in default output.
57733         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
57734         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
57735         unless explicitly requested.
57736         * tests/test-quotearg.c (flag_results, main): Add additional tests.
57737
57738 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
57739
57740         Don't rely on signed integer overflowing to negative value.
57741         * lib/getugroups.c (getugroups): Include <limits.h>.
57742         Instead, compare against INT_MAX, and increment only if the test passes.
57743
57744 2008-02-13  Jim Meyering  <meyering@redhat.com>
57745         and Eric Blake  <ebb9@byu.net>
57746
57747         Avoid shadowing warning and compile errors on Linux.
57748         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
57749         forwarding macros on Linux.
57750         (dcgettext): Define a stub, for Linux.
57751         (results_g, main): Avoid warnings.
57752
57753 2008-02-12  Eric Blake  <ebb9@byu.net>
57754
57755         Silence warning in last patch.
57756         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
57757
57758         Quotearg part 4: add tests, fix c-maybe colon quoting.
57759         * lib/quotearg.h: Improve documentation.
57760         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
57761         escapes when adding outer quotes.  When quoting trigraphs, use
57762         valid C notation.  When quoting NUL, omit extra characters if next
57763         character is not digit.  Alter prototype.
57764         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
57765         callers.
57766         * modules/quotearg-tests: New module.
57767         * tests/test-quotearg.c: New test.
57768
57769 2008-02-07  Eric Blake  <ebb9@byu.net>
57770
57771         Quotearg part 3: add flag to control outer quote elision.
57772         * lib/quotearg.h (c_maybe_quoting_style): New style.
57773         (enum quoting_flags): Better documentation of flags.
57774         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
57775         c-maybe style.
57776         (quotearg_buffer_restyled): Handle new flag to elide outer
57777         quotes.
57778
57779         Quotearg part 2: add flag that can control NUL elision.
57780         * lib/quotearg.h (set_quoting_flags): New prototype.
57781         * lib/quotearg.c (struct quoting_options): Add flag field.
57782         (set_quoting_flags): New function.
57783         (quotearg_buffer_restyled): Add flags parameter.
57784         (quotearg_alloc_mem): Set the flag if length cannot be returned.
57785         (quotearg_n_options): Set the flag, since length cannot be
57786         returned.
57787         (quoting_options_from_style): Default flags correctly.
57788
57789         Quotearg part 1: more wrappers, restore quotearg_char state.
57790         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
57791         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
57792         (quotearg_colon_mem): New wrappers.
57793         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
57794         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
57795         functions.
57796         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
57797         (quotearg_colon_mem): New functions.
57798
57799 2008-02-11  Bruno Haible  <bruno@clisp.org>
57800
57801         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
57802         library in the current directory: it does not work with parallel make.
57803         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57804
57805 2008-02-11  Bruno Haible  <bruno@clisp.org>
57806
57807         * .gitattributes: New file.
57808
57809 2008-02-11  Jim Meyering  <meyering@redhat.com>
57810
57811         useless-if-before-free: Fix reversed exit values.
57812         * build-aux/useless-if-before-free: Use correct values
57813         for EXIT_MATCH and EXIT_NO_MATCH.
57814
57815         * build-aux/useless-if-before-free: Close stdout carefully.
57816
57817 2008-02-10  Bruno Haible  <bruno@clisp.org>
57818
57819         New module 'git-merge-changelog'.
57820         * modules/git-merge-changelog: New file.
57821         * lib/git-merge-changelog.c: New file.
57822
57823 2008-02-10  Jim Meyering  <meyering@redhat.com>
57824
57825         useless-if-before-free: New option: --list (-l).
57826
57827         useless-if-before-free: Don't exit immediately upon open failure.
57828         * build-aux/useless-if-before-free: Exit 2 for errors.
57829         Upon failure to open a file, don't exit immediately.
57830         Rather, just warn and continue with any remaining files.
57831
57832 2008-02-10  Bruno Haible  <bruno@clisp.org>
57833
57834         New abstract list operation 'node_set_value'.
57835         * lib/gl_list.h (gl_list_node_set_value): New function.
57836         (struct gl_list_implementation): New field node_set_value.
57837         * lib/gl_list.c (gl_list_node_set_value): New function.
57838         * lib/gl_array_list.c (gl_array_node_set_value): New function.
57839         (gl_array_list_implementation): Update.
57840         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
57841         (gl_carray_list_implementation): Update.
57842         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
57843         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57844         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57845         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
57846         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57847         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57848         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57849         Update.
57850         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
57851         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
57852         (gl_sublist_list_implementation): Update.
57853
57854 2008-02-10  Bruno Haible  <bruno@clisp.org>
57855
57856         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
57857         Needed when ELEMENT is #defined to 'some_type *'.
57858
57859 2008-02-10  Jim Meyering  <meyering@redhat.com>
57860
57861         New script and module: useless-if-before-free
57862         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
57863         * build-aux/useless-if-before-free: New file.
57864         * modules/useless-if-before-free: New file.
57865
57866         * build-aux/gitlog-to-changelog: Use committer date, not author date.
57867
57868         xstrtol_error: Fix typo.
57869         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
57870         s/exit_failure/exit_status/.
57871
57872 2008-02-09  Jim Meyering  <meyering@redhat.com>
57873
57874         New script and module: gitlog-to-changelog
57875         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
57876         * modules/gitlog-to-changelog: New file.
57877         * build-aux/gitlog-to-changelog: New file.
57878
57879 2008-02-08  Jim Meyering  <meyering@redhat.com>
57880
57881         Avoid two "parameter unused" warnings.
57882         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
57883         Mark "st" as used.
57884
57885         Use "git COMMAND", not "git-COMMAND".
57886         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
57887         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
57888         * build-aux/git-version-gen: Use "git status", not "git-status".
57889
57890 2008-02-07  Bruno Haible  <bruno@clisp.org>
57891
57892         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
57893         Avoids a crash on Windows Vista.
57894         Reported by Adam Strzelecki <ono@java.pl> via
57895         Simon Josefsson <simon@josefsson.org>.
57896
57897 2008-02-06  Bruno Haible  <bruno@clisp.org>
57898
57899         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
57900         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
57901         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
57902         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
57903         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57904         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57905         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
57906         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
57907         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57908         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57909         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57910         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57911         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57912         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57913         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57914         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
57915         left-adjust flag.
57916         * tests/test-snprintf-posix.h (test_function): Likewise.
57917         * tests/test-sprintf-posix.h (test_function): Likewise.
57918         * tests/test-vasprintf-posix.c (test_function): Likewise.
57919         * doc/posix-functions/fprintf.texi: Update.
57920         * doc/posix-functions/printf.texi: Update.
57921         * doc/posix-functions/snprintf.texi: Update.
57922         * doc/posix-functions/sprintf.texi: Update.
57923         * doc/posix-functions/vfprintf.texi: Update.
57924         * doc/posix-functions/vprintf.texi: Update.
57925         * doc/posix-functions/vsnprintf.texi: Update.
57926         * doc/posix-functions/vsprintf.texi: Update.
57927         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57928
57929 2008-02-06  Bruno Haible  <bruno@clisp.org>
57930
57931         Fix bug introduced on 2008-01-26.
57932         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
57933
57934 2008-02-06  Bruno Haible  <bruno@clisp.org>
57935
57936         Fix bug introduced on 2007-06-10.
57937         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
57938         !NEED_PRINTF_FLAG_ZERO.
57939
57940 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
57941
57942         getloadavg: use libperfstat on AIX5
57943         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
57944
57945 2008-02-03  Bruno Haible  <bruno@clisp.org>
57946
57947         * lib/diffseq.h: Add comments about required #includes.
57948         Reported by Michael Biggs <gnulib@doubleplum.net>.
57949
57950 2008-02-01  Bruno Haible  <bruno@clisp.org>
57951
57952         * users.txt: Add gnuit.
57953
57954 2008-01-31  Bruno Haible  <bruno@clisp.org>
57955
57956         * lib/md4.c (set_uint32): Mark as inline.
57957         * lib/md5.c (set_uint32): Likewise.
57958         * lib/sha1.c (set_uint32): Likewise.
57959         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
57960         * m4/md5.m4 (gl_MD5): Likewise.
57961         * m4/sha1.m4 (gl_SHA1): Likewise.
57962
57963 2008-01-31  Jim Meyering  <meyering@redhat.com>
57964
57965         Use "sizeof VAR", rather than a literal "4".
57966         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
57967         * lib/md4.c (md4_read_ctx): Likewise.
57968         * lib/sha1.c (sha1_read_ctx): Likewise.
57969
57970 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57971
57972         * tests/test-sha1.c: New file, based on test-md5.c.
57973
57974         * modules/crypto/sha1-tests: New file.
57975
57976 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57977
57978         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
57979
57980 2008-01-31  Jim Meyering  <meyering@redhat.com>
57981
57982         Prefer "sizeof v" over the equivalent "4".
57983         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
57984         * lib/md5.c (set_uint32): Likewise.
57985         * lib/sha1.c (set_uint32): Likewise.
57986
57987 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57988
57989         * lib/sha1.c (set_uint32): Mark function as static.
57990
57991 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57992
57993         md2: clarify comments to say that alignment is not required.
57994         * lib/md2.h: Remove warning about alignment in comment.
57995         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
57996         never been required.
57997
57998 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57999
58000         md4: adapt alignment constraint fix from sha1.
58001         * lib/md4.c (set_uint32): New function, from sha1.c
58002         (md4_read_ctx): Use it.
58003         (md4_finish_ctx): Doc fix.
58004         * lib/md4.h: Doc fix.
58005
58006 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58007
58008         md5: adapt alignment constraint fix from sha1.
58009         * lib/md5.c (set_uint32): New function, from sha1.c
58010         (md5_read_ctx): Use it.
58011         (md5_finish_ctx): Doc fix.
58012         * lib/md5.h: Doc fix.
58013
58014 2008-01-30  Peter Palfrader  <weasel@debian.org>
58015
58016         sha1: remove the result buffer alignment constraint
58017         * lib/sha1.c (set_uint32): New function.
58018         (sha1_read_ctx): Rewrite to remove the result buffer alignment
58019         constraint.
58020         (sha1_finish_ctx): Remove comment warning about alignment constraint.
58021         * lib/sha1.h: Likewise.
58022
58023 2008-01-30  Andreas Schwab  <schwab@suse.de>
58024             Bruno Haible  <bruno@clisp.org>
58025
58026         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
58027         correct definition of LDBL_MIN_EXP.
58028
58029 2008-01-30  Karl Berry  <karl@gnu.org>
58030
58031         * config/srclist-update: try to preserve x bit on updates.
58032         * config/srclistvars.sh: update for karl.
58033
58034 2008-01-29  Jim Meyering  <meyering@redhat.com>
58035
58036         vasnprintf.c: Avoid warning about unused label
58037         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
58038         "overflow" label definition and associated code with the
58039         same cpp condition that guards the sole use of that label.
58040
58041 2008-01-26  Bruno Haible  <bruno@clisp.org>
58042
58043         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
58044         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
58045         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
58046         * lib/isnanl-nolibm.h (isnanl): Likewise.
58047         Reported by Paul Eggert <eggert@cs.ucla.edu>.
58048
58049 2008-01-26  Bruno Haible  <bruno@clisp.org>
58050
58051         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
58052         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
58053
58054 2008-01-26  Bruno Haible  <bruno@clisp.org>
58055
58056         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
58057         GCC >= 4.0 built-in.
58058         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
58059
58060 2008-01-26  Bruno Haible  <bruno@clisp.org>
58061
58062         Rename isnan, applicable to 'double' only, to isnand.
58063         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
58064         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
58065         (configure.ac): Update.
58066         (Include): Replace "isnan.h" with "isnand.h".
58067         * m4/isnand.m4: Renamed from m4/isnan.m4.
58068         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
58069         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
58070         instead of isnan.c.
58071         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
58072         instead of HAVE_ISNAN_IN_LIBC.
58073         (isnand): Renamed from isnan.
58074         * lib/isnand.c: New file.
58075         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
58076         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
58077         (Makefile.am): Update.
58078         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
58079         Include isnand.h instead of isnan.h.
58080         (main): Test isnand instead of isnan.
58081         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
58082         isnan-nolibm.
58083         * modules/frexp (Depends-on): Likewise.
58084         * modules/frexp-tests (Depends-on): Likewise.
58085         * modules/frexp-nolibm (Depends-on): Likewise.
58086         * modules/frexp-nolibm-tests (Depends-on): Likewise.
58087         * modules/isfinite (Depends-on): Likewise.
58088         * modules/round-tests (Depends-on): Likewise.
58089         * modules/signbit (Depends-on): Likewise.
58090         * modules/signbit-tests (Depends-on): Likewise.
58091         * modules/snprintf-posix (Depends-on): Likewise.
58092         * modules/sprintf-posix (Depends-on): Likewise.
58093         * modules/trunc-tests (Depends-on): Likewise.
58094         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58095         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58096         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58097         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58098         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58099         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58100         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58101         * modules/vasnprintf-posix (Depends-on): Likewise.
58102         * modules/vasprintf-posix (Depends-on): Likewise.
58103         * modules/vfprintf-posix (Depends-on): Likewise.
58104         * modules/vsnprintf-posix (Depends-on): Likewise.
58105         * modules/vsprintf-posix (Depends-on): Likewise.
58106         * lib/frexp.c: Include isnand.h instead of isnan.h.
58107         (ISNAN): Set to isnand instead of isnan.
58108         * lib/isfinite.c: Include isnand.h instead of isnan.h.
58109         (gl_isfinited): Use isnand instead of isnan.
58110         * lib/signbitd.c: Include isnand.h instead of isnan.h.
58111         (gl_signbitd): Use isnand instead of isnan.
58112         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
58113         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
58114         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
58115         (main): Use isnand instead of isnan.
58116         * tests/test-round1.c: Include isnand.h.
58117         (main): Use isnand instead of isnan.
58118         * tests/test-round2.c: Include isnand.h instead of isnan.h.
58119         (ISNAN): Set to isnand instead of isnan.
58120         * tests/test-trunc1.c: Include isnand.h.
58121         (main): Use isnand instead of isnan.
58122         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
58123         (equal): Use isnand instead of isnan.
58124         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
58125         isnand-nolibm.
58126         * NEWS: Mention the change.
58127
58128 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
58129             Bruno Haible  <bruno@clisp.org>
58130
58131         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
58132         the GCC builtins for signbits are present and set
58133         REPLACE_SIGNBIT_USING_GCC if so.
58134         * lib/math.in.h (signbit): Define using GCC builtins if
58135         REPLACE_SIGNBIT_USING_GCC is set.
58136         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
58137         REPLACE_SIGNBIT_USING_GCC.
58138         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
58139
58140 2008-01-25  Jim Meyering  <meyering@redhat.com>
58141
58142         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
58143         * lib/poll.c: Include <config.h>, not "config.h".
58144         * tests/test-getaddrinfo.c: Likewise.
58145
58146 2008-01-25  Simon Josefsson  <simon@josefsson.org>
58147
58148         * modules/sockets-tests: New file.
58149
58150 2008-01-24  Simon Josefsson  <simon@josefsson.org>
58151
58152         * modules/sockets: New module, can be used to call WSA_Startup and
58153         WSA_Cleanup when needed.
58154
58155         * lib/sockets.h, lib/sockets.c: New files.
58156
58157         * m4/sockets.m4: New file.
58158
58159         * tests/test-sockets.c: New file.
58160
58161 2008-01-19  Bruno Haible  <bruno@clisp.org>
58162
58163         * doc/posix-headers: Renamed from doc/headers.
58164         * doc/posix-functions: Renamed from doc/functions.
58165         * doc/gnulib.texi: Update.
58166
58167 2008-01-19  Bruno Haible  <bruno@clisp.org>
58168
58169         * doc/glibc-functions/strcasestr.texi: Include contents of
58170         doc/functions/strcasestr.texi, fixing the list of platforms.
58171         * doc/functions/strcasestr.texi: Remove file.
58172
58173 2008-01-19  Bruno Haible  <bruno@clisp.org>
58174
58175         * doc/glibc-functions/memmem.texi: Include contents of
58176         doc/functions/memmem.texi.
58177         * doc/functions/memmem.texi: Remove file.
58178
58179 2008-01-18  Bruno Haible  <bruno@clisp.org>
58180
58181         * doc/glibc-functions/*.texi: New files.
58182         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
58183         to use the new files.
58184
58185 2008-01-17  Bruno Haible  <bruno@clisp.org>
58186
58187         * tests/test-gethostname.c (main): Fix printf statement.
58188
58189 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58190
58191         * modules/gethostname-tests: New file.
58192
58193         * tests/test-gethostname.c: New file.
58194
58195 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58196
58197         * lib/gethostname.c: Include string.h unconditionally, strncpy is
58198         used by the UNAME case.  Reported by Bruno Haible
58199         <bruno@clisp.org>.
58200
58201 2008-01-17  Eric Blake  <ebb9@byu.net>
58202
58203         Convert c-strcasestr to be more efficient.
58204         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
58205         (Depends-on): Add c-strcase, remove malloca, strnlen.
58206         * tests/test-c-strcasestr.c (main): Enhance test.
58207         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
58208
58209 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
58210
58211         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
58212         Use it in creating po/Makevars.
58213
58214 2008-01-15  Simon Josefsson  <simon@josefsson.org>
58215
58216         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
58217         Applications that requires it should initialize libgcrypt
58218         manually.
58219
58220 2008-01-16  Simon Josefsson  <simon@josefsson.org>
58221
58222         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
58223
58224 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
58225
58226         Fix problem with getdate on mingw32 reported by Simon Josefsson
58227         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
58228         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
58229         tzname", when deciding whether to declare tzname.
58230         * lib/strftime.c (tzname): Likewise.
58231
58232 2008-01-15  Bruno Haible  <bruno@clisp.org>
58233
58234         Work around a MacOS X 10.5 bug in frexpl().
58235         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
58236         * doc/functions/frexpl.texi: Document the bug.
58237         Reported by Elias Pipping <pipping@gentoo.org>.
58238
58239 2008-01-14  Eric Blake  <ebb9@byu.net>
58240
58241         Touch up previous patch.
58242         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
58243         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
58244
58245         Convert strcasestr module to use Two-Way algorithm.
58246         * modules/strcasestr-simple: New module, based on the old
58247         strcasestr, but with Two-Way rather than KMP.
58248         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
58249         * lib/string.in.h (rpl_strcasestr): Declare.
58250         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
58251         performance.
58252         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
58253         * modules/string (Makefile.am): Support strcasestr.
58254         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
58255         * modules/strcasestr-tests (Depends-on): Check for alarm.
58256         * tests/test-strcasestr.c: Augment test.
58257         * lib/str-two-way.h: Clean up stray macro.
58258         * NEWS: Document new module.
58259         * MODULES.html.sh (string handling): Likewise.
58260         * doc/functions/strcasestr.texi: New file.
58261         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
58262         here, since it is not a POSIX function.
58263
58264 2008-01-14  Colin Watson  <cjwatson@debian.org>
58265             Bruno Haible  <bruno@clisp.org>
58266
58267         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
58268         works fine; if not, set REPLACE_STRSIGNAL.
58269         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
58270         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58271         REPLACE_STRSIGNAL.
58272         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
58273         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
58274         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
58275
58276 2008-01-14  Bruno Haible  <bruno@clisp.org>
58277
58278         * modules/strsignal (Include): Change to <string.h>.
58279
58280 2008-01-14  Colin Watson  <cjwatson@debian.org>
58281
58282         * modules/argp (Notice): Add a notice recommending to change
58283         XGETTEXT_OPTIONS.
58284         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
58285
58286 2008-01-13  Colin Watson  <cjwatson@debian.org>
58287
58288         * modules/strsignal-tests: New file.
58289         * tests/test-strsignal.c: New file.
58290
58291         * lib/strsignal.c: New file, from glibc with modifications.
58292         * lib/siglist.h: New file, from glibc with modifications.
58293         * lib/string.in.h (strsignal): New declaration.
58294         * m4/strsignal.m4: New file.
58295         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58296         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
58297         * modules/strsignal: New file.
58298         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
58299         HAVE_DECL_STRSIGNAL.
58300
58301 2008-01-13  Bruno Haible  <bruno@clisp.org>
58302
58303         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
58304         locale encoding is not ASCII. Needed for OpenBSD 4.0.
58305         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58306         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58307
58308 2008-01-13  Bruno Haible  <bruno@clisp.org>
58309
58310         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
58311         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
58312         * lib/argp.h (__attribute__): Likewise.
58313         * lib/c-stack.c (__attribute__): Likewise.
58314         * lib/error.h (__attribute__): Likewise.
58315         * lib/fts.c (__attribute__): Likewise.
58316         * lib/openat.h (__attribute__): Likewise.
58317         * lib/stdio.in.h (__attribute__): Likewise.
58318         * lib/string.in.h (__attribute__): Likewise.
58319         * lib/utimens.c (__attribute__): Likewise.
58320         * lib/vasnprintf.h (__attribute__): Likewise.
58321         * lib/xalloc.h (__attribute__): Likewise.
58322         * lib/xprintf.h (__attribute__): Likewise.
58323         * lib/xstrtol.h (__attribute__): Likewise.
58324         * lib/xvasprintf.h (__attribute__): Likewise.
58325
58326 2008-01-12  Bruno Haible  <bruno@clisp.org>
58327
58328         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
58329         * doc/glibc-headers/a.out.texi: New file.
58330         * doc/glibc-headers/aliases.texi: New file.
58331         * doc/glibc-headers/alloca.texi: New file.
58332         * doc/glibc-headers/ar.texi: New file.
58333         * doc/glibc-headers/argp.texi: New file.
58334         * doc/glibc-headers/argz.texi: New file.
58335         * doc/glibc-headers/byteswap.texi: New file.
58336         * doc/glibc-headers/crypt.texi: New file.
58337         * doc/glibc-headers/endian.texi: New file.
58338         * doc/glibc-headers/envz.texi: New file.
58339         * doc/glibc-headers/err.texi: New file.
58340         * doc/glibc-headers/error.texi: New file.
58341         * doc/glibc-headers/execinfo.texi: New file.
58342         * doc/glibc-headers/fpu_control.texi: New file.
58343         * doc/glibc-headers/fstab.texi: New file.
58344         * doc/glibc-headers/fts.texi: New file.
58345         * doc/glibc-headers/getopt.texi: New file.
58346         * doc/glibc-headers/ieee754.texi: New file.
58347         * doc/glibc-headers/ifaddrs.texi: New file.
58348         * doc/glibc-headers/libintl.texi: New file.
58349         * doc/glibc-headers/mcheck.texi: New file.
58350         * doc/glibc-headers/mntent.texi: New file.
58351         * doc/glibc-headers/obstack.texi: New file.
58352         * doc/glibc-headers/paths.texi: New file.
58353         * doc/glibc-headers/printf.texi: New file.
58354         * doc/glibc-headers/pty.texi: New file.
58355         * doc/glibc-headers/resolv.texi: New file.
58356         * doc/glibc-headers/shadow.texi: New file.
58357         * doc/glibc-headers/sysexits.texi: New file.
58358         * doc/glibc-headers/ttyent.texi: New file.
58359
58360 2008-01-12  Jim Meyering  <meyering@redhat.com>
58361
58362         announce-gen: emit Gnulib's git-based version string.
58363         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
58364         New option --gnulib-version=V, where V is expected to be
58365         the output of running git describe in the gnulib directory.
58366         (get_tool_versions): Request feedback on xdelta.  I suspect it's
58367         not useful, and plan to stop publishing an xdelta file with each
58368         coreutils release.
58369
58370         * build-aux/announce-gen: Also check for lzma-compressed files.
58371
58372 2008-01-11  Bruno Haible  <bruno@clisp.org>
58373
58374         * tests/test-memmem.c (main): Increase maximum allowed time.
58375         * tests/test-strstr.c (main): Likewise.
58376
58377 2008-01-11  Bruno Haible  <bruno@clisp.org>
58378
58379         * doc/functions/memmem.texi: Add more precisions about platforms.
58380         * doc/functions/strstr.texi: Likewise.
58381
58382 2008-01-10  Eric Blake  <ebb9@byu.net>
58383
58384         * m4/strstr.m4: Delete cruft from copy-n-paste.
58385         Reported by Bruno Haible.
58386
58387 2008-01-10  Bruno Haible  <bruno@clisp.org>
58388
58389         Make c-strstr rely on strstr.
58390         * lib/c-strstr.c: Don't include str-kmp.h.
58391         (c_strstr): Define in terms of strstr.
58392         * modules/c-strstr (Files): Remove lib/str-kmp.h.
58393         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
58394
58395 2008-01-10  Bruno Haible  <bruno@clisp.org>
58396
58397         * doc/gnulib.texi (String Functions in C Locale): New section.
58398         * doc/c-ctype.texi: New file.
58399         * doc/c-strcase.texi: New file.
58400         * doc/c-strcaseeq.texi: New file.
58401         * doc/c-strcasestr.texi: New file.
58402         * doc/c-strstr.texi: New file.
58403         * doc/c-strtod.texi: New file.
58404         * doc/c-strtold.texi: New file.
58405
58406 2008-01-10  Eric Blake  <ebb9@byu.net>
58407
58408         * lib/relocatable.h: Fix a comment.
58409
58410 2008-01-10  Eric Blake  <ebb9@byu.net>
58411
58412         Share two-way algorithm.
58413         * lib/str-two-way.h: New file, merged from...
58414         * lib/memmem.c: ...here...
58415         * lib/strstr.c: ...and here.
58416         * modules/memmem (Files): Use it.
58417         * modules/strstr (Files): Likewise.
58418
58419         Avoid quadratic strstr implementations.
58420         * lib/strstr.c: New file.
58421         * m4/strstr.m4: Likewise.
58422         * modules/strstr: Likewise.
58423         * modules/strstr-tests: Likewise.
58424         * tests/test-strstr.c: Likewise.
58425         * lib/string.in.h (rpl_strstr): Declare.
58426         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
58427         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
58428         * modules/string (Makefile.am): Likewise.
58429         * MODULES.html.sh (string handling): Mention new module.
58430         * doc/functions/strstr.texi (strstr): Document the bug.
58431
58432 2008-01-10  Bruno Haible  <bruno@clisp.org>
58433
58434         * lib/relocatable.h (relocate): State whether result is freshly
58435         allocated or not.
58436         * lib/relocatable.c (relocate): Return a freshly allocated string
58437         instead of a pointer to a privately held string.
58438         Reported by Sylvain Beucler <beuc@gnu.org>.
58439
58440 2008-01-10  Colin Watson  <cjwatson@debian.org>
58441
58442         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
58443         s/S_ISNLK/S_ISLNK/.
58444
58445 2008-01-09  Bruno Haible  <bruno@clisp.org>
58446
58447         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
58448         and other files.
58449         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
58450         if it's only a guess.
58451         * modules/memmem: Simplify by depending on memmem-simple.
58452
58453 2008-01-09  Bruno Haible  <bruno@clisp.org>
58454
58455         Work around OpenBSD 4.0 tdelete() bug.
58456         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
58457         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
58458         macros and don't redefine the enum values.
58459         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
58460         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
58461         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
58462
58463 2008-01-09  Bruno Haible  <bruno@clisp.org>
58464
58465         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
58466         (main): Don't perform the tests if setlocale did not install a UTF-8
58467         locale. Needed on OpenBSD 4.0.
58468         * modules/wcwidth-tests (Depends-on): Add localcharset.
58469
58470 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58471
58472         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
58473         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
58474         * NEWS: announce this.
58475         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
58476
58477 2008-01-09  Simon Josefsson  <simon@josefsson.org>
58478         and Eric Blake  <ebb9@byu.net>
58479
58480         Add memmem-simple module.
58481         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
58482         (gl_FUNC_MEMMEM): Separate performance from presence checks.
58483         * modules/memmem-simple: New file.
58484         * modules/memmem (Description): Tweak.
58485         * MODULES.html.sh (string handling): Mention new module.
58486         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
58487         addressed by memmem-simple.
58488         * NEWS: Document the difference.
58489
58490 2008-01-09  Eric Blake  <ebb9@byu.net>
58491
58492         Give gcc some memmem optimization hints.
58493         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
58494         (strcasestr): Declare as pure.
58495         * modules/memmem (Maintainer): Claim my implementation.
58496
58497 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58498
58499         Support AIX 6.1 and higher.
58500         * build-aux/config.libpath: Likewise.
58501         * build-aux/config.rpath: Likewise.
58502
58503 2008-01-08  Jim Meyering  <meyering@redhat.com>
58504             Bruno Haible  <bruno@clisp.org>
58505
58506         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
58507         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
58508         Reported by Peter Fales in
58509         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
58510
58511 2008-01-08  Bruno Haible  <bruno@clisp.org>
58512
58513         * modules/unictype/category-of (Depends-on): Add
58514         unictype/category-none.
58515         * modules/unictype/category-and-tests (Depends-on): Add
58516         unictype/category-{L,N,Lu,Nd}.
58517         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
58518         * modules/unictype/category-or-tests (Depends-on): Add
58519         unictype/category-{L,N}.
58520         * modules/unictype/category-name-tests (Depends-on): Add
58521         unictype/category-{Z,Nl}.
58522         Reported by Simon Josefsson.
58523
58524 2008-01-08  Bruno Haible  <bruno@clisp.org>
58525
58526         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
58527         convention better.
58528         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
58529         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
58530         Reported by Peter Miller <millerp@canb.auug.org.au>.
58531
58532 2008-01-08  Eric Blake  <ebb9@byu.net>
58533
58534         Rewrite memmem to guarantee linear complexity without malloc.
58535         * lib/memmem.c (memmem): Use Two-Way rather than
58536         Knuth-Morris-Pratt, to allow O(1) space usage.
58537         (critical_factorization, two_way_short_needle)
58538         (two_way_long_needle): New functions.
58539         (knuth_morris_pratt): Delete.
58540         * modules/memmem (Depends-on): No longer need malloca or stdbool.
58541         Add stdint.
58542         * tests/test-memmem.c (main): Add tests for periodic needle and
58543         sublinear performance.
58544         * doc/functions/memmem.texi (memmem): Document other deficiencies
58545         in cygwin and older glibc.
58546
58547 2008-01-08  Bruno Haible  <bruno@clisp.org>
58548
58549         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
58550         augmentation.
58551
58552 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
58553
58554         Add a configure time option: --disable-acl.
58555         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
58556         AC_ARG_ENABLE(acl).
58557
58558 2008-01-06  Simon Josefsson  <simon@josefsson.org>
58559
58560         * tests/test-localename.c: Don't include obsolete "setenv.h".
58561
58562         * modules/localename-tests (Depends-on): Need unsetenv.
58563
58564 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58565
58566         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
58567
58568 2008-01-06  Colin Watson  <cjwatson@debian.org>
58569
58570         * users.txt: Add man-db.
58571
58572 2008-01-07  Bruno Haible  <bruno@clisp.org>
58573
58574         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
58575         previous section name.
58576
58577 2008-01-07  Bruno Haible  <bruno@clisp.org>
58578
58579         * lib/progname.c (set_program_name): Don't strip off a leading
58580         "lt-" prefix outside a .libs directory.
58581         Suggested by Paul Eggert.
58582
58583 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
58584             Bruno Haible  <bruno@clisp.org>
58585
58586         Improve memory cleanup in 'relocatable' module.
58587         * lib/relocatable.h (compute_curr_prefix): Change return type to
58588         'char *'.
58589         * lib/relocatable.c (compute_curr_prefix): Change return type to
58590         'char *'. Free curr_installdir after use.
58591         (relocate): Free curr_prefix_better after use.
58592         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
58593
58594 2008-01-01  Bruno Haible  <bruno@clisp.org>
58595
58596         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
58597         failure on older glibc systems.
58598         Reported by Peter Fales <psfales@alcatel-lucent.com>.
58599
58600 2008-01-05  Eric Blake  <ebb9@byu.net>
58601
58602         Avoid quadratic system memmem.
58603         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
58604         Reported by Ralf Wildenhues.
58605
58606         Fix memmem test for mingw.
58607         * modules/memmem-tests (configure.ac): Check for alarm.
58608         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
58609         it.
58610         * doc/functions/memmem.texi: New file.
58611         * doc/gnulib.texi (Function Substitutes): Add memmem.
58612         Reported by Bruno Haible.
58613
58614 2008-01-04  Bruno Haible  <bruno@clisp.org>
58615
58616         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
58617         Require gl_HEADER_STRINGS_H_DEFAULTS, not
58618         gl_HEADER_STRING_H_DEFAULTS.
58619
58620 2008-01-04  Eric Blake  <ebb9@byu.net>
58621
58622         Shorten duration of memmem test.
58623         * tests/test-memmem.c (main): Use alarm to declare failure if test
58624         is taking too long.
58625         Reported by Ralf Wildenhues.
58626
58627 2007-12-21  Simon Josefsson  <simon@josefsson.org>
58628
58629         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
58630         string, needed by strerror.
58631
58632 2008-01-03  Colin Watson  <cjwatson@debian.org>
58633             Bruno Haible  <bruno@clisp.org>
58634
58635         * doc/gnulib-tool.texi (Localization): New section.
58636
58637 2008-01-02  Bruno Haible  <bruno@clisp.org>
58638
58639         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
58640         variables to 'unsigned char *' type.
58641         Reported by Paul Eggert.
58642
58643 2008-01-02  Jim Meyering  <jim@meyering.net>
58644
58645         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
58646
58647 2007-12-31  Jim Meyering  <jim@meyering.net>
58648
58649         Avoid use of private FTS type name.
58650         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
58651
58652 2007-12-30  Karl Berry  <karl@gnu.org>
58653
58654         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
58655         work around defect in Texinfo and/or the standalone Info browser.
58656
58657 2007-12-30  Bruno Haible  <bruno@clisp.org>
58658
58659         Unify 5 copies of the KMP code.
58660         * lib/str-kmp.h: New file.
58661         * lib/c-strcasestr.c: Include str-kmp.h.
58662         (knuth_morris_pratt): Remove function.
58663         (c_strcasestr): Update.
58664         * lib/c-strstr.c: Include str-kmp.h.
58665         (knuth_morris_pratt): Remove function.
58666         (c_strcasestr): Update.
58667         * lib/mbscasestr.c: Include str-kmp.h.
58668         (knuth_morris_pratt_unibyte): Remove function.
58669         * lib/mbsstr.c: Include str-kmp.h.
58670         (knuth_morris_pratt_unibyte): Remove function.
58671         * lib/strcasestr.c: Include str-kmp.h.
58672         (knuth_morris_pratt): Remove function.
58673         (strcasestr): Update.
58674         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
58675         * modules/c-strstr (Files): Likewise.
58676         * modules/mbscasestr (Files): Likewise.
58677         * modules/mbsstr (Files): Likewise.
58678         * modules/strcasestr (Files): Likewise.
58679         Suggested by Paul Eggert.
58680
58681 2007-12-30  Bruno Haible  <bruno@clisp.org>
58682
58683         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
58684         defined.
58685
58686 2007-12-30  Bruno Haible  <bruno@clisp.org>
58687
58688         * lib/xmalloca.h: Include xalloc.h.
58689         (xnmalloca): New macro.
58690
58691 2007-12-30  Bruno Haible  <bruno@clisp.org>
58692
58693         * lib/malloca.h (nmalloca): New macro.
58694         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
58695         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
58696         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
58697         knuth_morris_pratt_multibyte): Likewise.
58698         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
58699         knuth_morris_pratt_multibyte): Likewise.
58700         * lib/memmem.c (knuth_morris_pratt): Likewise.
58701         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
58702
58703 2007-12-25  Bruno Haible  <bruno@clisp.org>
58704
58705         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
58706         * lib/glob.c: Don't include openat.h.
58707         (link_exists2_p): Add back the code that deals with the
58708         !GLOB_ALTDIRFUNC case.
58709         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
58710         let it do the filename concatenation.
58711         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
58712         * modules/glob (Depends-on): Remove openat.
58713
58714 2007-12-31  Bruno Haible  <bruno@clisp.org>
58715
58716         * modules/dirfd (License): Change to LGPLv2+.
58717         Approved by Jim Meyering.
58718
58719 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
58720
58721         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
58722         when multiplying M by sizeof (size_t).
58723
58724 2007-12-10  Martin Lambers  <marlam@marlam.de>
58725
58726         Override getpagesize on mingw.
58727         * lib/getpagesize.c: New file.
58728         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
58729         * modules/getpagesize (Files): Add lib/getpagesize.c.
58730         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
58731         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
58732         REPLACE_GETPAGESIZE.
58733         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
58734
58735 2007-12-25  Bruno Haible  <bruno@clisp.org>
58736
58737         * modules/localcharset (Notice): New field.
58738         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
58739         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
58740
58741 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
58742             Bruno Haible  <bruno@clisp.org>
58743
58744         Avoid using the syntax symbol() in formatted documentation.
58745         * MODULES.html.sh (func_module): When replacing symbol() with a
58746         hyperlink, remove the parentheses. Show an error if some remain.
58747         Recognize and render the '...' syntax.
58748         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
58749         Rework. Add paragraph about GCC's inlining.
58750         * doc/alloca.texi: Likewise.
58751         * doc/error.texi: Remove parentheses from symbol reference.
58752         * doc/gnulib-intro.texi: Likewise.
58753         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
58754         * modules/fnmatch (Description): Reword to say "the ... function".
58755         * modules/full-read (Description): Likewise.
58756         * modules/full-write (Description): Likewise.
58757         * modules/safe-read (Description): Likewise.
58758         * modules/safe-write (Description): Likewise.
58759         * modules/strchrnul (Description): Likewise.
58760         * modules/trim (Description): Likewise.
58761         * modules/error (Description): Remove parentheses from symbol
58762         references.
58763         * modules/verror (Description): Likewise.
58764         Reported by Karl Berry.
58765
58766 2007-12-25  Bruno Haible  <bruno@clisp.org>
58767
58768         Fixup after 2007-10-16 commit.
58769         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
58770
58771 2007-12-24  Bruno Haible  <bruno@clisp.org>
58772
58773         Make --enable-relocatable work with DESTDIR.
58774         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
58775         to compute installdir from destprog.
58776         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
58777         also set the RELOC_DESTDIR variable.
58778         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58779
58780 2007-12-24  Bruno Haible  <bruno@clisp.org>
58781
58782         Fix link error due to xalloc_die().
58783         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
58784         of xreadlink.
58785         * lib/relocwrapper.c: Update comments.
58786         * build-aux/install-reloc: Remove xreadlink.c from file list.
58787         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
58788         xreadlink.c.
58789         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58790
58791 2007-12-24  Bruno Haible  <bruno@clisp.org>
58792
58793         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
58794         * lib/setenv.h: Remove file.
58795         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
58796         lib/setenv.h.
58797         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
58798         (Depends-on): Add stdlib.
58799         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
58800         gl_FUNC_UNSETENV.
58801         (Include): Replace setenv.h with <stdlib.h>.
58802         * modules/unsetenv: New file.
58803         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
58804         * lib/unsetenv.c: Include <stdlib.h> first.
58805         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
58806         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
58807         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
58808         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
58809         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
58810         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58811         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
58812         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58813         * doc/functions/unsetenv.texi: Update.
58814         * modules/xsetenv (Depends-on): Add unsetenv.
58815         * modules/getdate (Depends-on): Likewise.
58816         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
58817         * lib/xsetenv.c: Don't include setenv.h.
58818         * lib/getdate.y: Likewise.
58819         * lib/relocwrapper.c: Likewise.
58820         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
58821         (Depends-on): Add stdlib.
58822         * NEWS: Mention the changes.
58823         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58824
58825 2007-12-23  Bruno Haible  <bruno@clisp.org>
58826
58827         * lib/memmem.c (memmem): Use lowercase variable names. Tab
58828         indentation.
58829
58830 2007-12-23  Bruno Haible  <bruno@clisp.org>
58831
58832         * lib/c-strcasestr.c: Add more comments.
58833         * lib/c-strstr.c: Likewise.
58834         * lib/mbscasestr.c: Likewise.
58835         * lib/mbsstr.c: Likewise.
58836         * lib/strcasestr.c: Likewise.
58837         * lib/memmem.c: Likewise.
58838
58839 2007-12-23  Bruno Haible  <bruno@clisp.org>
58840
58841         * tests/test-memmem.c: Include <string.h> first.
58842
58843 2007-12-22  Bruno Haible  <bruno@clisp.org>
58844
58845         * gnulib-tool (func_create_testdir): Change $auxdir while generating
58846         the contents of $testsbase.
58847         Reported by Ralf Wildenhues.
58848
58849 2007-12-22  Bruno Haible  <bruno@clisp.org>
58850
58851         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
58852         two variables local_ldadd_before, local_ldadd_last.
58853
58854 2007-12-20  Eric Blake  <ebb9@byu.net>
58855
58856         Work around circular library issue when cross-compiling.
58857         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
58858         that progname.o does not need to pull in rpl_memcmp.
58859
58860 2007-12-19  Eric Blake  <ebb9@byu.net>
58861
58862         Fix memmem to avoid O(n^2) worst-case complexity.
58863         * lib/memmem.c (knuth_morris_pratt): New function.
58864         (memmem): Use it if first few naive iterations fail.
58865         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
58866         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
58867         * modules/memchr (License): Likewise.
58868         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
58869         malloca.
58870         * tests/test-memmem.c: Rewrite, borrowing ideas from
58871         test-mbsstr1.c; the old version wouldn't even compile!
58872         * modules/memmem-tests: New file.
58873         * lib/string.in.h (rpl_memmem): Add declaration.
58874         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
58875         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
58876         REPLACE_MEMMEM.
58877
58878 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58879
58880         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
58881         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
58882         before any system include files, and undef after them all.  This
58883         should fix a problem on VMS reported by John E. Malmberg in
58884         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
58885
58886 2007-12-17  Eric Blake  <ebb9@byu.net>
58887
58888         Revert addition of verify, for BSD/OS.
58889         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
58890         can't handle large files, for the sake of obsolete platforms.
58891         * modules/fseeko (Depends-on): Remove verify.
58892         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
58893         * doc/functions/ftello.texi (ftello): Likewise.
58894         * doc/functions/fgetpos.texi (fgetpos): Likewise.
58895         Reported by Larry Jones.
58896
58897 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
58898
58899         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
58900         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
58901
58902 2007-12-17  Jim Meyering  <meyering@redhat.com>
58903
58904         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
58905         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
58906         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
58907         * modules/getcwd (Depends-on): Add openat.
58908         Reported by Petr Salinger.
58909
58910 2007-12-17  Bruno Haible  <bruno@clisp.org>
58911
58912         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
58913         avoid a segmentation fault of the configure test on x86_64 systems.
58914
58915 2007-12-15  Jim Meyering  <meyering@redhat.com>
58916
58917         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
58918
58919 2007-12-13  Eric Blake  <ebb9@byu.net>
58920
58921         Another fseek test.
58922         * tests/test-fseek.c (main): Also test ungetc handling.
58923         * tests/test-fseeko.c (main): Likewise.
58924         * modules/fseeko (Depends-on): Add verify.
58925         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
58926         large.
58927         Reported by Larry Jones.
58928
58929         Fix fseeko on mingw.
58930         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
58931         seek.
58932
58933         Beef up fseek tests.
58934         * tests/test-fseek.c (main): Also test eof handling.
58935         * tests/test-fseeko.c (main): Likewise.
58936         Reported by Larry Jones.
58937
58938 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
58939
58940         Fix fseeko on BSD-based platforms.
58941         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
58942         successful seek.
58943
58944 2007-12-12  Eric Blake  <ebb9@byu.net>
58945
58946         Allow circular dependency of separate libtests.a
58947         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
58948         when use_libtests.
58949
58950 2007-12-11  Eric Blake  <ebb9@byu.net>
58951
58952         Fix bug with -0.0L in previous patch.
58953         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
58954         * tests/test-isnan.c (main): Also test on zeroes.
58955         * tests/test-isnanf.c (main): Likewise.
58956         * tests/test-isnanl.h (main): Likewise.
58957
58958         Detect pseudo-denormals on x86 even when cross-compiling.
58959         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
58960         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
58961         invalid bit patterns that happen to satisfy ==.
58962
58963         Avoid link failures with separate libtests.a.
58964         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
58965         last, to satisfy circular dependencies.
58966
58967 2007-12-11  Eric Blake  <ebb9@byu.net>
58968         and Bruno Haible  <bruno@clisp.org>
58969
58970         Fix OpenBSD 4.0 <float.h> handling of long double.
58971         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
58972         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
58973         * doc/headers/float.texi (float.h): Document OpenBSD bug.
58974
58975 2007-12-11  Jim Meyering  <meyering@redhat.com>
58976
58977         * users.txt: Add libvirt.
58978
58979         Support versions of autoconf prior to 2.59c.
58980         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
58981         if it is not already defined.
58982
58983 2007-12-09  Bruno Haible  <bruno@clisp.org>
58984
58985         Let 'gnulib-tool --import' collect sources needed for the tests in
58986         tests/ rather than in lib/.
58987         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
58988         argument. If true, add rules to generate libtests.a, and put libtests.a
58989         into $(LDADD). Consider source files in subdirectories and set
58990         uses_subdirs.
58991         (func_emit_initmacro_start, func_emit_initmacro_end,
58992         func_emit_initmacro_done): Pass all arguments explicitly.
58993         (func_import): Determine two module lists main_modules,
58994         testsrelated_modules. Determine use_libtests. Determine two variables
58995         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
58996         instead of just sed_transform_lib_file. Determine two variables
58997         main_files and testsrelated_files. Compute 'files' as the union of
58998         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
58999         func_add_or_update. In the generated gnulib-comp.m4, collect the
59000         object files for tests/ in different variables than those for lib/.
59001         Substitute LIBTESTS_LIBDEPS.
59002         (func_create_testdir): Combine the uses_subdirs results from
59003         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
59004
59005 2007-12-09  Bruno Haible  <bruno@clisp.org>
59006
59007         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
59008         the build-aux directory.
59009
59010 2007-12-09  Bruno Haible  <bruno@clisp.org>
59011
59012         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
59013         introduced on 2006-09-09.
59014
59015 2007-12-07  Jim Meyering  <meyering@redhat.com>
59016
59017         Let these macros work also with autoconf-2.59.
59018         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
59019         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
59020         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59021
59022 2007-12-06  Jim Meyering  <meyering@redhat.com>
59023
59024         Avoid a configure-time syntax error in gl_FUNC_ACL.
59025         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
59026         function in each branch, before testing the cache variable.
59027
59028 2007-12-04  Eric Blake  <ebb9@byu.net>
59029
59030         Make scripts executable.
59031         * build-aux/config.guess: Add execute permissions.
59032         * build-aux/config.sub: Likewise.
59033         * build-aux/gendocs.sh: Likewise.
59034
59035         Fix frexp on mingw.
59036         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
59037         cross-compiling.
59038         * doc/functions/frexp.texi (frexp): Document the bug.
59039
59040         Make cygwin fseeko check more reliable.
59041         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
59042         version numbers, rather than unrelated feature check.
59043         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
59044         * doc/functions/ftello.texi (ftello): Likewise.
59045         Reported by Bruno Haible.
59046
59047         * m4/strerror.m4: Bump version number.
59048
59049 2007-12-03  Bruno Haible  <bruno@clisp.org>
59050
59051         * doc/functions/mprotect.texi: Mention the mingw problem.
59052
59053 2007-12-03  Eric Blake  <ebb9@byu.net>
59054
59055         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
59056         REPLACE_STRERROR is initialized before this macro.
59057
59058 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
59059
59060         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
59061         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
59062         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
59063         put -lsec in even for programs other than 'ls'.  This fixes a problem
59064         for gettext reported by Bruno Haible in
59065         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
59066         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
59067         Add support for Solaris 10.  This isn't efficient, but should get the
59068         job done for now.
59069
59070 2007-12-03  James Youngman  <jay@gnu.org>
59071
59072         * doc/regexprops-generic.texi: change "an close-group" to "a
59073         close-group" and "illegal" to "not allowed".
59074
59075 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59076
59077         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
59078         pr_byname.h. Needed for the rare case when the maintainer has done
59079         "make maintainer-clean" in the source directory and then attempts a
59080         build outside the source directory.
59081         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
59082         scripts_byname.h.
59083
59084 2007-12-02  Martin Lambers <marlam@marlam.de>
59085             Bruno Haible  <bruno@clisp.org>
59086
59087         * lib/getpagesize.h: Remove file.
59088         * lib/unistd.in.h: Include declaration of getpagesize here.
59089         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
59090         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
59091         HAVE_SYS_PARAM_H.
59092         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
59093         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59094         * modules/getpagesize (Files): Remove lib/getpagesize.h.
59095         (Depends-on): Add unistd.
59096         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59097         (Include): Use <unistd.h> instead of getpagesize.h.
59098         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
59099         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59100         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
59101         gl_GETPAGESIZE invocation, already handled by module dependency.
59102         * lib/pagealign_alloc.c: Don't include getpagesize.h.
59103
59104 2007-12-02  Bruno Haible  <bruno@clisp.org>
59105
59106         * modules/strings-tests: New file.
59107         * tests/test-strings.c: New file.
59108
59109         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
59110         * lib/strings.in.h: New file.
59111         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
59112         * m4/strings_h.m4: New file.
59113         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
59114         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
59115         * modules/strings: New file.
59116         * modules/string (Makefile.am): Update.
59117         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
59118         Reported by Karl Berry.
59119
59120 2007-12-01  Eric Blake  <ebb9@byu.net>
59121
59122         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
59123         accomodate fix in cygwin 1.5.25.
59124
59125 2007-12-01  Jim Meyering  <meyering@redhat.com>
59126
59127         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
59128         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
59129         that would inhibit utf8-optimization of a regexp containing line-
59130         or buffer-anchors, e.g., `^', `$'.
59131
59132 2007-11-30  Bruno Haible  <bruno@clisp.org>
59133
59134         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
59135         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
59136         glthread_recursive_lock_init.
59137         * lib/lock.c (glthread_recursive_lock_init)
59138         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
59139         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59140
59141 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
59142
59143         New function qset_acl, like set_acl but with syscall semantics.
59144         * lib/acl.h (qset_acl): New decl.
59145         * lib/acl.c (qset_acl): New function.
59146         (set_acl): Use new function.  Use more-consistent diagnostics.
59147
59148 2007-11-28  Jim Meyering  <meyering@redhat.com>
59149
59150         * modules/physmem (License): Change from GPL to LGPLv2+.
59151
59152 2007-11-26  Bruno Haible  <bruno@clisp.org>
59153
59154         * lib/vasnprintf.c (decode_long_double): Don't abort if the
59155         'long double' type has excess precision.
59156         Reported by Jim Meyering in
59157         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
59158
59159 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59160
59161         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
59162         Sync from <http://gnu.org/licenses>.
59163         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
59164         with license text from same location.
59165         * doc/maintain.texi, doc/standards.texi:  Sync from
59166         <http://savannah.gnu.org/projects/gnustandards>.
59167
59168 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
59169         and Jim Meyering  <meyering@redhat.com>
59170
59171         Adjust getdate' grammar to accept a slightly more regular language.
59172         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
59173         Before, the former was rejected.
59174         * lib/getdate.y (digits_to_date_time): New function, factored
59175         out of ...
59176         (number): ...here.  Just call digits_to_date_time.
59177         (hybrid): New non-terminal to handle an <unsigned number,
59178         signed relative offset> sequence consistently.
59179
59180 2007-11-18  Jim Meyering  <meyering@redhat.com>
59181
59182         Pull my changes from coreutils:
59183         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
59184         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
59185         use of $gnulib_tool_option_extras, so that it's separated from the
59186         preceding argument.
59187
59188         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
59189         * build-aux/bootstrap (cp_mark_as_generated): Create any required
59190         parent destination directories before copying a file into place.
59191
59192 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59193
59194         bootstrap: work also with 4-argument variant of AC_INIT
59195         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
59196
59197 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59198
59199         Port test-getaddrinfo to Solaris.
59200         Problem reported by Bruno Haible in
59201         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
59202         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
59203         explanation of setting 'hints'.
59204         Don't reject an implementation merely because it returns EAI_SERVICE.
59205         (EAI_SERVICE): Define to 0 if not defined.
59206
59207 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
59208
59209         The license of gnu-make and posix-shell is now "GPLed build tool".
59210         * modules/gnu-make (License): Likewise.
59211         * modules/posix-shell (License): Likewise.
59212
59213         New module posix-shell, for determining a POSIX shell
59214         or perhaps something that is close enough to a POSIX shell.
59215         * m4/posix-shell.m4: New file.
59216         * modules/posix-shell: New file.
59217
59218         * MODULES.html.sh: Mention new module.
59219
59220         New module gnu-make, for determining whether we're using GNU Make.
59221         * m4/gnu-make.m4: New file.
59222         * modules/gnu-make: New file.
59223         * MODULES.html.sh: Mention new module.
59224
59225 2007-11-14  Jim Meyering  <meyering@redhat.com>
59226
59227         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
59228         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
59229         use this macro to create a function _definition_.
59230         Remove useless "#undef ARGMATCH_DIE".
59231
59232 2007-11-14  Bruno Haible  <bruno@clisp.org>
59233
59234         * lib/config.charset: Update for OpenBSD 4.1.
59235         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
59236
59237 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
59238
59239         Document 64-bit #if problems in stdint.texi.
59240         * doc/headers/stdint.texi (stdint.h): Mention problems with
59241         64-bit-#if, and how to work around them.
59242
59243         Don't insist on 'long long int' support in the preprocessor.  It
59244         breaks too many things.  For example, PRIdMAX still uses a 'long
59245         long int' format with the latest Sun compiler, even though
59246         HAVE_LONG_LONG_INT isn't defined due to that compiler's
59247         preprocessor problem.  This causes the latest coreutils to dump
59248         core on Solaris 10 sparc with the Sun C compiler.
59249         Instead, fix the 2007-10-16 problem in a different way, by evaluating
59250         the troublesome expressions at configure-time, not at #if-time.
59251         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
59252         preprocessor.
59253         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
59254         compile-time C checks, done at 'configure'-time.
59255         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
59256         * modules/inttypes (Makefile): Substitute the new symbols that
59257         gl_INTTYPES_H now generates.
59258         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
59259
59260 2007-11-12  Bruno Haible  <bruno@clisp.org>
59261
59262         Tests for Unicode character classification functions.
59263
59264         * modules/unictype/bidicategory-byname-tests: New file.
59265         * modules/unictype/bidicategory-name-tests: New file.
59266         * modules/unictype/bidicategory-of-tests: New file.
59267         * modules/unictype/bidicategory-test-tests: New file.
59268         * modules/unictype/block-list-tests: New file.
59269         * modules/unictype/block-of-tests: New file.
59270         * modules/unictype/block-test-tests: New file.
59271         * modules/unictype/category-C-tests: New file.
59272         * modules/unictype/category-Cc-tests: New file.
59273         * modules/unictype/category-Cf-tests: New file.
59274         * modules/unictype/category-Cn-tests: New file.
59275         * modules/unictype/category-Co-tests: New file.
59276         * modules/unictype/category-Cs-tests: New file.
59277         * modules/unictype/category-L-tests: New file.
59278         * modules/unictype/category-Ll-tests: New file.
59279         * modules/unictype/category-Lm-tests: New file.
59280         * modules/unictype/category-Lo-tests: New file.
59281         * modules/unictype/category-Lt-tests: New file.
59282         * modules/unictype/category-Lu-tests: New file.
59283         * modules/unictype/category-M-tests: New file.
59284         * modules/unictype/category-Mc-tests: New file.
59285         * modules/unictype/category-Me-tests: New file.
59286         * modules/unictype/category-Mn-tests: New file.
59287         * modules/unictype/category-N-tests: New file.
59288         * modules/unictype/category-Nd-tests: New file.
59289         * modules/unictype/category-Nl-tests: New file.
59290         * modules/unictype/category-No-tests: New file.
59291         * modules/unictype/category-P-tests: New file.
59292         * modules/unictype/category-Pc-tests: New file.
59293         * modules/unictype/category-Pd-tests: New file.
59294         * modules/unictype/category-Pe-tests: New file.
59295         * modules/unictype/category-Pf-tests: New file.
59296         * modules/unictype/category-Pi-tests: New file.
59297         * modules/unictype/category-Po-tests: New file.
59298         * modules/unictype/category-Ps-tests: New file.
59299         * modules/unictype/category-S-tests: New file.
59300         * modules/unictype/category-Sc-tests: New file.
59301         * modules/unictype/category-Sk-tests: New file.
59302         * modules/unictype/category-Sm-tests: New file.
59303         * modules/unictype/category-So-tests: New file.
59304         * modules/unictype/category-Z-tests: New file.
59305         * modules/unictype/category-Zl-tests: New file.
59306         * modules/unictype/category-Zp-tests: New file.
59307         * modules/unictype/category-Zs-tests: New file.
59308         * modules/unictype/category-and-not-tests: New file.
59309         * modules/unictype/category-and-tests: New file.
59310         * modules/unictype/category-byname-tests: New file.
59311         * modules/unictype/category-name-tests: New file.
59312         * modules/unictype/category-none-tests: New file.
59313         * modules/unictype/category-of-tests: New file.
59314         * modules/unictype/category-or-tests: New file.
59315         * modules/unictype/category-test-withtable-tests: New file.
59316         * modules/unictype/combining-class-tests: New file.
59317         * modules/unictype/ctype-alnum-tests: New file.
59318         * modules/unictype/ctype-alpha-tests: New file.
59319         * modules/unictype/ctype-blank-tests: New file.
59320         * modules/unictype/ctype-cntrl-tests: New file.
59321         * modules/unictype/ctype-digit-tests: New file.
59322         * modules/unictype/ctype-graph-tests: New file.
59323         * modules/unictype/ctype-lower-tests: New file.
59324         * modules/unictype/ctype-print-tests: New file.
59325         * modules/unictype/ctype-punct-tests: New file.
59326         * modules/unictype/ctype-space-tests: New file.
59327         * modules/unictype/ctype-upper-tests: New file.
59328         * modules/unictype/ctype-xdigit-tests: New file.
59329         * modules/unictype/decimal-digit-tests: New file.
59330         * modules/unictype/digit-tests: New file.
59331         * modules/unictype/mirror-tests: New file.
59332         * modules/unictype/numeric-tests: New file.
59333         * modules/unictype/property-alphabetic-tests: New file.
59334         * modules/unictype/property-ascii-hex-digit-tests: New file.
59335         * modules/unictype/property-bidi-arabic-digit-tests: New file.
59336         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
59337         * modules/unictype/property-bidi-block-separator-tests: New file.
59338         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
59339         * modules/unictype/property-bidi-common-separator-tests: New file.
59340         * modules/unictype/property-bidi-control-tests: New file.
59341         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
59342         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
59343         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
59344         * modules/unictype/property-bidi-european-digit-tests: New file.
59345         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
59346         * modules/unictype/property-bidi-left-to-right-tests: New file.
59347         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
59348         * modules/unictype/property-bidi-other-neutral-tests: New file.
59349         * modules/unictype/property-bidi-pdf-tests: New file.
59350         * modules/unictype/property-bidi-segment-separator-tests: New file.
59351         * modules/unictype/property-bidi-whitespace-tests: New file.
59352         * modules/unictype/property-byname-tests: New file.
59353         * modules/unictype/property-combining-tests: New file.
59354         * modules/unictype/property-composite-tests: New file.
59355         * modules/unictype/property-currency-symbol-tests: New file.
59356         * modules/unictype/property-dash-tests: New file.
59357         * modules/unictype/property-decimal-digit-tests: New file.
59358         * modules/unictype/property-default-ignorable-code-point-tests: New file.
59359         * modules/unictype/property-deprecated-tests: New file.
59360         * modules/unictype/property-diacritic-tests: New file.
59361         * modules/unictype/property-extender-tests: New file.
59362         * modules/unictype/property-format-control-tests: New file.
59363         * modules/unictype/property-grapheme-base-tests: New file.
59364         * modules/unictype/property-grapheme-extend-tests: New file.
59365         * modules/unictype/property-grapheme-link-tests: New file.
59366         * modules/unictype/property-hex-digit-tests: New file.
59367         * modules/unictype/property-hyphen-tests: New file.
59368         * modules/unictype/property-id-continue-tests: New file.
59369         * modules/unictype/property-id-start-tests: New file.
59370         * modules/unictype/property-ideographic-tests: New file.
59371         * modules/unictype/property-ids-binary-operator-tests: New file.
59372         * modules/unictype/property-ids-trinary-operator-tests: New file.
59373         * modules/unictype/property-ignorable-control-tests: New file.
59374         * modules/unictype/property-iso-control-tests: New file.
59375         * modules/unictype/property-join-control-tests: New file.
59376         * modules/unictype/property-left-of-pair-tests: New file.
59377         * modules/unictype/property-line-separator-tests: New file.
59378         * modules/unictype/property-logical-order-exception-tests: New file.
59379         * modules/unictype/property-lowercase-tests: New file.
59380         * modules/unictype/property-math-tests: New file.
59381         * modules/unictype/property-non-break-tests: New file.
59382         * modules/unictype/property-not-a-character-tests: New file.
59383         * modules/unictype/property-numeric-tests: New file.
59384         * modules/unictype/property-other-alphabetic-tests: New file.
59385         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
59386         * modules/unictype/property-other-grapheme-extend-tests: New file.
59387         * modules/unictype/property-other-id-continue-tests: New file.
59388         * modules/unictype/property-other-id-start-tests: New file.
59389         * modules/unictype/property-other-lowercase-tests: New file.
59390         * modules/unictype/property-other-math-tests: New file.
59391         * modules/unictype/property-other-uppercase-tests: New file.
59392         * modules/unictype/property-paired-punctuation-tests: New file.
59393         * modules/unictype/property-paragraph-separator-tests: New file.
59394         * modules/unictype/property-pattern-syntax-tests: New file.
59395         * modules/unictype/property-pattern-white-space-tests: New file.
59396         * modules/unictype/property-private-use-tests: New file.
59397         * modules/unictype/property-punctuation-tests: New file.
59398         * modules/unictype/property-quotation-mark-tests: New file.
59399         * modules/unictype/property-radical-tests: New file.
59400         * modules/unictype/property-sentence-terminal-tests: New file.
59401         * modules/unictype/property-soft-dotted-tests: New file.
59402         * modules/unictype/property-space-tests: New file.
59403         * modules/unictype/property-terminal-punctuation-tests: New file.
59404         * modules/unictype/property-test-tests: New file.
59405         * modules/unictype/property-titlecase-tests: New file.
59406         * modules/unictype/property-unassigned-code-value-tests: New file.
59407         * modules/unictype/property-unified-ideograph-tests: New file.
59408         * modules/unictype/property-uppercase-tests: New file.
59409         * modules/unictype/property-variation-selector-tests: New file.
59410         * modules/unictype/property-white-space-tests: New file.
59411         * modules/unictype/property-xid-continue-tests: New file.
59412         * modules/unictype/property-xid-start-tests: New file.
59413         * modules/unictype/property-zero-width-tests: New file.
59414         * modules/unictype/scripts-tests: New file.
59415         * modules/unictype/syntax-c-ident-tests: New file.
59416         * modules/unictype/syntax-c-whitespace-tests: New file.
59417         * modules/unictype/syntax-java-ident-tests: New file.
59418         * modules/unictype/syntax-java-whitespace-tests: New file.
59419         * tests/unictype/test-bidi_byname.c: New file.
59420         * tests/unictype/test-bidi_name.c: New file.
59421         * tests/unictype/test-bidi_of.c: New file.
59422         * tests/unictype/test-bidi_test.c: New file.
59423         * tests/unictype/test-block_list.c: New file.
59424         * tests/unictype/test-block_of.c: New file.
59425         * tests/unictype/test-block_test.c: New file.
59426         * tests/unictype/test-categ_and.c: New file.
59427         * tests/unictype/test-categ_and_not.c: New file.
59428         * tests/unictype/test-categ_byname.c: New file.
59429         * tests/unictype/test-categ_name.c: New file.
59430         * tests/unictype/test-categ_none.c: New file.
59431         * tests/unictype/test-categ_of.c: New file.
59432         * tests/unictype/test-categ_or.c: New file.
59433         * tests/unictype/test-categ_test_withtable.c: New file.
59434         * tests/unictype/test-combining.c: New file.
59435         * tests/unictype/test-decdigit.c: New file.
59436         * tests/unictype/test-digit.c: New file.
59437         * tests/unictype/test-mirror.c: New file.
59438         * tests/unictype/test-numeric.c: New file.
59439         * tests/unictype/test-pr_byname.c: New file.
59440         * tests/unictype/test-pr_test.c: New file.
59441         * tests/unictype/test-predicate-part1.h: New file.
59442         * tests/unictype/test-predicate-part2.h: New file.
59443         * tests/unictype/test-scripts.c: New file.
59444         * tests/unictype/test-sy_c_ident.c: New file.
59445         * tests/unictype/test-sy_java_ident.c: New file.
59446
59447         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
59448         for Unicode 5.0.0.
59449         * tests/unictype/test-categ_Cc.c: Likewise.
59450         * tests/unictype/test-categ_Cf.c: Likewise.
59451         * tests/unictype/test-categ_Cn.c: Likewise.
59452         * tests/unictype/test-categ_Co.c: Likewise.
59453         * tests/unictype/test-categ_Cs.c: Likewise.
59454         * tests/unictype/test-categ_L.c: Likewise.
59455         * tests/unictype/test-categ_Ll.c: Likewise.
59456         * tests/unictype/test-categ_Lm.c: Likewise.
59457         * tests/unictype/test-categ_Lo.c: Likewise.
59458         * tests/unictype/test-categ_Lt.c: Likewise.
59459         * tests/unictype/test-categ_Lu.c: Likewise.
59460         * tests/unictype/test-categ_M.c: Likewise.
59461         * tests/unictype/test-categ_Mc.c: Likewise.
59462         * tests/unictype/test-categ_Me.c: Likewise.
59463         * tests/unictype/test-categ_Mn.c: Likewise.
59464         * tests/unictype/test-categ_N.c: Likewise.
59465         * tests/unictype/test-categ_Nd.c: Likewise.
59466         * tests/unictype/test-categ_Nl.c: Likewise.
59467         * tests/unictype/test-categ_No.c: Likewise.
59468         * tests/unictype/test-categ_P.c: Likewise.
59469         * tests/unictype/test-categ_Pc.c: Likewise.
59470         * tests/unictype/test-categ_Pd.c: Likewise.
59471         * tests/unictype/test-categ_Pe.c: Likewise.
59472         * tests/unictype/test-categ_Pf.c: Likewise.
59473         * tests/unictype/test-categ_Pi.c: Likewise.
59474         * tests/unictype/test-categ_Po.c: Likewise.
59475         * tests/unictype/test-categ_Ps.c: Likewise.
59476         * tests/unictype/test-categ_S.c: Likewise.
59477         * tests/unictype/test-categ_Sc.c: Likewise.
59478         * tests/unictype/test-categ_Sk.c: Likewise.
59479         * tests/unictype/test-categ_Sm.c: Likewise.
59480         * tests/unictype/test-categ_So.c: Likewise.
59481         * tests/unictype/test-categ_Z.c: Likewise.
59482         * tests/unictype/test-categ_Zl.c: Likewise.
59483         * tests/unictype/test-categ_Zp.c: Likewise.
59484         * tests/unictype/test-categ_Zs.c: Likewise.
59485         * tests/unictype/test-ctype_alnum.c: Likewise.
59486         * tests/unictype/test-ctype_alpha.c: Likewise.
59487         * tests/unictype/test-ctype_blank.c: Likewise.
59488         * tests/unictype/test-ctype_cntrl.c: Likewise.
59489         * tests/unictype/test-ctype_digit.c: Likewise.
59490         * tests/unictype/test-ctype_graph.c: Likewise.
59491         * tests/unictype/test-ctype_lower.c: Likewise.
59492         * tests/unictype/test-ctype_print.c: Likewise.
59493         * tests/unictype/test-ctype_punct.c: Likewise.
59494         * tests/unictype/test-ctype_space.c: Likewise.
59495         * tests/unictype/test-ctype_upper.c: Likewise.
59496         * tests/unictype/test-ctype_xdigit.c: Likewise.
59497         * tests/unictype/test-decdigit.h: Likewise.
59498         * tests/unictype/test-digit.h: Likewise.
59499         * tests/unictype/test-numeric.h: Likewise.
59500         * tests/unictype/test-pr_alphabetic.c: Likewise.
59501         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
59502         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
59503         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
59504         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
59505         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
59506         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
59507         * tests/unictype/test-pr_bidi_control.c: Likewise.
59508         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
59509         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
59510         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
59511         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
59512         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
59513         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
59514         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
59515         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
59516         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
59517         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
59518         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
59519         * tests/unictype/test-pr_combining.c: Likewise.
59520         * tests/unictype/test-pr_composite.c: Likewise.
59521         * tests/unictype/test-pr_currency_symbol.c: Likewise.
59522         * tests/unictype/test-pr_dash.c: Likewise.
59523         * tests/unictype/test-pr_decimal_digit.c: Likewise.
59524         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
59525         * tests/unictype/test-pr_deprecated.c: Likewise.
59526         * tests/unictype/test-pr_diacritic.c: Likewise.
59527         * tests/unictype/test-pr_extender.c: Likewise.
59528         * tests/unictype/test-pr_format_control.c: Likewise.
59529         * tests/unictype/test-pr_grapheme_base.c: Likewise.
59530         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
59531         * tests/unictype/test-pr_grapheme_link.c: Likewise.
59532         * tests/unictype/test-pr_hex_digit.c: Likewise.
59533         * tests/unictype/test-pr_hyphen.c: Likewise.
59534         * tests/unictype/test-pr_id_continue.c: Likewise.
59535         * tests/unictype/test-pr_id_start.c: Likewise.
59536         * tests/unictype/test-pr_ideographic.c: Likewise.
59537         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
59538         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
59539         * tests/unictype/test-pr_ignorable_control.c: Likewise.
59540         * tests/unictype/test-pr_iso_control.c: Likewise.
59541         * tests/unictype/test-pr_join_control.c: Likewise.
59542         * tests/unictype/test-pr_left_of_pair.c: Likewise.
59543         * tests/unictype/test-pr_line_separator.c: Likewise.
59544         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
59545         * tests/unictype/test-pr_lowercase.c: Likewise.
59546         * tests/unictype/test-pr_math.c: Likewise.
59547         * tests/unictype/test-pr_non_break.c: Likewise.
59548         * tests/unictype/test-pr_not_a_character.c: Likewise.
59549         * tests/unictype/test-pr_numeric.c: Likewise.
59550         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
59551         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
59552         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
59553         * tests/unictype/test-pr_other_id_continue.c: Likewise.
59554         * tests/unictype/test-pr_other_id_start.c: Likewise.
59555         * tests/unictype/test-pr_other_lowercase.c: Likewise.
59556         * tests/unictype/test-pr_other_math.c: Likewise.
59557         * tests/unictype/test-pr_other_uppercase.c: Likewise.
59558         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
59559         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
59560         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
59561         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
59562         * tests/unictype/test-pr_private_use.c: Likewise.
59563         * tests/unictype/test-pr_punctuation.c: Likewise.
59564         * tests/unictype/test-pr_quotation_mark.c: Likewise.
59565         * tests/unictype/test-pr_radical.c: Likewise.
59566         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
59567         * tests/unictype/test-pr_soft_dotted.c: Likewise.
59568         * tests/unictype/test-pr_space.c: Likewise.
59569         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
59570         * tests/unictype/test-pr_titlecase.c: Likewise.
59571         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
59572         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
59573         * tests/unictype/test-pr_uppercase.c: Likewise.
59574         * tests/unictype/test-pr_variation_selector.c: Likewise.
59575         * tests/unictype/test-pr_white_space.c: Likewise.
59576         * tests/unictype/test-pr_xid_continue.c: Likewise.
59577         * tests/unictype/test-pr_xid_start.c: Likewise.
59578         * tests/unictype/test-pr_zero_width.c: Likewise.
59579         * tests/unictype/test-sy_c_whitespace.c: Likewise.
59580         * tests/unictype/test-sy_java_whitespace.c: Likewise.
59581
59582 2007-11-12  Bruno Haible  <bruno@clisp.org>
59583
59584         Unicode character classification functions.
59585         * lib/unictype.h: New file.
59586         * modules/unictype/base: New file.
59587         * modules/unictype/category-L: New file.
59588         * modules/unictype/category-Lu: New file.
59589         * modules/unictype/category-Ll: New file.
59590         * modules/unictype/category-Lt: New file.
59591         * modules/unictype/category-Lm: New file.
59592         * modules/unictype/category-Lo: New file.
59593         * modules/unictype/category-M: New file.
59594         * modules/unictype/category-Mn: New file.
59595         * modules/unictype/category-Mc: New file.
59596         * modules/unictype/category-Me: New file.
59597         * modules/unictype/category-N: New file.
59598         * modules/unictype/category-Nd: New file.
59599         * modules/unictype/category-Nl: New file.
59600         * modules/unictype/category-No: New file.
59601         * modules/unictype/category-P: New file.
59602         * modules/unictype/category-Pc: New file.
59603         * modules/unictype/category-Pd: New file.
59604         * modules/unictype/category-Ps: New file.
59605         * modules/unictype/category-Pe: New file.
59606         * modules/unictype/category-Pi: New file.
59607         * modules/unictype/category-Pf: New file.
59608         * modules/unictype/category-Po: New file.
59609         * modules/unictype/category-S: New file.
59610         * modules/unictype/category-Sm: New file.
59611         * modules/unictype/category-Sc: New file.
59612         * modules/unictype/category-Sk: New file.
59613         * modules/unictype/category-So: New file.
59614         * modules/unictype/category-Z: New file.
59615         * modules/unictype/category-Zs: New file.
59616         * modules/unictype/category-Zl: New file.
59617         * modules/unictype/category-Zp: New file.
59618         * modules/unictype/category-C: New file.
59619         * modules/unictype/category-Cc: New file.
59620         * modules/unictype/category-Cf: New file.
59621         * modules/unictype/category-Cs: New file.
59622         * modules/unictype/category-Co: New file.
59623         * modules/unictype/category-Cn: New file.
59624         * modules/unictype/category-or: New file.
59625         * modules/unictype/category-of: New file.
59626         * modules/unictype/category-test: New file.
59627         * modules/unictype/category-test-withtable: New file.
59628         * modules/unictype/category-byname: New file.
59629         * modules/unictype/category-none: New file.
59630         * modules/unictype/category-and: New file.
59631         * modules/unictype/category-and-not: New file.
59632         * modules/unictype/category-name: New file.
59633         * modules/unictype/combining-class: New file.
59634         * modules/unictype/category-all: New file.
59635         * modules/unictype/bidicategory-all: New file.
59636         * modules/unictype/bidicategory-byname: New file.
59637         * modules/unictype/bidicategory-name: New file.
59638         * modules/unictype/bidicategory-of: New file.
59639         * modules/unictype/bidicategory-test: New file.
59640         * modules/unictype/decimal-digit: New file.
59641         * modules/unictype/digit: New file.
59642         * modules/unictype/numeric: New file.
59643         * modules/unictype/mirror: New file.
59644         * modules/unictype/property-white-space: New file.
59645         * modules/unictype/property-alphabetic: New file.
59646         * modules/unictype/property-other-alphabetic: New file.
59647         * modules/unictype/property-not-a-character: New file.
59648         * modules/unictype/property-default-ignorable-code-point: New file.
59649         * modules/unictype/property-other-default-ignorable-code-point: New
59650         file.
59651         * modules/unictype/property-deprecated: New file.
59652         * modules/unictype/property-logical-order-exception: New file.
59653         * modules/unictype/property-variation-selector: New file.
59654         * modules/unictype/property-private-use: New file.
59655         * modules/unictype/property-unassigned-code-value: New file.
59656         * modules/unictype/property-uppercase: New file.
59657         * modules/unictype/property-other-uppercase: New file.
59658         * modules/unictype/property-lowercase: New file.
59659         * modules/unictype/property-other-lowercase: New file.
59660         * modules/unictype/property-titlecase: New file.
59661         * modules/unictype/property-soft-dotted: New file.
59662         * modules/unictype/property-id-start: New file.
59663         * modules/unictype/property-other-id-start: New file.
59664         * modules/unictype/property-id-continue: New file.
59665         * modules/unictype/property-other-id-continue: New file.
59666         * modules/unictype/property-xid-start: New file.
59667         * modules/unictype/property-xid-continue: New file.
59668         * modules/unictype/property-pattern-white-space: New file.
59669         * modules/unictype/property-pattern-syntax: New file.
59670         * modules/unictype/property-join-control: New file.
59671         * modules/unictype/property-grapheme-base: New file.
59672         * modules/unictype/property-grapheme-extend: New file.
59673         * modules/unictype/property-other-grapheme-extend: New file.
59674         * modules/unictype/property-grapheme-link: New file.
59675         * modules/unictype/property-bidi-control: New file.
59676         * modules/unictype/property-bidi-left-to-right: New file.
59677         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
59678         * modules/unictype/property-bidi-arabic-right-to-left: New file.
59679         * modules/unictype/property-bidi-european-digit: New file.
59680         * modules/unictype/property-bidi-eur-num-separator: New file.
59681         * modules/unictype/property-bidi-eur-num-terminator: New file.
59682         * modules/unictype/property-bidi-arabic-digit: New file.
59683         * modules/unictype/property-bidi-common-separator: New file.
59684         * modules/unictype/property-bidi-block-separator: New file.
59685         * modules/unictype/property-bidi-segment-separator: New file.
59686         * modules/unictype/property-bidi-whitespace: New file.
59687         * modules/unictype/property-bidi-non-spacing-mark: New file.
59688         * modules/unictype/property-bidi-boundary-neutral: New file.
59689         * modules/unictype/property-bidi-pdf: New file.
59690         * modules/unictype/property-bidi-embedding-or-override: New file.
59691         * modules/unictype/property-bidi-other-neutral: New file.
59692         * modules/unictype/property-hex-digit: New file.
59693         * modules/unictype/property-ascii-hex-digit: New file.
59694         * modules/unictype/property-ideographic: New file.
59695         * modules/unictype/property-unified-ideograph: New file.
59696         * modules/unictype/property-radical: New file.
59697         * modules/unictype/property-ids-binary-operator: New file.
59698         * modules/unictype/property-ids-trinary-operator: New file.
59699         * modules/unictype/property-zero-width: New file.
59700         * modules/unictype/property-space: New file.
59701         * modules/unictype/property-non-break: New file.
59702         * modules/unictype/property-iso-control: New file.
59703         * modules/unictype/property-format-control: New file.
59704         * modules/unictype/property-dash: New file.
59705         * modules/unictype/property-hyphen: New file.
59706         * modules/unictype/property-punctuation: New file.
59707         * modules/unictype/property-line-separator: New file.
59708         * modules/unictype/property-paragraph-separator: New file.
59709         * modules/unictype/property-quotation-mark: New file.
59710         * modules/unictype/property-sentence-terminal: New file.
59711         * modules/unictype/property-terminal-punctuation: New file.
59712         * modules/unictype/property-currency-symbol: New file.
59713         * modules/unictype/property-math: New file.
59714         * modules/unictype/property-other-math: New file.
59715         * modules/unictype/property-paired-punctuation: New file.
59716         * modules/unictype/property-left-of-pair: New file.
59717         * modules/unictype/property-combining: New file.
59718         * modules/unictype/property-composite: New file.
59719         * modules/unictype/property-decimal-digit: New file.
59720         * modules/unictype/property-numeric: New file.
59721         * modules/unictype/property-diacritic: New file.
59722         * modules/unictype/property-extender: New file.
59723         * modules/unictype/property-ignorable-control: New file.
59724         * modules/unictype/property-test: New file.
59725         * modules/unictype/property-byname: New file.
59726         * modules/unictype/property-all: New file.
59727         * modules/unictype/scripts: New file.
59728         * modules/unictype/scripts-all: New file.
59729         * modules/unictype/block-of: New file.
59730         * modules/unictype/block-test: New file.
59731         * modules/unictype/block-list: New file.
59732         * modules/unictype/block-all: New file.
59733         * modules/unictype/syntax-c-whitespace: New file.
59734         * modules/unictype/syntax-java-whitespace: New file.
59735         * modules/unictype/syntax-c-ident: New file.
59736         * modules/unictype/syntax-java-ident: New file.
59737         * modules/unictype/ctype-alnum: New file.
59738         * modules/unictype/ctype-alpha: New file.
59739         * modules/unictype/ctype-cntrl: New file.
59740         * modules/unictype/ctype-digit: New file.
59741         * modules/unictype/ctype-graph: New file.
59742         * modules/unictype/ctype-lower: New file.
59743         * modules/unictype/ctype-print: New file.
59744         * modules/unictype/ctype-punct: New file.
59745         * modules/unictype/ctype-space: New file.
59746         * modules/unictype/ctype-upper: New file.
59747         * modules/unictype/ctype-xdigit: New file.
59748         * modules/unictype/ctype-blank: New file.
59749         * lib/unictype/bidi_byname.c: New file.
59750         * lib/unictype/bidi_name.c: New file.
59751         * lib/unictype/bidi_of.c: New file.
59752         * lib/unictype/bidi_test.c: New file.
59753         * lib/unictype/bitmap.h: New file.
59754         * lib/unictype/block_test.c: New file.
59755         * lib/unictype/blocks.c: New file.
59756         * lib/unictype/categ_C.c: New file.
59757         * lib/unictype/categ_Cc.c: New file.
59758         * lib/unictype/categ_Cf.c: New file.
59759         * lib/unictype/categ_Cn.c: New file.
59760         * lib/unictype/categ_Co.c: New file.
59761         * lib/unictype/categ_Cs.c: New file.
59762         * lib/unictype/categ_L.c: New file.
59763         * lib/unictype/categ_Ll.c: New file.
59764         * lib/unictype/categ_Lm.c: New file.
59765         * lib/unictype/categ_Lo.c: New file.
59766         * lib/unictype/categ_Lt.c: New file.
59767         * lib/unictype/categ_Lu.c: New file.
59768         * lib/unictype/categ_M.c: New file.
59769         * lib/unictype/categ_Mc.c: New file.
59770         * lib/unictype/categ_Me.c: New file.
59771         * lib/unictype/categ_Mn.c: New file.
59772         * lib/unictype/categ_N.c: New file.
59773         * lib/unictype/categ_Nd.c: New file.
59774         * lib/unictype/categ_Nl.c: New file.
59775         * lib/unictype/categ_No.c: New file.
59776         * lib/unictype/categ_P.c: New file.
59777         * lib/unictype/categ_Pc.c: New file.
59778         * lib/unictype/categ_Pd.c: New file.
59779         * lib/unictype/categ_Pe.c: New file.
59780         * lib/unictype/categ_Pf.c: New file.
59781         * lib/unictype/categ_Pi.c: New file.
59782         * lib/unictype/categ_Po.c: New file.
59783         * lib/unictype/categ_Ps.c: New file.
59784         * lib/unictype/categ_S.c: New file.
59785         * lib/unictype/categ_Sc.c: New file.
59786         * lib/unictype/categ_Sk.c: New file.
59787         * lib/unictype/categ_Sm.c: New file.
59788         * lib/unictype/categ_So.c: New file.
59789         * lib/unictype/categ_Z.c: New file.
59790         * lib/unictype/categ_Zl.c: New file.
59791         * lib/unictype/categ_Zp.c: New file.
59792         * lib/unictype/categ_Zs.c: New file.
59793         * lib/unictype/categ_and.c: New file.
59794         * lib/unictype/categ_and_not.c: New file.
59795         * lib/unictype/categ_byname.c: New file.
59796         * lib/unictype/categ_name.c: New file.
59797         * lib/unictype/categ_none.c: New file.
59798         * lib/unictype/categ_of.c: New file.
59799         * lib/unictype/categ_or.c: New file.
59800         * lib/unictype/categ_test.c: New file.
59801         * lib/unictype/combining.c: New file.
59802         * lib/unictype/ctype_alnum.c: New file.
59803         * lib/unictype/ctype_alpha.c: New file.
59804         * lib/unictype/ctype_blank.c: New file.
59805         * lib/unictype/ctype_cntrl.c: New file.
59806         * lib/unictype/ctype_digit.c: New file.
59807         * lib/unictype/ctype_graph.c: New file.
59808         * lib/unictype/ctype_lower.c: New file.
59809         * lib/unictype/ctype_print.c: New file.
59810         * lib/unictype/ctype_punct.c: New file.
59811         * lib/unictype/ctype_space.c: New file.
59812         * lib/unictype/ctype_upper.c: New file.
59813         * lib/unictype/ctype_xdigit.c: New file.
59814         * lib/unictype/decdigit.c: New file.
59815         * lib/unictype/digit.c: New file.
59816         * lib/unictype/identsyntaxmap.h: New file.
59817         * lib/unictype/mirror.c: New file.
59818         * lib/unictype/numeric.c: New file.
59819         * lib/unictype/pr_alphabetic.c: New file.
59820         * lib/unictype/pr_ascii_hex_digit.c: New file.
59821         * lib/unictype/pr_bidi_arabic_digit.c: New file.
59822         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
59823         * lib/unictype/pr_bidi_block_separator.c: New file.
59824         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
59825         * lib/unictype/pr_bidi_common_separator.c: New file.
59826         * lib/unictype/pr_bidi_control.c: New file.
59827         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
59828         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
59829         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
59830         * lib/unictype/pr_bidi_european_digit.c: New file.
59831         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
59832         * lib/unictype/pr_bidi_left_to_right.c: New file.
59833         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
59834         * lib/unictype/pr_bidi_other_neutral.c: New file.
59835         * lib/unictype/pr_bidi_pdf.c: New file.
59836         * lib/unictype/pr_bidi_segment_separator.c: New file.
59837         * lib/unictype/pr_bidi_whitespace.c: New file.
59838         * lib/unictype/pr_byname.c: New file.
59839         * lib/unictype/pr_byname.gperf: New file.
59840         * lib/unictype/pr_combining.c: New file.
59841         * lib/unictype/pr_composite.c: New file.
59842         * lib/unictype/pr_currency_symbol.c: New file.
59843         * lib/unictype/pr_dash.c: New file.
59844         * lib/unictype/pr_decimal_digit.c: New file.
59845         * lib/unictype/pr_default_ignorable_code_point.c: New file.
59846         * lib/unictype/pr_deprecated.c: New file.
59847         * lib/unictype/pr_diacritic.c: New file.
59848         * lib/unictype/pr_extender.c: New file.
59849         * lib/unictype/pr_format_control.c: New file.
59850         * lib/unictype/pr_grapheme_base.c: New file.
59851         * lib/unictype/pr_grapheme_extend.c: New file.
59852         * lib/unictype/pr_grapheme_link.c: New file.
59853         * lib/unictype/pr_hex_digit.c: New file.
59854         * lib/unictype/pr_hyphen.c: New file.
59855         * lib/unictype/pr_id_continue.c: New file.
59856         * lib/unictype/pr_id_start.c: New file.
59857         * lib/unictype/pr_ideographic.c: New file.
59858         * lib/unictype/pr_ids_binary_operator.c: New file.
59859         * lib/unictype/pr_ids_trinary_operator.c: New file.
59860         * lib/unictype/pr_ignorable_control.c: New file.
59861         * lib/unictype/pr_iso_control.c: New file.
59862         * lib/unictype/pr_join_control.c: New file.
59863         * lib/unictype/pr_left_of_pair.c: New file.
59864         * lib/unictype/pr_line_separator.c: New file.
59865         * lib/unictype/pr_logical_order_exception.c: New file.
59866         * lib/unictype/pr_lowercase.c: New file.
59867         * lib/unictype/pr_math.c: New file.
59868         * lib/unictype/pr_non_break.c: New file.
59869         * lib/unictype/pr_not_a_character.c: New file.
59870         * lib/unictype/pr_numeric.c: New file.
59871         * lib/unictype/pr_other_alphabetic.c: New file.
59872         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
59873         * lib/unictype/pr_other_grapheme_extend.c: New file.
59874         * lib/unictype/pr_other_id_continue.c: New file.
59875         * lib/unictype/pr_other_id_start.c: New file.
59876         * lib/unictype/pr_other_lowercase.c: New file.
59877         * lib/unictype/pr_other_math.c: New file.
59878         * lib/unictype/pr_other_uppercase.c: New file.
59879         * lib/unictype/pr_paired_punctuation.c: New file.
59880         * lib/unictype/pr_paragraph_separator.c: New file.
59881         * lib/unictype/pr_pattern_syntax.c: New file.
59882         * lib/unictype/pr_pattern_white_space.c: New file.
59883         * lib/unictype/pr_private_use.c: New file.
59884         * lib/unictype/pr_punctuation.c: New file.
59885         * lib/unictype/pr_quotation_mark.c: New file.
59886         * lib/unictype/pr_radical.c: New file.
59887         * lib/unictype/pr_sentence_terminal.c: New file.
59888         * lib/unictype/pr_soft_dotted.c: New file.
59889         * lib/unictype/pr_space.c: New file.
59890         * lib/unictype/pr_terminal_punctuation.c: New file.
59891         * lib/unictype/pr_test.c: New file.
59892         * lib/unictype/pr_titlecase.c: New file.
59893         * lib/unictype/pr_unassigned_code_value.c: New file.
59894         * lib/unictype/pr_unified_ideograph.c: New file.
59895         * lib/unictype/pr_uppercase.c: New file.
59896         * lib/unictype/pr_variation_selector.c: New file.
59897         * lib/unictype/pr_white_space.c: New file.
59898         * lib/unictype/pr_xid_continue.c: New file.
59899         * lib/unictype/pr_xid_start.c: New file.
59900         * lib/unictype/pr_zero_width.c: New file.
59901         * lib/unictype/scripts.c: New file.
59902         * lib/unictype/sy_c_ident.c: New file.
59903         * lib/unictype/sy_c_whitespace.c: New file.
59904         * lib/unictype/sy_java_ident.c: New file.
59905         * lib/unictype/sy_java_whitespace.c: New file.
59906
59907         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
59908         Unicode 5.0.0.
59909         * lib/unictype/blocks.h: Likewise.
59910         * lib/unictype/categ_C.h: Likewise.
59911         * lib/unictype/categ_Cc.h: Likewise.
59912         * lib/unictype/categ_Cf.h: Likewise.
59913         * lib/unictype/categ_Cn.h: Likewise.
59914         * lib/unictype/categ_Co.h: Likewise.
59915         * lib/unictype/categ_Cs.h: Likewise.
59916         * lib/unictype/categ_L.h: Likewise.
59917         * lib/unictype/categ_Ll.h: Likewise.
59918         * lib/unictype/categ_Lm.h: Likewise.
59919         * lib/unictype/categ_Lo.h: Likewise.
59920         * lib/unictype/categ_Lt.h: Likewise.
59921         * lib/unictype/categ_Lu.h: Likewise.
59922         * lib/unictype/categ_M.h: Likewise.
59923         * lib/unictype/categ_Mc.h: Likewise.
59924         * lib/unictype/categ_Me.h: Likewise.
59925         * lib/unictype/categ_Mn.h: Likewise.
59926         * lib/unictype/categ_N.h: Likewise.
59927         * lib/unictype/categ_Nd.h: Likewise.
59928         * lib/unictype/categ_Nl.h: Likewise.
59929         * lib/unictype/categ_No.h: Likewise.
59930         * lib/unictype/categ_P.h: Likewise.
59931         * lib/unictype/categ_Pc.h: Likewise.
59932         * lib/unictype/categ_Pd.h: Likewise.
59933         * lib/unictype/categ_Pe.h: Likewise.
59934         * lib/unictype/categ_Pf.h: Likewise.
59935         * lib/unictype/categ_Pi.h: Likewise.
59936         * lib/unictype/categ_Po.h: Likewise.
59937         * lib/unictype/categ_Ps.h: Likewise.
59938         * lib/unictype/categ_S.h: Likewise.
59939         * lib/unictype/categ_Sc.h: Likewise.
59940         * lib/unictype/categ_Sk.h: Likewise.
59941         * lib/unictype/categ_Sm.h: Likewise.
59942         * lib/unictype/categ_So.h: Likewise.
59943         * lib/unictype/categ_Z.h: Likewise.
59944         * lib/unictype/categ_Zl.h: Likewise.
59945         * lib/unictype/categ_Zp.h: Likewise.
59946         * lib/unictype/categ_Zs.h: Likewise.
59947         * lib/unictype/categ_of.h: Likewise.
59948         * lib/unictype/combining.h: Likewise.
59949         * lib/unictype/ctype_alnum.h: Likewise.
59950         * lib/unictype/ctype_alpha.h: Likewise.
59951         * lib/unictype/ctype_blank.h: Likewise.
59952         * lib/unictype/ctype_cntrl.h: Likewise.
59953         * lib/unictype/ctype_digit.h: Likewise.
59954         * lib/unictype/ctype_graph.h: Likewise.
59955         * lib/unictype/ctype_lower.h: Likewise.
59956         * lib/unictype/ctype_print.h: Likewise.
59957         * lib/unictype/ctype_punct.h: Likewise.
59958         * lib/unictype/ctype_space.h: Likewise.
59959         * lib/unictype/ctype_upper.h: Likewise.
59960         * lib/unictype/ctype_xdigit.h: Likewise.
59961         * lib/unictype/decdigit.h: Likewise.
59962         * lib/unictype/digit.h: Likewise.
59963         * lib/unictype/mirror.h: Likewise.
59964         * lib/unictype/numeric.h: Likewise.
59965         * lib/unictype/pr_alphabetic.h: Likewise.
59966         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
59967         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
59968         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
59969         * lib/unictype/pr_bidi_block_separator.h: Likewise.
59970         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
59971         * lib/unictype/pr_bidi_common_separator.h: Likewise.
59972         * lib/unictype/pr_bidi_control.h: Likewise.
59973         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
59974         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
59975         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
59976         * lib/unictype/pr_bidi_european_digit.h: Likewise.
59977         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
59978         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
59979         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
59980         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
59981         * lib/unictype/pr_bidi_pdf.h: Likewise.
59982         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
59983         * lib/unictype/pr_bidi_whitespace.h: Likewise.
59984         * lib/unictype/pr_combining.h: Likewise.
59985         * lib/unictype/pr_composite.h: Likewise.
59986         * lib/unictype/pr_currency_symbol.h: Likewise.
59987         * lib/unictype/pr_dash.h: Likewise.
59988         * lib/unictype/pr_decimal_digit.h: Likewise.
59989         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
59990         * lib/unictype/pr_deprecated.h: Likewise.
59991         * lib/unictype/pr_diacritic.h: Likewise.
59992         * lib/unictype/pr_extender.h: Likewise.
59993         * lib/unictype/pr_format_control.h: Likewise.
59994         * lib/unictype/pr_grapheme_base.h: Likewise.
59995         * lib/unictype/pr_grapheme_extend.h: Likewise.
59996         * lib/unictype/pr_grapheme_link.h: Likewise.
59997         * lib/unictype/pr_hex_digit.h: Likewise.
59998         * lib/unictype/pr_hyphen.h: Likewise.
59999         * lib/unictype/pr_id_continue.h: Likewise.
60000         * lib/unictype/pr_id_start.h: Likewise.
60001         * lib/unictype/pr_ideographic.h: Likewise.
60002         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60003         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60004         * lib/unictype/pr_ignorable_control.h: Likewise.
60005         * lib/unictype/pr_iso_control.h: Likewise.
60006         * lib/unictype/pr_join_control.h: Likewise.
60007         * lib/unictype/pr_left_of_pair.h: Likewise.
60008         * lib/unictype/pr_line_separator.h: Likewise.
60009         * lib/unictype/pr_logical_order_exception.h: Likewise.
60010         * lib/unictype/pr_lowercase.h: Likewise.
60011         * lib/unictype/pr_math.h: Likewise.
60012         * lib/unictype/pr_non_break.h: Likewise.
60013         * lib/unictype/pr_not_a_character.h: Likewise.
60014         * lib/unictype/pr_numeric.h: Likewise.
60015         * lib/unictype/pr_other_alphabetic.h: Likewise.
60016         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60017         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60018         * lib/unictype/pr_other_id_continue.h: Likewise.
60019         * lib/unictype/pr_other_id_start.h: Likewise.
60020         * lib/unictype/pr_other_lowercase.h: Likewise.
60021         * lib/unictype/pr_other_math.h: Likewise.
60022         * lib/unictype/pr_other_uppercase.h: Likewise.
60023         * lib/unictype/pr_paired_punctuation.h: Likewise.
60024         * lib/unictype/pr_paragraph_separator.h: Likewise.
60025         * lib/unictype/pr_pattern_syntax.h: Likewise.
60026         * lib/unictype/pr_pattern_white_space.h: Likewise.
60027         * lib/unictype/pr_private_use.h: Likewise.
60028         * lib/unictype/pr_punctuation.h: Likewise.
60029         * lib/unictype/pr_quotation_mark.h: Likewise.
60030         * lib/unictype/pr_radical.h: Likewise.
60031         * lib/unictype/pr_sentence_terminal.h: Likewise.
60032         * lib/unictype/pr_soft_dotted.h: Likewise.
60033         * lib/unictype/pr_space.h: Likewise.
60034         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60035         * lib/unictype/pr_titlecase.h: Likewise.
60036         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60037         * lib/unictype/pr_unified_ideograph.h: Likewise.
60038         * lib/unictype/pr_uppercase.h: Likewise.
60039         * lib/unictype/pr_variation_selector.h: Likewise.
60040         * lib/unictype/pr_white_space.h: Likewise.
60041         * lib/unictype/pr_xid_continue.h: Likewise.
60042         * lib/unictype/pr_xid_start.h: Likewise.
60043         * lib/unictype/pr_zero_width.h: Likewise.
60044         * lib/unictype/scripts.h: Likewise.
60045         * lib/unictype/scripts_byname.gperf: Likewise.
60046         * lib/unictype/sy_c_ident.h: Likewise.
60047         * lib/unictype/sy_c_whitespace.h: Likewise.
60048         * lib/unictype/sy_java_ident.h: Likewise.
60049         * lib/unictype/sy_java_whitespace.h: Likewise.
60050
60051         * lib/unictype/Makefile: New file.
60052         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
60053         glibc.
60054         * lib/unictype/3level.h: New file, copied from glibc.
60055         * lib/unictype/3levelbit.h: New file.
60056
60057 2007-11-11  Bruno Haible  <bruno@clisp.org>
60058
60059         * modules/gperf: New file.
60060         * modules/iconv_open (Depends-on): Add it.
60061         (Makefile.am): Remove the GPERF definition.
60062
60063 2007-11-11  Bruno Haible  <bruno@clisp.org>
60064
60065         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
60066         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
60067
60068 2007-11-11  Bruno Haible  <bruno@clisp.org>
60069
60070         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
60071         (usage): Remove function.
60072
60073 2007-11-11  Bruno Haible  <bruno@clisp.org>
60074
60075         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
60076         gl_FUNC_CEILF_LIBS.
60077         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
60078         gl_FUNC_CEIL_LIBS.
60079         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
60080         gl_FUNC_CEILL_LIBS.
60081         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
60082         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
60083         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
60084
60085 2007-11-11  Bruno Haible  <bruno@clisp.org>
60086
60087         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
60088         roundf were declared but do not exist on functions.
60089         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
60090         roundl were declared but do not exist on functions.
60091         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
60092         HAVE_FLOORL_AND_CEILL, respectively.
60093         Needed for Sun C on Solaris 10.
60094
60095 2007-11-11  Bruno Haible  <bruno@clisp.org>
60096
60097         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
60098         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
60099         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
60100         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
60101         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
60102         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
60103         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
60104         HAVE_DECL_ROUNDF.
60105         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
60106         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
60107         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
60108         of HAVE_DECL_ROUND*.
60109         * modules/math (Makefile.am): Update.
60110
60111 2007-11-10  Bruno Haible  <bruno@clisp.org>
60112
60113         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
60114         ptrdiff_t as m4/intl.m4.
60115
60116 2007-11-10  Jim Meyering  <meyering@redhat.com>
60117
60118         Avoid link failure for the argmatch test.
60119         * tests/test-argmatch.c (usage): Define function to avoid a link
60120         failure: argmatch_die requires a usage function.
60121
60122 2007-11-09  Bruno Haible  <bruno@clisp.org>
60123
60124         * doc/functions/snprintf.texi: Mention BeOS deficiency.
60125         * doc/functions/vsnprintf.texi: Likewise.
60126         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
60127         with a size argument < 2.
60128
60129 2007-11-09  Bruno Haible  <bruno@clisp.org>
60130
60131         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
60132         buffer. Fixes an inefficiency introduced on 2007-11-03.
60133
60134 2007-11-09  Bruno Haible  <bruno@clisp.org>
60135
60136         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
60137         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
60138
60139 2007-11-08  Jim Meyering  <meyering@redhat.com>
60140
60141         Change cache variable name prefix "jm_" to "gl_" everywhere.
60142         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
60143         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
60144         * m4/uptime.m4: s/gl_/jm_/
60145
60146 2007-11-07  Bruno Haible  <bruno@clisp.org>
60147
60148         Update to GNU gettext 0.17.
60149         * m4/intl.m4: Update to GNU gettext 0.17.
60150         * m4/po.m4: Likewise.
60151         * modules/gettext (Files): Remove m4/ulonglong.m4.
60152         (configure.ac): Require gettext infrastructure from version 0.17.
60153
60154 2007-11-06  Bruno Haible  <bruno@clisp.org>
60155
60156         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
60157         symbolic values are not defined in a public header.
60158         * lib/freadable.c (freadable) [QNX]: Likewise.
60159         * lib/freadahead.c (freadahead) [QNX]: Likewise.
60160         * lib/freading.c (freading) [QNX]: Likewise.
60161         * lib/fseterr.c (fseterr) [QNX]: Likewise.
60162         * lib/fwritable.c (fwritable) [QNX]: Likewise.
60163         * lib/fwriting.c (fwriting) [QNX]: Likewise.
60164         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
60165         Reported by Alain Magloire.
60166
60167         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
60168
60169 2007-11-05  Bruno Haible  <bruno@clisp.org>
60170
60171         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
60172         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
60173         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
60174         Reported by Eric Blake.
60175
60176 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60177             Bruno Haible  <bruno@clisp.org>
60178
60179         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
60180         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
60181         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
60182         (malloc): Undefine also before including <stdlib.h>.
60183         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
60184         Needed on OSF/1 4.0.
60185
60186 2007-11-05  Jim Meyering  <meyering@redhat.com>
60187
60188         git-version-gen: sync from coreutils.
60189         * build-aux/git-version-gen: Add comments.
60190         Change the first '-' to '.' in the snapshot version string,
60191         e.g., 6.9-377-08144 -> 6.9.377-08144
60192         Remove first parameter.
60193         Don't declare a version "-dirty" merely because a time
60194         stamp has changed.
60195
60196 2007-11-04  Bruno Haible  <bruno@clisp.org>
60197
60198         * lib/lock.h: Protect all macro definitions containing an 'if'
60199         statement through a "do { ... } while (0)".
60200         * lib/tls.h: Likewise.
60201
60202 2007-11-04  Bruno Haible  <bruno@clisp.org>
60203
60204         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
60205
60206 2007-11-04  Bruno Haible  <bruno@clisp.org>
60207
60208         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
60209         * modules/fprintf-posix (Depends-on): Add nocrash.
60210         * modules/snprintf-posix (Depends-on): Likewise.
60211         * modules/sprintf-posix (Depends-on): Likewise.
60212         * modules/vasnprintf-posix (Depends-on): Likewise.
60213         * modules/vasprintf-posix (Depends-on): Likewise.
60214         * modules/vfprintf-posix (Depends-on): Likewise.
60215         * modules/vsnprintf-posix (Depends-on): Likewise.
60216         * modules/vsprintf-posix (Depends-on): Likewise.
60217         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60218         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60219         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60220         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60221         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60222         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60223         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60224
60225 2007-11-04  Bruno Haible  <bruno@clisp.org>
60226
60227         * modules/nocrash: New file.
60228         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
60229         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
60230
60231 2007-11-04  Bruno Haible  <bruno@clisp.org>
60232
60233         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
60234         precision handling.
60235         * tests/test-vasprintf-posix.c (test_function): Likewise.
60236         * tests/test-snprintf-posix.h (test_function): Likewise.
60237         * tests/test-sprintf-posix.h (test_function): Likewise.
60238
60239         Fix *printf behaviour for large precisions on mingw and BeOS.
60240         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
60241         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
60242         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
60243         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60244         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60245         gl_PRINTF_PRECISION and test its result. Invoke
60246         gl_PREREQ_VASNPRINTF_PRECISION.
60247         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60248         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60249         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60250         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60251         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60252         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60253         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60254         * doc/functions/fprintf.texi: Update.
60255         * doc/functions/printf.texi: Update.
60256         * doc/functions/snprintf.texi: Update.
60257         * doc/functions/sprintf.texi: Update.
60258         * doc/functions/vfprintf.texi: Update.
60259         * doc/functions/vprintf.texi: Update.
60260         * doc/functions/vsnprintf.texi: Update.
60261         * doc/functions/vsprintf.texi: Update.
60262
60263 2007-11-04  Bruno Haible  <bruno@clisp.org>
60264
60265         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
60266
60267 2007-11-04  Bruno Haible  <bruno@clisp.org>
60268
60269         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
60270         Reported by Sylvain Beucler <beuc@gnu.org>.
60271
60272 2007-11-03  Bruno Haible  <bruno@clisp.org>
60273
60274         * tests/test-fprintf-posix2.sh: New file.
60275         * tests/test-fprintf-posix2.c: New file.
60276         * modules/fprintf-posix-tests (Files): Add them.
60277         (TESTS): Add test-fprintf-posix2.sh.
60278         (configure.ac): Check for getrlimit and setrlimit.
60279         (check_PROGRAMS): Add test-fprintf-posix2.
60280
60281         * tests/test-printf-posix2.sh: New file.
60282         * tests/test-printf-posix2.c: New file.
60283         * modules/printf-posix-tests (Files): Add them.
60284         (TESTS): Add test-printf-posix2.sh.
60285         (configure.ac): Check for getrlimit and setrlimit.
60286         (check_PROGRAMS): Add test-printf-posix2.
60287
60288         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
60289         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
60290         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
60291         (decode_double): New function, copied from decode_long_double.
60292         (scale10_round_decimal_decoded): New function, extracted from
60293         scale10_round_decimal_long_double.
60294         (scale10_round_decimal_long_double): Use it.
60295         (scale10_round_decimal_double): New function.
60296         (floorlog10): New function.
60297         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
60298         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
60299         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60300         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60301         gl_PRINTF_ENOMEM and test its result. Invoke
60302         gl_PREREQ_VASNPRINTF_ENOMEM.
60303         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60304         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60305         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60306         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60307         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60308         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60309         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60310         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
60311         * modules/snprintf-posix (Depends-on): Likewise.
60312         * modules/sprintf-posix (Depends-on): Likewise.
60313         * modules/vasnprintf-posix (Depends-on): Likewise.
60314         * modules/vasprintf-posix (Depends-on): Likewise.
60315         * modules/vfprintf-posix (Depends-on): Likewise.
60316         * modules/vsnprintf-posix (Depends-on): Likewise.
60317         * modules/vsprintf-posix (Depends-on): Likewise.
60318         * doc/functions/fprintf.texi: Update.
60319         * doc/functions/printf.texi: Update.
60320         * doc/functions/snprintf.texi: Update.
60321         * doc/functions/sprintf.texi: Update.
60322         * doc/functions/vfprintf.texi: Update.
60323         * doc/functions/vprintf.texi: Update.
60324         * doc/functions/vsnprintf.texi: Update.
60325         * doc/functions/vsprintf.texi: Update.
60326
60327 2007-11-03  Bruno Haible  <bruno@clisp.org>
60328
60329         * modules/frexp-nolibm-tests: New file.
60330
60331         * modules/frexp-nolibm: New file.
60332         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
60333
60334 2007-11-03  Bruno Haible  <bruno@clisp.org>
60335
60336         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
60337         value is C99 compliant.
60338         Needed for OSF/1 5.1.
60339
60340 2007-11-03  Bruno Haible  <bruno@clisp.org>
60341
60342         Fix out-of-memory handling of vasnprintf.
60343         * lib/printf-parse.c: Include <errno.h>.
60344         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
60345         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
60346         is already set.
60347
60348 2007-11-02  Eric Blake  <ebb9@byu.net>
60349
60350         Fix tests on cygwin.
60351         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
60352
60353 2007-11-01  Bruno Haible  <bruno@clisp.org>
60354
60355         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
60356         warning.
60357         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
60358         needed for POSIX compatibility.
60359
60360 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60361
60362         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
60363         for compatibility with GNU.
60364
60365 2007-11-01  Bruno Haible  <bruno@clisp.org>
60366
60367         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
60368         (putenv): Renamed from rpl_putenv. Change argument type from
60369         'const char *' to 'char *'.
60370         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
60371         of defining putenv in config.h, just set REPLACE_PUTENV.
60372         * modules/putenv (Depends-on): Add stdlib.
60373         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60374         (Include): Use <stdlib.h>.
60375         * lib/stdlib.in.h (putenv): New declaration.
60376         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
60377         REPLACE_PUTENV.
60378         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
60379         REPLACE_PUTENV.
60380         Needed for MacOS X 10.5.0.
60381         Reported by Peter O'Gorman <peter@pogma.com>.
60382
60383 2007-11-01  Jim Meyering  <meyering@redhat.com>
60384
60385         Treat an empty date string exactly like "0".
60386         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
60387         if the remaining date string (to be parsed) is empty, use "0".
60388         Reported by Mischa Molhoek and discussed in this thread:
60389         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
60390
60391 2007-10-31  Bruno Haible  <bruno@clisp.org>
60392
60393         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
60394         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
60395         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
60396         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
60397         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
60398         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
60399
60400 2007-10-31  Bruno Haible  <bruno@clisp.org>
60401
60402         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
60403         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
60404         (AC_TYPE_LONG_LONG_INT): Use it.
60405         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
60406         it as well.
60407         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
60408         to m4/longlong.m4.
60409         * modules/stdint (Files): Remove m4/ulonglong.m4.
60410         * modules/strtoull (Files): Use m4/longlong.m4 instead of
60411         m4/ulonglong.m4.
60412         * modules/strtoumax (Files): Likewise.
60413
60414 2007-10-30  Bruno Haible  <bruno@clisp.org>
60415
60416         * modules/xvasprintf-posix: New file.
60417         Suggested by Eric Blake.
60418
60419 2007-10-30  Bruno Haible  <bruno@clisp.org>
60420
60421         * modules/xprintf-posix-tests: New file.
60422         * tests/test-xprintf-posix.sh: New file.
60423         * tests/test-xprintf-posix.c: New file.
60424         * tests/test-xfprintf-posix.c: New file.
60425
60426         * modules/xprintf-posix: New file.
60427
60428 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60429
60430         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
60431         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
60432         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
60433
60434 2007-10-29  Bruno Haible  <bruno@clisp.org>
60435
60436         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
60437         contain the special marker '_cv_'.
60438         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
60439         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
60440         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
60441         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
60442         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
60443         Reported by Ralf Wildenhues.
60444
60445 2007-10-29  Bruno Haible  <bruno@clisp.org>
60446
60447         * gnulib-tool (func_import): When --lgpl is not specified, set
60448         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
60449         GPLv3.
60450         Reported by Simon Josefsson.
60451
60452 2007-10-28  Bruno Haible  <bruno@clisp.org>
60453
60454         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
60455         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
60456         HAVE_DECL_ISFINITE.
60457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60458         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
60459         HAVE_DECL_ISFINITE.
60460
60461 2007-10-28  Bruno Haible  <bruno@clisp.org>
60462
60463         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
60464         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
60465
60466 2007-10-28  Bruno Haible  <bruno@clisp.org>
60467
60468         Fix link errors with Sun C 5.0 on Solaris 10.
60469         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
60470         function is declared but not present in the compiler's libm.
60471         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
60472         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
60473         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
60474         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
60475         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
60476         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
60477         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
60478         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60479         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
60480         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
60481         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
60482         HAVE_DECL_FLOORL.
60483
60484 2007-10-28  Bruno Haible  <bruno@clisp.org>
60485
60486         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
60487         gl_FUNC_FLOORL. Cache the result.
60488         (gl_FUNC_FLOORL): Use it.
60489         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
60490         gl_FUNC_CEILL. Cache the result.
60491         (gl_FUNC_CEILL): Use it.
60492
60493         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
60494         gl_FUNC_FLOOR. Cache the result.
60495         (gl_FUNC_FLOOR): Use it.
60496         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
60497         gl_FUNC_CEIL. Cache the result.
60498         (gl_FUNC_CEIL): Use it.
60499
60500         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
60501         gl_FUNC_FLOORF. Cache the result.
60502         (gl_FUNC_FLOORF): Use it.
60503         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
60504         gl_FUNC_CEILF. Cache the result.
60505         (gl_FUNC_CEILF): Use it.
60506
60507 2007-10-28  Bruno Haible  <bruno@clisp.org>
60508
60509         * gnulib-tool: Allow specifying the LGPL version number through
60510         --lgpl=2 or --lgpl=3.
60511         (func_usage): Document --lgpl with argument.
60512         Handle --lgpl=... arguments.
60513         (func_import): Recognize also gl_LGPL calls with an argument. When
60514         --lgpl=2 is used and the module's license is just LGPL, report an
60515         error. Set sed_transform_lib_file according to the lgpl variable. In
60516         the generated files, use --lgpl or gl_LGPL invocations with argument,
60517         if necessary.
60518         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
60519         an LGPv2+ license.
60520         * doc/gnulib-tool.texi (Modified imports): Update explanation of
60521         gl_LGPL macro.
60522
60523 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60524             Bruno Haible  <bruno@clisp.org>
60525
60526         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
60527         (u16_uctomb_aux): Likewise.
60528         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
60529         !HAVE_INLINE.
60530         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
60531
60532 2007-10-28  Bruno Haible  <bruno@clisp.org>
60533
60534         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
60535         Invoke AM_GETTEXT_OPTION if it exists.
60536         * modules/vasprintf: Likewise.
60537         * modules/verror: Likewise.
60538         * modules/xprintf: Likewise.
60539         * modules/xvasprintf: Likewise.
60540
60541 2007-10-27  Ben Pfaff  <blp@gnu.org>
60542
60543         * lib/math.in.h: Define isfinite macro and prototypes for
60544         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
60545         implementations.
60546         * m4/math_h.m4: New substitutions for isfinite module.
60547         * lib/isfinite.c: New file.
60548         * m4/isfinite.m4: New file.
60549         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
60550         * modules/isfinite: New file.
60551         * modules/isfinite-tests: New file.
60552         * tests/tests-isfinite.c: New file.
60553         * doc/functions/isfinite.texi: Mention isfinite module.
60554         * MODULES.html.sh: Mention new module.
60555
60556 2007-10-27  Ben Pfaff  <blp@gnu.org>
60557
60558         Ralf Wildenhues reported that Tru64 4.0D declares the round
60559         functions but does not have definitions.
60560         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
60561         cannot be found in any library, set the output variable to
60562         "missing" instead of "".
60563         * m4/round.m4: Also use our substitute if we cannot find round in
60564         any library, even if it is declared.
60565         * m4/roundf.m4: Likewise for roundf.
60566         * m4/roundl.m4: Likewise for roundl.
60567         * lib/math.in.h: Undefine roundf, round, roundl before defining
60568         their replacements, to allow for hypothetical systems where these
60569         may be defined as macros but not available in libraries.
60570
60571 2007-10-27  Bruno Haible  <bruno@clisp.org>
60572
60573         * doc/gnulib.texi: Invoke @firstparagraphindent.
60574         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
60575         changes in gnulib.
60576         (Source changes): New section.
60577
60578 2007-10-26  Bruno Haible  <bruno@clisp.org>
60579
60580         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
60581         borrowed from autoconf.
60582
60583 2007-10-26  Bruno Haible  <bruno@clisp.org>
60584
60585         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
60586         strerror returned the empty string. Needed on HP-UX 11.00.
60587
60588 2007-10-24  Micah Cowan  <micah@cowan.name>
60589
60590         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
60591         * build-aux/bootstrap: Remove support for now-unnecessary option,
60592         --cvs-user, and envvars CVS_USER, CVS_RSH.
60593
60594 2007-10-24  Jim Meyering  <meyering@redhat.com>
60595
60596         Avoid diagnostics from sha1sum when there is no cached checksum.
60597         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
60598         if the po.s1 file hasn't been created yet.
60599
60600         * build-aux/bootstrap: Sync from coreutils:
60601         2007-10-24  Jim Meyering  <meyering@redhat.com>
60602         Get gnulib from the git repository, not from an obsolete cvs one.
60603         * build-aux/bootstrap: Suggestion from Micah Cowan.
60604         2007-10-04  Jim Meyering  <jim@meyering.net>
60605         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
60606         (update_po_files): Work also when there are no .po files in po/.
60607
60608 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60609
60610         * README: Append ".git" to git and cg examples.
60611         Problem reported by Benoit Sigoure.
60612
60613 2007-10-23  Micah Cowan  <micah@cowan.name>
60614
60615         * users.txt: Add wget.
60616
60617 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60618
60619         Fix linking of some unistdio tests on FreeBSD.
60620         * modules/unistdio/u16-vsnprintf-tests
60621         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
60622         * modules/unistdio/u16-vsprintf-tests
60623         (test_u16_vsnprintf1_LDADD): Likewise.
60624         * modules/unistdio/u32-vsnprintf-tests
60625         (test_u32_vsnprintf1_LDADD): Likewise.
60626         * modules/unistdio/u32-vsprintf-tests
60627         (test_u32_vsprintf1_LDADD): Likewise.
60628         * modules/unistdio/u8-vsnprintf-tests
60629         (test_u8_vsnprintf1_LDADD): Likewise.
60630         * modules/unistdio/u8-vsprintf-tests
60631         (test_u8_vsprintf1_LDADD): Likewise.
60632         * modules/unistdio/ulc-vsnprintf-tests
60633         (test_ulc_vsnprintf1_LDADD): Likewise.
60634         * modules/unistdio/ulc-vsprintf-tests
60635         (test_ulc_vsprintf1_LDADD): Likewise.
60636
60637         Fix linking of some uniconv tests on FreeBSD.
60638         * modules/uniconv/u16-conv-from-enc-tests
60639         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
60640         * modules/uniconv/u16-conv-to-enc-tests
60641         (test_u16_conv_to_enc_LDADD): Likewise.
60642         * modules/uniconv/u16-strconv-from-enc-tests
60643         (test_u16_strconv_from_enc_LDADD): Likewise.
60644         * modules/uniconv/u16-strconv-to-enc-tests
60645         (test_u16_strconv_to_enc_LDADD): Likewise.
60646         * modules/uniconv/u32-conv-from-enc-tests
60647         (test_u32_conv_from_enc_LDADD): Likewise.
60648         * modules/uniconv/u32-conv-to-enc-tests
60649         (test_u32_conv_to_enc_LDADD): Likewise.
60650         * modules/uniconv/u32-strconv-from-enc-tests
60651         (test_u32_strconv_from_enc_LDADD): Likewise.
60652         * modules/uniconv/u32-strconv-to-enc-tests
60653         (test_u32_strconv_to_enc_LDADD): Likewise.
60654         * modules/uniconv/u8-conv-from-enc-tests
60655         (test_u8_conv_from_enc_LDADD): Likewise.
60656         * modules/uniconv/u8-conv-to-enc-tests
60657         (test_u8_conv_to_enc_LDADD): Likewise.
60658         * modules/uniconv/u8-strconv-from-enc-tests
60659         (test_u8_strconv_from_enc_LDADD): Likewise.
60660         * modules/uniconv/u8-strconv-to-enc-tests
60661         (test_u8_strconv_to_enc_LDADD): Likewise.
60662
60663 2007-10-22  Bruno Haible  <bruno@clisp.org>
60664
60665         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
60666         size.
60667
60668 2007-10-22  Eric Blake  <ebb9@byu.net>
60669
60670         Tweak x*printf documentation.
60671         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
60672         variable name and comments.
60673         Suggested by Bruno Haible.
60674
60675 2007-10-22  Bruno Haible  <bruno@clisp.org>
60676
60677         * lib/acl.c (copy_acl): Fix file name in comment.
60678
60679 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60680
60681         Fix Tru64 problem with stdbool.h.
60682         * lib/stdbool.in.h (false, true):
60683         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
60684         Don't declare as an enum in this situation; it runs afoul of Tru64.
60685         Problem reported by Steven M. Schweda in
60686         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
60687
60688 2007-10-22  Eric Blake  <ebb9@byu.net>
60689
60690         Also wrap vf?printf.
60691         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
60692         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
60693         (xvprintf, xvfprintf): New functions.
60694
60695 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60696
60697         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
60698         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
60699
60700         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
60701         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
60702
60703 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60704
60705         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
60706         by Bruno Haible.
60707
60708 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60709
60710         * lib/getloadavg.c
60711         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
60712         Undef `sys' after including sys/table.h, for Tru64 4.0D.
60713
60714         * tests/test-i-ring.c: Work for C89.
60715
60716 2007-10-22  Bruno Haible  <bruno@clisp.org>
60717
60718         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
60719         -1u, in preprocessor expression, so that we don't test for the bug
60720         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
60721         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
60722
60723 2007-10-22  Eric Blake  <ebb9@byu.net>
60724
60725         * tests/test-yesno.sh: Silence stderr during test.
60726
60727 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60728
60729         * modules/crypto/gc-camellia: New file.
60730
60731         * m4/gc-camellia.m4: New file.
60732
60733         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
60734
60735         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
60736
60737 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60738
60739         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
60740         --help to stdout.  Reported by sms@antinode.org (Steven
60741         M. Schweda).
60742
60743 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60744
60745         * users.txt: Fix link to libksba.
60746
60747 2007-10-21  Ben Pfaff  <blp@gnu.org>
60748
60749         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
60750         round.c roundf implementation that depends on floorf and ceilf to
60751         be tested unconditionally.
60752
60753 2007-10-21  Ben Pfaff  <blp@gnu.org>
60754
60755         * m4/check-libm-func.m4: Removed.
60756         * m4/check-math-lib.m4: New file.
60757         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
60758         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
60759         definition and lack of AC_LIBOBJ([roundf]).
60760         * m4/roundl.m4: Ditto, and similarly for roundl.
60761         * modules/round: Reference new m4 file.
60762         * modules/roundf: Ditto.
60763         * modules/roundl: Ditto.
60764         * tests/test-round2.c (main): Use ROUND instead of round.
60765         Bug report from Bruno Haible.
60766
60767 2007-10-21  Bruno Haible  <bruno@clisp.org>
60768
60769         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
60770         context.
60771
60772 2007-10-21  Bruno Haible  <bruno@clisp.org>
60773
60774         * tests/test-wcwidth.c (main): Allow negative result for some control
60775         characters.
60776
60777         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
60778         Needed on OSF/1 5.1.
60779
60780 2007-10-21  Bruno Haible  <bruno@clisp.org>
60781
60782         * tests/test-floorf1.c: Include isnanf.h.
60783         (main): Use isnanf() instead of isnan().
60784         * tests/test-ceilf1.c: Include isnanf.h.
60785         (main): Use isnanf() instead of isnan().
60786         * tests/test-truncf1.c: Include isnanf.h.
60787         (main): Use isnanf() instead of isnan().
60788         * tests/test-roundf1.c: Include isnanf.h.
60789         (main): Use isnanf() instead of isnan().
60790
60791 2007-10-21  Eric Blake  <ebb9@byu.net>
60792
60793         * users.txt: Update URL for m4.
60794
60795 2007-10-21  Bruno Haible  <bruno@clisp.org>
60796
60797         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
60798
60799 2007-10-21  Bruno Haible  <bruno@clisp.org>
60800
60801         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
60802         Git's management files if the CVS files are not present.
60803
60804 2007-10-20  Bruno Haible  <bruno@clisp.org>
60805
60806         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
60807         gcc-3.4.x.
60808
60809 2007-10-20  Ben Pfaff  <blp@gnu.org>
60810
60811         * lib/math.in.h: Declare round, roundf, roundl if we are providing
60812         implementations.
60813         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
60814         * lib/round.c: New file.
60815         * lib/roundf.c: New file.
60816         * lib/roundl.c: New file.
60817         * m4/round.m4: New file.
60818         * m4/roundf.m4: New file.
60819         * m4/roundl.m4: New file.
60820         * m4/check-libm-func-m4: New file.
60821         * modules/math: Replace round, roundf, roundl related @VARS@ in
60822         math.in.h.
60823         * modules/round: New file.
60824         * modules/round-tests: New file.
60825         * modules/roundf: New file.
60826         * modules/roundf-tests: New file.
60827         * modules/roundl: New file.
60828         * modules/roundl-tests: New file.
60829         * tests/test-round1.c: New file.
60830         * tests/test-round2.c: New file.
60831         * tests/test-roundf1.c: New file.
60832         * tests/test-roundf2.c: New file.
60833         * tests/test-roundl.c: New file.
60834         * doc/functions/round.texi: Mention round module.
60835         * doc/functions/roundf.texi: Mention roundf module.
60836         * doc/functions/roundl.texi: Mention roundl module.
60837         * MODULES.html.sh: Mention new modules.
60838         Thanks to Bruno Haible for suggestions.
60839
60840 2007-10-20  Jim Meyering  <meyering@redhat.com>
60841
60842         * lib/xprintf.c: Include <config.h> unconditionally.
60843
60844         Change xprintf's license to GPL.
60845         * modules/xprintf (License): s/LGPL/GPL/, since this module
60846         depends on modules (exit and exitfail) which are GPL.
60847         Suggestion from Bruno Haible.
60848
60849         xprintf fixes.
60850         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
60851         Use a clearer diagnostic.
60852         Patch from Bruno Haible.
60853
60854 2007-10-20  Bruno Haible  <bruno@clisp.org>
60855
60856         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
60857         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
60858         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60859
60860 2007-10-20  Bruno Haible  <bruno@clisp.org>
60861
60862         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
60863         precision in the comparison result > x - 1 or similar.
60864         * tests/test-ceilf2.c (correct_result_p): Likewise.
60865         * tests/test-truncf2.c (correct_result_p): Likewise.
60866         * tests/test-trunc2.c (correct_result_p): Likewise.
60867         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60868
60869 2007-10-20  Bruno Haible  <bruno@clisp.org>
60870
60871         * modules/ceil: New file.
60872         * m4/ceil.m4: New file.
60873         * doc/functions/ceil.texi: Mention the 'ceil' module.
60874
60875 2007-10-20  Bruno Haible  <bruno@clisp.org>
60876
60877         * modules/floor: New file.
60878         * m4/floor.m4: New file.
60879         * doc/functions/floor.texi: Mention the 'floor' module.
60880
60881 2007-10-20  Bruno Haible  <bruno@clisp.org>
60882
60883         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
60884         of %a.
60885         * modules/floorf-tests (Depends-on): Likewise.
60886         * modules/truncf-tests (Depends-on): Likewise.
60887         * modules/trunc-tests (Depends-on): Likewise.
60888         Reported by Ben Pfaff.
60889
60890 2007-10-19  Jim Meyering  <meyering@redhat.com>
60891
60892         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
60893         Don't bother testing specific errno values.  Just test ferror.
60894
60895         New module: xprintf
60896         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
60897
60898 2007-10-19  Bruno Haible  <bruno@clisp.org>
60899
60900         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
60901         syntax.
60902         * modules/javaexec (Makefile.am): Likewise.
60903         * modules/relocatable-prog (Makefile.am): Likewise.
60904         Suggested by Jim Meyering.
60905
60906 2007-10-18  Bruno Haible  <bruno@clisp.org>
60907
60908         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
60909         Reported by Jim Meyering.
60910
60911 2007-10-18  Eric Blake  <ebb9@byu.net>
60912
60913         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
60914
60915 2007-10-18  Bruno Haible  <bruno@clisp.org>
60916
60917         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
60918         the format string into writable memory. Needed in Fortify conditions.
60919
60920 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
60921             Bruno Haible  <bruno@clisp.org>
60922
60923         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
60924         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
60925         * modules/trim (Depends-on): Add mbchar.
60926         (configure.ac): Add gl_FUNC_MBRTOWC.
60927         (Makefile.am): Augment lib_SOURCES.
60928
60929 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60930
60931         Modify glob.c to use fstatat and dirfd, to simplify it.
60932         Suggested by Eric Blake.
60933         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
60934         Don't include <stdbool.h>; not used.
60935         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
60936         (link_exists_p): Simplify implementation, since we can now assume
60937         dirfd and fstatat.
60938         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
60939
60940 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60941
60942         * gnulib-tool (func_get_dependencies): Fix sed script to
60943         match only tests.
60944
60945 2007-10-17  Bruno Haible  <bruno@clisp.org>
60946
60947         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
60948         allow locale names without encoding suffix.
60949         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60950         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60951
60952 2007-10-16  Bruno Haible  <bruno@clisp.org>
60953
60954         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
60955         * lib/getgroups.c (getgroups): Likewise.
60956         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
60957
60958 2007-10-16  Bruno Haible  <bruno@clisp.org>
60959
60960         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
60961         * modules/malloc-posix (License): Likewise.
60962         * modules/realloc-posix (License): Likewise.
60963         * modules/calloc-posix (License): Likewise.
60964         * modules/intprops (License): Change from GPL to LGPL, with
60965         Paul Eggert's approval.
60966
60967 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60968
60969         Merge glibc changes into lib/glob.c.
60970
60971         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
60972         2007-10-15 04:59:03 UTC.  Here are the changes:
60973
60974         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
60975
60976         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
60977
60978         * lib/glob.c: Add some branch prediction throughout.
60979
60980         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
60981
60982         [BZ #5103]
60983         * lib/glob.c (glob): Recognize patterns starting \/.
60984
60985         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
60986
60987         [BZ #3996]
60988         * lib/glob.c (attribute_hidden): Define if not defined.
60989         (glob): Unescape dirname, filename or username when needed and not
60990         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
60991         is NULL.  Handle unescaped [ in pattern without closing ].
60992         Don't pass GLOB_CHECK down to recursive glob for directories.
60993         (__glob_pattern_type): New function.
60994         (__glob_pattern_p): Implement using __glob_pattern_type.
60995         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
60996         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
60997         Remove unreachable code.
60998
60999         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
61000
61001         * lib/glob.c (glob_in_dir): Add some comments and asserts to
61002         explain why there are no leaks.
61003
61004         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
61005
61006         [BZ #3253]
61007         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
61008         time, rather allocate increasingly bigger arrays of pointers, if
61009         possible with alloca, if too large with malloc.
61010
61011 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61012
61013         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
61014         Problem reported by H.Merijn Brand in
61015         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
61016         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
61017         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
61018
61019 2007-10-15  Bruno Haible  <bruno@clisp.org>
61020
61021         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
61022         with explicit rpl_ prefix.
61023         * lib/fopen.c (fopen): Likewise.
61024         * lib/freopen.c (freopen): Likewise.
61025         * lib/iconv.c (iconv): Likewise.
61026         * lib/iconv_close.c (iconv_close): Likewise.
61027
61028 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61029
61030         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
61031
61032 2007-10-15  Bruno Haible  <bruno@clisp.org>
61033
61034         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
61035         <stddef.h> instead of <stdlib.h> since we only need NULL.
61036         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61037
61038 2007-10-15  Bruno Haible  <bruno@clisp.org>
61039
61040         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
61041         Replace paragraph talking about LIBOBJS.
61042         Reported by Colin Watson <cjwatson@debian.org>.
61043
61044 2007-10-15  Bruno Haible  <bruno@clisp.org>
61045
61046         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
61047         <stdlib.h> before using NULL.
61048
61049 2007-10-15  Simon Josefsson  <simon@josefsson.org>
61050
61051         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
61052         Reported by Albert Chin <china@thewrittenword.com>.
61053
61054 2007-10-14  Bruno Haible  <bruno@clisp.org>
61055
61056         * modules/iconv_open-utf-tests: New file.
61057         * tests/test-iconv-utf.c: New file.
61058
61059         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
61060         * modules/iconv_open-utf: New file.
61061         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
61062         (iconv, iconv_close): New declarations.
61063         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
61064         be defined.
61065         (iconv_open): Add special handling of conversion between UTF-8 and
61066         UTF-{16,32}{BE,LE}.
61067         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
61068         * lib/iconv_close.c: New file.
61069         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
61070         gl_FUNC_ICONV_OPEN.
61071         (gl_FUNC_ICONV_OPEN): Use it.
61072         (gl_FUNC_ICONV_OPEN_UTF): New macro.
61073         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
61074         and REPLACE_ICONV_UTF.
61075         * modules/iconv_open (Depends-on): Add c-strcase.
61076         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
61077         ICONV_CONST.
61078         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
61079
61080 2007-10-13  Albert Chin  <china@thewrittenword.com>
61081             Bruno Haible  <bruno@clisp.org>
61082
61083         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
61084         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
61085
61086 2007-10-13  Bruno Haible  <bruno@clisp.org>
61087
61088         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
61089         defined, use the ISO C99 inline semantics.
61090         * lib/argp.h (ARGP_EI): Likewise.
61091
61092 2007-10-13  Bruno Haible  <bruno@clisp.org>
61093
61094         Handle 'inline' change in gcc 4.3.0.
61095         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
61096         argp_fmtstream_write, argp_fmtstream_set_lmargin,
61097         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
61098         argp_fmtstream_point): Disable 'extern' declaration if the function
61099         definition is going to be provided inline.
61100         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
61101         semantics, not the ISO C99 inline semantics.
61102         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
61103         'extern' declaration if the function definition is going to be provided
61104         inline.
61105         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
61106         the GNU C inline semantics, not the ISO C99 inline semantics. With
61107         GCC 4.2, avoid a warning.
61108
61109 2007-10-13  Bruno Haible  <bruno@clisp.org>
61110
61111         * lib/freading.h (freading): Enable the use of __freading for
61112         glibc >= 2.7.
61113         * lib/freading.c (freading): Likewise.
61114
61115 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
61116
61117         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
61118         "warning: C99 inline functions are not supported; using GNU89".
61119
61120 2007-10-12  Bruno Haible  <bruno@clisp.org>
61121
61122         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
61123         of 2.
61124         * tests/test-ceilf2.c: New file.
61125         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
61126
61127         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
61128         * modules/ceilf-tests: Update.
61129
61130 2007-10-12  Bruno Haible  <bruno@clisp.org>
61131
61132         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
61133         of 2.
61134         * tests/test-floorf2.c: New file.
61135         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
61136
61137         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
61138         * modules/floorf-tests: Update.
61139
61140 2007-10-12  Bruno Haible  <bruno@clisp.org>
61141
61142         * tests/test-trunc2.c: New file.
61143         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
61144
61145         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
61146         * modules/trunc-tests: Update.
61147
61148 2007-10-12  Bruno Haible  <bruno@clisp.org>
61149
61150         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
61151         of 2.
61152         * tests/test-truncf2.c: New file.
61153         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
61154
61155         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
61156         * modules/truncf-tests: Update.
61157
61158 2007-10-11  Eric Blake  <ebb9@byu.net>
61159
61160         Don't claim strerror is broken on Interix.
61161         * doc/functions/strerror.texi (strerror): Known broken systems are
61162         now Solaris 8, and not Interix.
61163         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
61164         Interix on cross-compile.
61165         Reported by Martin Koeppe in
61166         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
61167
61168 2007-10-11  Bruno Haible  <bruno@clisp.org>
61169
61170         * modules/i-ring-tests: New file.
61171         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
61172         instead of assert.
61173
61174 2007-10-11  Bruno Haible  <bruno@clisp.org>
61175
61176         * modules/filenamecat-tests: New file.
61177         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
61178         * lib/filenamecat.c: Remove test code.
61179
61180 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
61181
61182         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
61183
61184         * lib/strerror.c: Include <string.h> always, to test interface,
61185         and to remove the need for the dummy.
61186         Include intprops.h to compute width instead of doing it ourselves
61187         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
61188         (strerror): Define it to return NULL if there's no system strerror.
61189         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
61190         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
61191         ancient pre-strerror Unix systems well any more.  Saying "unknown
61192         system error" is enough.
61193         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
61194         simpler strerror.c implementation.
61195         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
61196         Simplify the tests to reflect the simpler strerror implementation.
61197         * modules/strerror (Depends-on): Add intprops.
61198
61199 2007-10-09  Eric Blake  <ebb9@byu.net>
61200
61201         Silence test-fpending.
61202         * modules/fpending-tests (Files): Add wrapper script.
61203         * tests/test-fpending.sh: New file.
61204
61205 2007-10-09  Bruno Haible  <bruno@clisp.org>
61206
61207         * MODULES.html.sh (func_module): Don't create a hyperlink for
61208         function names like 'printf_frexp'.
61209         (Misc): Add crc, memxor.
61210         (Characteristics of floating types): New section.
61211         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
61212         isnanf-nolibm, signbit, trunc, truncf, truncl.
61213         (Enhancements for ISO C 99 functions): New subsection Input/output.
61214         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
61215         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
61216         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
61217         (Compatibility checks for POSIX:2001 functions): Add clock-time.
61218         (Enhancements for POSIX:2001 functions): Add chdir-long.
61219         (File system functions): Add areadlink, chdir-safer, read-file.
61220         Remove cycle-check.
61221         (File system as inode set): New section.
61222         (Date and time): Add gethrxtime.
61223         (Multithreading): Add openmp.
61224         (Internationalization functions): Add localename.
61225         (Unicode string functions): Add unistr/u*-mbsnlen.
61226         (Support for maintaining and releasing projects): Add git-version-gen.
61227         (Lone files): Remove directories.
61228
61229 2007-10-08  Ben Pfaff  <blp@gnu.org>
61230
61231         * lib/xmalloca.h: Fix typo in comment.
61232
61233 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
61234
61235         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
61236         when avoiding problems with integer overflow.  Use a portable test
61237         instead.
61238
61239 2007-10-08  Simon Josefsson  <simon@josefsson.org>
61240
61241         * modules/dummy (License): Change to LGPLv2+.
61242         * modules/float (License): Likewise
61243         * modules/realloc (License): Likewise
61244         * modules/stdlib (License): Likewise
61245
61246 2007-10-07  Bruno Haible  <bruno@clisp.org>
61247
61248         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
61249         * floor.c (TWO_MANT_DIG): Likewise.
61250         * ceil.c (TWO_MANT_DIG): Likewise.
61251         Reported by Ben Pfaff.
61252
61253 2007-10-07  Bruno Haible  <bruno@clisp.org>
61254
61255         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
61256         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
61257         * lib/frexp.c (FUNC): Likewise.
61258         * lib/printf-frexp.h (printf_frexp): Likewise.
61259         * lib/printf-frexpl.h (printf_frexpl): Likewise.
61260         * lib/printf-frexp.c (FUNC): Likewise.
61261         Suggested by Jim Meyering.
61262
61263 2007-10-07  Jim Meyering  <meyering@redhat.com>
61264
61265         Make xnanosleep's integer overflow test more robust.
61266         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
61267         so that gcc-4.3.0 doesn't optimize away this test for overflow.
61268
61269 2007-10-07  Bruno Haible  <bruno@clisp.org>
61270
61271         * NEWS: Mention the license change.
61272
61273         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
61274         abbreviations in the modules files.
61275
61276         Change copyright notice from GPLv2+ to GPLv3+.
61277         * README: Change copyright notice.
61278         * MODULES.html.sh: Likewise.
61279         * build-aux/bootstrap.conf: Likewise.
61280         * build-aux/config.libpath: Likewise.
61281         * build-aux/csharpcomp.sh.in: Likewise.
61282         * build-aux/csharpexec.sh.in: Likewise.
61283         * build-aux/install-reloc: Likewise.
61284         * build-aux/javacomp.sh.in: Likewise.
61285         * build-aux/javaexec.sh.in: Likewise.
61286         * build-aux/ldd.sh.in: Likewise.
61287         * build-aux/reloc-ldflags: Likewise.
61288         * build-aux/relocatable.sh.in: Likewise.
61289         * build-aux/x-to-1.in: Likewise.
61290         * check-module: Likewise.
61291         * config/srclistvars.sh: Likewise.
61292         * gnulib-tool: Likewise.
61293         * lib/acl-internal.h: Likewise.
61294         * lib/acl.c: Likewise.
61295         * lib/acl.h: Likewise.
61296         * lib/acl_entries.c: Likewise.
61297         * lib/areadlink-with-size.c: Likewise.
61298         * lib/areadlink.c: Likewise.
61299         * lib/areadlink.h: Likewise.
61300         * lib/argmatch.c: Likewise.
61301         * lib/argmatch.h: Likewise.
61302         * lib/argp-ba.c: Likewise.
61303         * lib/argp-eexst.c: Likewise.
61304         * lib/argp-fmtstream.c: Likewise.
61305         * lib/argp-fmtstream.h: Likewise.
61306         * lib/argp-fs-xinl.c: Likewise.
61307         * lib/argp-help.c: Likewise.
61308         * lib/argp-namefrob.h: Likewise.
61309         * lib/argp-parse.c: Likewise.
61310         * lib/argp-pin.c: Likewise.
61311         * lib/argp-pv.c: Likewise.
61312         * lib/argp-pvh.c: Likewise.
61313         * lib/argp-xinl.c: Likewise.
61314         * lib/argp.h: Likewise.
61315         * lib/at-func.c: Likewise.
61316         * lib/atanl.c: Likewise.
61317         * lib/backupfile.c: Likewise.
61318         * lib/backupfile.h: Likewise.
61319         * lib/basename.c: Likewise.
61320         * lib/binary-io.h: Likewise.
61321         * lib/byteswap.in.h: Likewise.
61322         * lib/c-stack.c: Likewise.
61323         * lib/c-stack.h: Likewise.
61324         * lib/c-strcasestr.c: Likewise.
61325         * lib/c-strcasestr.h: Likewise.
61326         * lib/c-strstr.c: Likewise.
61327         * lib/c-strstr.h: Likewise.
61328         * lib/c-strtod.c: Likewise.
61329         * lib/calloc.c: Likewise.
61330         * lib/canon-host.c: Likewise.
61331         * lib/canon-host.h: Likewise.
61332         * lib/canonicalize-lgpl.c: Likewise.
61333         * lib/canonicalize.c: Likewise.
61334         * lib/canonicalize.h: Likewise.
61335         * lib/ceil.c: Likewise.
61336         * lib/ceilf.c: Likewise.
61337         * lib/ceill.c: Likewise.
61338         * lib/chdir-long.c: Likewise.
61339         * lib/chdir-long.h: Likewise.
61340         * lib/chdir-safer.c: Likewise.
61341         * lib/chdir-safer.h: Likewise.
61342         * lib/chown.c: Likewise.
61343         * lib/classpath.c: Likewise.
61344         * lib/classpath.h: Likewise.
61345         * lib/clean-temp.c: Likewise.
61346         * lib/clean-temp.h: Likewise.
61347         * lib/cloexec.c: Likewise.
61348         * lib/close-stream.c: Likewise.
61349         * lib/closein.c: Likewise.
61350         * lib/closein.h: Likewise.
61351         * lib/closeout.c: Likewise.
61352         * lib/closeout.h: Likewise.
61353         * lib/concat-filename.c: Likewise.
61354         * lib/copy-file.c: Likewise.
61355         * lib/copy-file.h: Likewise.
61356         * lib/count-one-bits.h: Likewise.
61357         * lib/crc.c: Likewise.
61358         * lib/crc.h: Likewise.
61359         * lib/creat-safer.c: Likewise.
61360         * lib/csharpcomp.c: Likewise.
61361         * lib/csharpcomp.h: Likewise.
61362         * lib/csharpexec.c: Likewise.
61363         * lib/csharpexec.h: Likewise.
61364         * lib/cycle-check.c: Likewise.
61365         * lib/cycle-check.h: Likewise.
61366         * lib/diacrit.c: Likewise.
61367         * lib/diacrit.h: Likewise.
61368         * lib/diffseq.h: Likewise.
61369         * lib/dirchownmod.c: Likewise.
61370         * lib/dirent.in.h: Likewise.
61371         * lib/dirfd.c: Likewise.
61372         * lib/dirfd.h: Likewise.
61373         * lib/dirname.c: Likewise.
61374         * lib/dirname.h: Likewise.
61375         * lib/dummy.c: Likewise.
61376         * lib/dup-safer.c: Likewise.
61377         * lib/dup2.c: Likewise.
61378         * lib/eealloc.h: Likewise.
61379         * lib/error.c: Likewise.
61380         * lib/error.h: Likewise.
61381         * lib/euidaccess.c: Likewise.
61382         * lib/exclude.c: Likewise.
61383         * lib/exclude.h: Likewise.
61384         * lib/execute.c: Likewise.
61385         * lib/execute.h: Likewise.
61386         * lib/exitfail.c: Likewise.
61387         * lib/exitfail.h: Likewise.
61388         * lib/expl.c: Likewise.
61389         * lib/fatal-signal.c: Likewise.
61390         * lib/fatal-signal.h: Likewise.
61391         * lib/fbufmode.c: Likewise.
61392         * lib/fbufmode.h: Likewise.
61393         * lib/fchdir.c: Likewise.
61394         * lib/fchmodat.c: Likewise.
61395         * lib/fchownat.c: Likewise.
61396         * lib/fcntl--.h: Likewise.
61397         * lib/fcntl-safer.h: Likewise.
61398         * lib/fcntl.in.h: Likewise.
61399         * lib/fd-safer.c: Likewise.
61400         * lib/fflush.c: Likewise.
61401         * lib/file-has-acl.c: Likewise.
61402         * lib/file-set.c: Likewise.
61403         * lib/file-type.c: Likewise.
61404         * lib/file-type.h: Likewise.
61405         * lib/fileblocks.c: Likewise.
61406         * lib/filemode.c: Likewise.
61407         * lib/filemode.h: Likewise.
61408         * lib/filename.h: Likewise.
61409         * lib/filenamecat.c: Likewise.
61410         * lib/filenamecat.h: Likewise.
61411         * lib/findprog.c: Likewise.
61412         * lib/findprog.h: Likewise.
61413         * lib/float.in.h: Likewise.
61414         * lib/floor.c: Likewise.
61415         * lib/floorf.c: Likewise.
61416         * lib/floorl.c: Likewise.
61417         * lib/fopen-safer.c: Likewise.
61418         * lib/fopen.c: Likewise.
61419         * lib/fpending.c: Likewise.
61420         * lib/fpending.h: Likewise.
61421         * lib/fprintf.c: Likewise.
61422         * lib/fprintftime.h: Likewise.
61423         * lib/fpucw.h: Likewise.
61424         * lib/fpurge.c: Likewise.
61425         * lib/fpurge.h: Likewise.
61426         * lib/freadable.c: Likewise.
61427         * lib/freadable.h: Likewise.
61428         * lib/freadahead.c: Likewise.
61429         * lib/freadahead.h: Likewise.
61430         * lib/freading.c: Likewise.
61431         * lib/freading.h: Likewise.
61432         * lib/free.c: Likewise.
61433         * lib/freopen.c: Likewise.
61434         * lib/frexp.c: Likewise.
61435         * lib/frexpl.c: Likewise.
61436         * lib/fseek.c: Likewise.
61437         * lib/fseterr.c: Likewise.
61438         * lib/fseterr.h: Likewise.
61439         * lib/fstatat.c: Likewise.
61440         * lib/fstrcmp.c: Likewise.
61441         * lib/fstrcmp.h: Likewise.
61442         * lib/fsusage.c: Likewise.
61443         * lib/fsusage.h: Likewise.
61444         * lib/ftell.c: Likewise.
61445         * lib/ftello.c: Likewise.
61446         * lib/fts-cycle.c: Likewise.
61447         * lib/fts.c: Likewise.
61448         * lib/fts_.h: Likewise.
61449         * lib/full-read.c: Likewise.
61450         * lib/full-read.h: Likewise.
61451         * lib/full-write.c: Likewise.
61452         * lib/full-write.h: Likewise.
61453         * lib/fwritable.c: Likewise.
61454         * lib/fwritable.h: Likewise.
61455         * lib/fwriteerror.c: Likewise.
61456         * lib/fwriteerror.h: Likewise.
61457         * lib/fwriting.c: Likewise.
61458         * lib/fwriting.h: Likewise.
61459         * lib/gcd.c: Likewise.
61460         * lib/gcd.h: Likewise.
61461         * lib/getcwd.c: Likewise.
61462         * lib/getdate.h: Likewise.
61463         * lib/getdate.y: Likewise.
61464         * lib/getdomainname.c: Likewise.
61465         * lib/getdomainname.h: Likewise.
61466         * lib/getgroups.c: Likewise.
61467         * lib/gethostname.c: Likewise.
61468         * lib/gethrxtime.c: Likewise.
61469         * lib/gethrxtime.h: Likewise.
61470         * lib/getloadavg.c: Likewise.
61471         * lib/getndelim2.c: Likewise.
61472         * lib/getndelim2.h: Likewise.
61473         * lib/getnline.c: Likewise.
61474         * lib/getnline.h: Likewise.
61475         * lib/getopt.c: Likewise.
61476         * lib/getopt.in.h: Likewise.
61477         * lib/getopt1.c: Likewise.
61478         * lib/getopt_int.h: Likewise.
61479         * lib/getpagesize.h: Likewise.
61480         * lib/getsubopt.c: Likewise.
61481         * lib/gettime.c: Likewise.
61482         * lib/getugroups.c: Likewise.
61483         * lib/getugroups.h: Likewise.
61484         * lib/getusershell.c: Likewise.
61485         * lib/gl_anyavltree_list1.h: Likewise.
61486         * lib/gl_anyavltree_list2.h: Likewise.
61487         * lib/gl_anyhash_list1.h: Likewise.
61488         * lib/gl_anyhash_list2.h: Likewise.
61489         * lib/gl_anylinked_list1.h: Likewise.
61490         * lib/gl_anylinked_list2.h: Likewise.
61491         * lib/gl_anyrbtree_list1.h: Likewise.
61492         * lib/gl_anyrbtree_list2.h: Likewise.
61493         * lib/gl_anytree_list1.h: Likewise.
61494         * lib/gl_anytree_list2.h: Likewise.
61495         * lib/gl_anytree_oset.h: Likewise.
61496         * lib/gl_anytreehash_list1.h: Likewise.
61497         * lib/gl_anytreehash_list2.h: Likewise.
61498         * lib/gl_array_list.c: Likewise.
61499         * lib/gl_array_list.h: Likewise.
61500         * lib/gl_array_oset.c: Likewise.
61501         * lib/gl_array_oset.h: Likewise.
61502         * lib/gl_avltree_list.c: Likewise.
61503         * lib/gl_avltree_list.h: Likewise.
61504         * lib/gl_avltree_oset.c: Likewise.
61505         * lib/gl_avltree_oset.h: Likewise.
61506         * lib/gl_avltreehash_list.c: Likewise.
61507         * lib/gl_avltreehash_list.h: Likewise.
61508         * lib/gl_carray_list.c: Likewise.
61509         * lib/gl_carray_list.h: Likewise.
61510         * lib/gl_linked_list.c: Likewise.
61511         * lib/gl_linked_list.h: Likewise.
61512         * lib/gl_linkedhash_list.c: Likewise.
61513         * lib/gl_linkedhash_list.h: Likewise.
61514         * lib/gl_list.c: Likewise.
61515         * lib/gl_list.h: Likewise.
61516         * lib/gl_oset.c: Likewise.
61517         * lib/gl_oset.h: Likewise.
61518         * lib/gl_rbtree_list.c: Likewise.
61519         * lib/gl_rbtree_list.h: Likewise.
61520         * lib/gl_rbtree_oset.c: Likewise.
61521         * lib/gl_rbtree_oset.h: Likewise.
61522         * lib/gl_rbtreehash_list.c: Likewise.
61523         * lib/gl_rbtreehash_list.h: Likewise.
61524         * lib/gl_sublist.c: Likewise.
61525         * lib/gl_sublist.h: Likewise.
61526         * lib/group-member.c: Likewise.
61527         * lib/group-member.h: Likewise.
61528         * lib/hard-locale.c: Likewise.
61529         * lib/hard-locale.h: Likewise.
61530         * lib/hash-pjw.c: Likewise.
61531         * lib/hash-pjw.h: Likewise.
61532         * lib/hash-triple.c: Likewise.
61533         * lib/hash.c: Likewise.
61534         * lib/hash.h: Likewise.
61535         * lib/human.c: Likewise.
61536         * lib/human.h: Likewise.
61537         * lib/i-ring.c: Likewise.
61538         * lib/i-ring.h: Likewise.
61539         * lib/idcache.c: Likewise.
61540         * lib/imaxabs.c: Likewise.
61541         * lib/imaxdiv.c: Likewise.
61542         * lib/inet_pton.c: Likewise.
61543         * lib/inet_pton.h: Likewise.
61544         * lib/intprops.h: Likewise.
61545         * lib/inttostr.c: Likewise.
61546         * lib/inttostr.h: Likewise.
61547         * lib/inttypes.in.h: Likewise.
61548         * lib/isapipe.c: Likewise.
61549         * lib/isdir.c: Likewise.
61550         * lib/isnan.c: Likewise.
61551         * lib/isnan.h: Likewise.
61552         * lib/isnanf.c: Likewise.
61553         * lib/isnanf.h: Likewise.
61554         * lib/isnanl-nolibm.h: Likewise.
61555         * lib/isnanl.c: Likewise.
61556         * lib/isnanl.h: Likewise.
61557         * lib/javacomp.c: Likewise.
61558         * lib/javacomp.h: Likewise.
61559         * lib/javaexec.c: Likewise.
61560         * lib/javaexec.h: Likewise.
61561         * lib/javaversion.c: Likewise.
61562         * lib/javaversion.h: Likewise.
61563         * lib/javaversion.java: Likewise.
61564         * lib/lbrkprop.h: Likewise.
61565         * lib/lchmod.h: Likewise.
61566         * lib/lchown.c: Likewise.
61567         * lib/ldexpl.c: Likewise.
61568         * lib/linebreak.c: Likewise.
61569         * lib/linebreak.h: Likewise.
61570         * lib/linebuffer.c: Likewise.
61571         * lib/linebuffer.h: Likewise.
61572         * lib/locale.in.h: Likewise.
61573         * lib/logl.c: Likewise.
61574         * lib/long-options.c: Likewise.
61575         * lib/long-options.h: Likewise.
61576         * lib/lstat.c: Likewise.
61577         * lib/lstat.h: Likewise.
61578         * lib/math.in.h: Likewise.
61579         * lib/mbchar.c: Likewise.
61580         * lib/mbchar.h: Likewise.
61581         * lib/mbfile.h: Likewise.
61582         * lib/mbiter.h: Likewise.
61583         * lib/mbscasecmp.c: Likewise.
61584         * lib/mbscasestr.c: Likewise.
61585         * lib/mbschr.c: Likewise.
61586         * lib/mbscspn.c: Likewise.
61587         * lib/mbslen.c: Likewise.
61588         * lib/mbsncasecmp.c: Likewise.
61589         * lib/mbsnlen.c: Likewise.
61590         * lib/mbspbrk.c: Likewise.
61591         * lib/mbspcasecmp.c: Likewise.
61592         * lib/mbsrchr.c: Likewise.
61593         * lib/mbssep.c: Likewise.
61594         * lib/mbsspn.c: Likewise.
61595         * lib/mbsstr.c: Likewise.
61596         * lib/mbstok_r.c: Likewise.
61597         * lib/mbswidth.c: Likewise.
61598         * lib/mbswidth.h: Likewise.
61599         * lib/mbuiter.h: Likewise.
61600         * lib/memcasecmp.c: Likewise.
61601         * lib/memcasecmp.h: Likewise.
61602         * lib/memchr.c: Likewise.
61603         * lib/memcmp.c: Likewise.
61604         * lib/memcoll.c: Likewise.
61605         * lib/memcoll.h: Likewise.
61606         * lib/memcpy.c: Likewise.
61607         * lib/memrchr.c: Likewise.
61608         * lib/mkancesdirs.c: Likewise.
61609         * lib/mkdir-p.c: Likewise.
61610         * lib/mkdir-p.h: Likewise.
61611         * lib/mkdir.c: Likewise.
61612         * lib/mkdirat.c: Likewise.
61613         * lib/mkdtemp.c: Likewise.
61614         * lib/mkstemp-safer.c: Likewise.
61615         * lib/mkstemp.c: Likewise.
61616         * lib/modechange.c: Likewise.
61617         * lib/modechange.h: Likewise.
61618         * lib/mountlist.c: Likewise.
61619         * lib/mountlist.h: Likewise.
61620         * lib/mpsort.c: Likewise.
61621         * lib/nanosleep.c: Likewise.
61622         * lib/obstack.c: Likewise.
61623         * lib/obstack.h: Likewise.
61624         * lib/open-safer.c: Likewise.
61625         * lib/open.c: Likewise.
61626         * lib/openat-die.c: Likewise.
61627         * lib/openat-priv.h: Likewise.
61628         * lib/openat-proc.c: Likewise.
61629         * lib/openat.c: Likewise.
61630         * lib/openat.h: Likewise.
61631         * lib/pagealign_alloc.c: Likewise.
61632         * lib/pagealign_alloc.h: Likewise.
61633         * lib/physmem.c: Likewise.
61634         * lib/physmem.h: Likewise.
61635         * lib/pipe-safer.c: Likewise.
61636         * lib/pipe.c: Likewise.
61637         * lib/pipe.h: Likewise.
61638         * lib/posixtm.c: Likewise.
61639         * lib/posixtm.h: Likewise.
61640         * lib/posixver.c: Likewise.
61641         * lib/printf-frexp.c: Likewise.
61642         * lib/printf-frexp.h: Likewise.
61643         * lib/printf-frexpl.c: Likewise.
61644         * lib/printf-frexpl.h: Likewise.
61645         * lib/printf.c: Likewise.
61646         * lib/progname.c: Likewise.
61647         * lib/progname.h: Likewise.
61648         * lib/progreloc.c: Likewise.
61649         * lib/putenv.c: Likewise.
61650         * lib/quote.c: Likewise.
61651         * lib/quote.h: Likewise.
61652         * lib/quotearg.c: Likewise.
61653         * lib/quotearg.h: Likewise.
61654         * lib/raise.c: Likewise.
61655         * lib/readline.c: Likewise.
61656         * lib/readline.h: Likewise.
61657         * lib/readlink.c: Likewise.
61658         * lib/readtokens.c: Likewise.
61659         * lib/readtokens.h: Likewise.
61660         * lib/readtokens0.c: Likewise.
61661         * lib/readtokens0.h: Likewise.
61662         * lib/readutmp.c: Likewise.
61663         * lib/readutmp.h: Likewise.
61664         * lib/realloc.c: Likewise.
61665         * lib/relocwrapper.c: Likewise.
61666         * lib/rename-dest-slash.c: Likewise.
61667         * lib/rename.c: Likewise.
61668         * lib/rmdir.c: Likewise.
61669         * lib/rpmatch.c: Likewise.
61670         * lib/safe-read.c: Likewise.
61671         * lib/safe-read.h: Likewise.
61672         * lib/safe-write.c: Likewise.
61673         * lib/safe-write.h: Likewise.
61674         * lib/same-inode.h: Likewise.
61675         * lib/same.c: Likewise.
61676         * lib/same.h: Likewise.
61677         * lib/save-cwd.c: Likewise.
61678         * lib/save-cwd.h: Likewise.
61679         * lib/savedir.c: Likewise.
61680         * lib/savedir.h: Likewise.
61681         * lib/savewd.c: Likewise.
61682         * lib/savewd.h: Likewise.
61683         * lib/search.in.h: Likewise.
61684         * lib/setenv.c: Likewise.
61685         * lib/setenv.h: Likewise.
61686         * lib/settime.c: Likewise.
61687         * lib/sh-quote.c: Likewise.
61688         * lib/sh-quote.h: Likewise.
61689         * lib/sig2str.c: Likewise.
61690         * lib/sig2str.h: Likewise.
61691         * lib/signal.in.h: Likewise.
61692         * lib/signbitd.c: Likewise.
61693         * lib/signbitf.c: Likewise.
61694         * lib/signbitl.c: Likewise.
61695         * lib/sigprocmask.c: Likewise.
61696         * lib/sincosl.c: Likewise.
61697         * lib/sleep.c: Likewise.
61698         * lib/sprintf.c: Likewise.
61699         * lib/sqrtl.c: Likewise.
61700         * lib/stat-time.h: Likewise.
61701         * lib/stdio--.h: Likewise.
61702         * lib/stdio-safer.h: Likewise.
61703         * lib/stdlib--.h: Likewise.
61704         * lib/stdlib-safer.h: Likewise.
61705         * lib/stdlib.in.h: Likewise.
61706         * lib/stpcpy.c: Likewise.
61707         * lib/stpncpy.c: Likewise.
61708         * lib/strchrnul.c: Likewise.
61709         * lib/strcspn.c: Likewise.
61710         * lib/strerror.c: Likewise.
61711         * lib/strftime.c: Likewise.
61712         * lib/strftime.h: Likewise.
61713         * lib/striconveh.c: Likewise.
61714         * lib/striconveh.h: Likewise.
61715         * lib/striconveha.c: Likewise.
61716         * lib/striconveha.h: Likewise.
61717         * lib/stripslash.c: Likewise.
61718         * lib/strnlen1.c: Likewise.
61719         * lib/strnlen1.h: Likewise.
61720         * lib/strtod.c: Likewise.
61721         * lib/strtoimax.c: Likewise.
61722         * lib/strtok_r.c: Likewise.
61723         * lib/strtol.c: Likewise.
61724         * lib/strtoll.c: Likewise.
61725         * lib/strtoul.c: Likewise.
61726         * lib/strtoull.c: Likewise.
61727         * lib/sysexits.in.h: Likewise.
61728         * lib/tempname.c: Likewise.
61729         * lib/tempname.h: Likewise.
61730         * lib/timespec.h: Likewise.
61731         * lib/tls.c: Likewise.
61732         * lib/tls.h: Likewise.
61733         * lib/tmpdir.c: Likewise.
61734         * lib/tmpdir.h: Likewise.
61735         * lib/tmpfile-safer.c: Likewise.
61736         * lib/tmpfile.c: Likewise.
61737         * lib/trigl.c: Likewise.
61738         * lib/trigl.h: Likewise.
61739         * lib/trim.c: Likewise.
61740         * lib/trim.h: Likewise.
61741         * lib/trunc.c: Likewise.
61742         * lib/truncf.c: Likewise.
61743         * lib/truncl.c: Likewise.
61744         * lib/tsearch.c: Likewise.
61745         * lib/unicodeio.c: Likewise.
61746         * lib/unicodeio.h: Likewise.
61747         * lib/unistd--.h: Likewise.
61748         * lib/unistd-safer.h: Likewise.
61749         * lib/unistdio/ulc-fprintf.c: Likewise.
61750         * lib/unistdio/ulc-vfprintf.c: Likewise.
61751         * lib/unlinkdir.c: Likewise.
61752         * lib/unlinkdir.h: Likewise.
61753         * lib/unlocked-io.h: Likewise.
61754         * lib/unsetenv.c: Likewise.
61755         * lib/userspec.c: Likewise.
61756         * lib/utime.c: Likewise.
61757         * lib/utimecmp.c: Likewise.
61758         * lib/utimecmp.h: Likewise.
61759         * lib/utimens.c: Likewise.
61760         * lib/verify.h: Likewise.
61761         * lib/verror.c: Likewise.
61762         * lib/verror.h: Likewise.
61763         * lib/version-etc-fsf.c: Likewise.
61764         * lib/version-etc.c: Likewise.
61765         * lib/version-etc.h: Likewise.
61766         * lib/vfprintf.c: Likewise.
61767         * lib/vprintf.c: Likewise.
61768         * lib/vsprintf.c: Likewise.
61769         * lib/w32spawn.h: Likewise.
61770         * lib/wait-process.c: Likewise.
61771         * lib/wait-process.h: Likewise.
61772         * lib/wcwidth.c: Likewise.
61773         * lib/write-any-file.c: Likewise.
61774         * lib/xalloc-die.c: Likewise.
61775         * lib/xalloc.h: Likewise.
61776         * lib/xasprintf.c: Likewise.
61777         * lib/xgetcwd.c: Likewise.
61778         * lib/xgetcwd.h: Likewise.
61779         * lib/xgetdomainname.c: Likewise.
61780         * lib/xgetdomainname.h: Likewise.
61781         * lib/xgethostname.c: Likewise.
61782         * lib/xmalloc.c: Likewise.
61783         * lib/xmalloca.c: Likewise.
61784         * lib/xmalloca.h: Likewise.
61785         * lib/xmemcoll.c: Likewise.
61786         * lib/xnanosleep.c: Likewise.
61787         * lib/xreadlink.c: Likewise.
61788         * lib/xreadlink.h: Likewise.
61789         * lib/xsetenv.c: Likewise.
61790         * lib/xsetenv.h: Likewise.
61791         * lib/xstriconv.c: Likewise.
61792         * lib/xstriconv.h: Likewise.
61793         * lib/xstrndup.c: Likewise.
61794         * lib/xstrndup.h: Likewise.
61795         * lib/xstrtod.c: Likewise.
61796         * lib/xstrtod.h: Likewise.
61797         * lib/xstrtol-error.c: Likewise.
61798         * lib/xstrtol.c: Likewise.
61799         * lib/xstrtol.h: Likewise.
61800         * lib/xtime.h: Likewise.
61801         * lib/xvasprintf.c: Likewise.
61802         * lib/xvasprintf.h: Likewise.
61803         * lib/yesno.c: Likewise.
61804         * lib/yesno.h: Likewise.
61805         * posix-modules: Likewise.
61806         * tests/test-alloca-opt.c: Likewise.
61807         * tests/test-arcfour.c: Likewise.
61808         * tests/test-arctwo.c: Likewise.
61809         * tests/test-argmatch.c: Likewise.
61810         * tests/test-argp-2.sh: Likewise.
61811         * tests/test-argp.c: Likewise.
61812         * tests/test-arpa_inet.c: Likewise.
61813         * tests/test-array_list.c: Likewise.
61814         * tests/test-array_oset.c: Likewise.
61815         * tests/test-atexit.c: Likewise.
61816         * tests/test-avltree_list.c: Likewise.
61817         * tests/test-avltree_oset.c: Likewise.
61818         * tests/test-avltreehash_list.c: Likewise.
61819         * tests/test-base64.c: Likewise.
61820         * tests/test-binary-io.c: Likewise.
61821         * tests/test-byteswap.c: Likewise.
61822         * tests/test-c-ctype.c: Likewise.
61823         * tests/test-c-strcasecmp.c: Likewise.
61824         * tests/test-c-strcasestr.c: Likewise.
61825         * tests/test-c-strncasecmp.c: Likewise.
61826         * tests/test-c-strstr.c: Likewise.
61827         * tests/test-canonicalize-lgpl.c: Likewise.
61828         * tests/test-canonicalize.c: Likewise.
61829         * tests/test-carray_list.c: Likewise.
61830         * tests/test-ceilf.c: Likewise.
61831         * tests/test-ceill.c: Likewise.
61832         * tests/test-count-one-bits.c: Likewise.
61833         * tests/test-crc.c: Likewise.
61834         * tests/test-dirname.c: Likewise.
61835         * tests/test-fbufmode.c: Likewise.
61836         * tests/test-fcntl.c: Likewise.
61837         * tests/test-fflush.c: Likewise.
61838         * tests/test-floorf.c: Likewise.
61839         * tests/test-floorl.c: Likewise.
61840         * tests/test-fopen.c: Likewise.
61841         * tests/test-fprintf-posix.c: Likewise.
61842         * tests/test-fprintf-posix.h: Likewise.
61843         * tests/test-fpurge.c: Likewise.
61844         * tests/test-freadable.c: Likewise.
61845         * tests/test-freadahead.c: Likewise.
61846         * tests/test-freading.c: Likewise.
61847         * tests/test-freopen.c: Likewise.
61848         * tests/test-frexp.c: Likewise.
61849         * tests/test-frexpl.c: Likewise.
61850         * tests/test-fseek.c: Likewise.
61851         * tests/test-fseeko.c: Likewise.
61852         * tests/test-fseterr.c: Likewise.
61853         * tests/test-fstrcmp.c: Likewise.
61854         * tests/test-ftell.c: Likewise.
61855         * tests/test-ftello.c: Likewise.
61856         * tests/test-fwritable.c: Likewise.
61857         * tests/test-fwriting.c: Likewise.
61858         * tests/test-getaddrinfo.c: Likewise.
61859         * tests/test-getpass.c: Likewise.
61860         * tests/test-gettimeofday.c: Likewise.
61861         * tests/test-hmac-md5.c: Likewise.
61862         * tests/test-hmac-sha1.c: Likewise.
61863         * tests/test-iconv.c: Likewise.
61864         * tests/test-iconvme.c: Likewise.
61865         * tests/test-inttypes.c: Likewise.
61866         * tests/test-isnan.c: Likewise.
61867         * tests/test-isnanf.c: Likewise.
61868         * tests/test-isnanl-nolibm.c: Likewise.
61869         * tests/test-isnanl.c: Likewise.
61870         * tests/test-isnanl.h: Likewise.
61871         * tests/test-ldexpl.c: Likewise.
61872         * tests/test-linked_list.c: Likewise.
61873         * tests/test-linkedhash_list.c: Likewise.
61874         * tests/test-locale.c: Likewise.
61875         * tests/test-localename.c: Likewise.
61876         * tests/test-lock.c: Likewise.
61877         * tests/test-lseek.c: Likewise.
61878         * tests/test-malloca.c: Likewise.
61879         * tests/test-math.c: Likewise.
61880         * tests/test-mbscasecmp.c: Likewise.
61881         * tests/test-mbscasestr1.c: Likewise.
61882         * tests/test-mbscasestr2.c: Likewise.
61883         * tests/test-mbscasestr3.c: Likewise.
61884         * tests/test-mbscasestr4.c: Likewise.
61885         * tests/test-mbschr.c: Likewise.
61886         * tests/test-mbscspn.c: Likewise.
61887         * tests/test-mbsncasecmp.c: Likewise.
61888         * tests/test-mbspbrk.c: Likewise.
61889         * tests/test-mbspcasecmp.c: Likewise.
61890         * tests/test-mbsrchr.c: Likewise.
61891         * tests/test-mbsspn.c: Likewise.
61892         * tests/test-mbsstr1.c: Likewise.
61893         * tests/test-mbsstr2.c: Likewise.
61894         * tests/test-mbsstr3.c: Likewise.
61895         * tests/test-md5.c: Likewise.
61896         * tests/test-memmem.c: Likewise.
61897         * tests/test-netinet_in.c: Likewise.
61898         * tests/test-open.c: Likewise.
61899         * tests/test-printf-frexp.c: Likewise.
61900         * tests/test-printf-frexpl.c: Likewise.
61901         * tests/test-printf-posix.c: Likewise.
61902         * tests/test-printf-posix.h: Likewise.
61903         * tests/test-rbtree_list.c: Likewise.
61904         * tests/test-rbtree_oset.c: Likewise.
61905         * tests/test-rbtreehash_list.c: Likewise.
61906         * tests/test-read-file.c: Likewise.
61907         * tests/test-rijndael.c: Likewise.
61908         * tests/test-search.c: Likewise.
61909         * tests/test-signbit.c: Likewise.
61910         * tests/test-sleep.c: Likewise.
61911         * tests/test-snprintf-posix.c: Likewise.
61912         * tests/test-snprintf-posix.h: Likewise.
61913         * tests/test-snprintf.c: Likewise.
61914         * tests/test-sprintf-posix.c: Likewise.
61915         * tests/test-sprintf-posix.h: Likewise.
61916         * tests/test-stat-time.c: Likewise.
61917         * tests/test-stdbool.c: Likewise.
61918         * tests/test-stdint.c: Likewise.
61919         * tests/test-stdio.c: Likewise.
61920         * tests/test-stdlib.c: Likewise.
61921         * tests/test-stpncpy.c: Likewise.
61922         * tests/test-strcasestr.c: Likewise.
61923         * tests/test-striconv.c: Likewise.
61924         * tests/test-striconveh.c: Likewise.
61925         * tests/test-striconveha.c: Likewise.
61926         * tests/test-string.c: Likewise.
61927         * tests/test-sys_select.c: Likewise.
61928         * tests/test-sys_socket.c: Likewise.
61929         * tests/test-sys_stat.c: Likewise.
61930         * tests/test-sys_time.c: Likewise.
61931         * tests/test-sysexits.c: Likewise.
61932         * tests/test-time.c: Likewise.
61933         * tests/test-tls.c: Likewise.
61934         * tests/test-trunc.c: Likewise.
61935         * tests/test-truncf.c: Likewise.
61936         * tests/test-truncl.c: Likewise.
61937         * tests/test-unistd.c: Likewise.
61938         * tests/test-vasnprintf-posix.c: Likewise.
61939         * tests/test-vasnprintf-posix2.c: Likewise.
61940         * tests/test-vasnprintf.c: Likewise.
61941         * tests/test-vasprintf-posix.c: Likewise.
61942         * tests/test-vasprintf.c: Likewise.
61943         * tests/test-verify.c: Likewise.
61944         * tests/test-vfprintf-posix.c: Likewise.
61945         * tests/test-vprintf-posix.c: Likewise.
61946         * tests/test-vsnprintf-posix.c: Likewise.
61947         * tests/test-vsnprintf.c: Likewise.
61948         * tests/test-vsprintf-posix.c: Likewise.
61949         * tests/test-wchar.c: Likewise.
61950         * tests/test-wctype.c: Likewise.
61951         * tests/test-wcwidth.c: Likewise.
61952         * tests/test-xstrtol.c: Likewise.
61953         * tests/test-xvasprintf.c: Likewise.
61954         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
61955         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
61956         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61957         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61958         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61959         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
61960         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61961         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61962         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61963         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
61964         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61965         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61966         * tests/uniname/test-uninames.c: Likewise.
61967         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
61968         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
61969         * tests/unistdio/test-u16-printf1.h: Likewise.
61970         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
61971         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
61972         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
61973         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
61974         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
61975         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
61976         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
61977         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
61978         * tests/unistdio/test-u32-printf1.h: Likewise.
61979         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
61980         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
61981         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
61982         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
61983         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
61984         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
61985         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
61986         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
61987         * tests/unistdio/test-u8-printf1.h: Likewise.
61988         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
61989         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
61990         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
61991         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
61992         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
61993         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
61994         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
61995         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
61996         * tests/unistdio/test-ulc-printf1.h: Likewise.
61997         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
61998         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
61999         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
62000         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
62001         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
62002         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
62003         * tests/uniwidth/test-u16-strwidth.c: Likewise.
62004         * tests/uniwidth/test-u16-width.c: Likewise.
62005         * tests/uniwidth/test-u32-strwidth.c: Likewise.
62006         * tests/uniwidth/test-u32-width.c: Likewise.
62007         * tests/uniwidth/test-u8-strwidth.c: Likewise.
62008         * tests/uniwidth/test-u8-width.c: Likewise.
62009         * tests/uniwidth/test-uc_width.c: Likewise.
62010         * config/srclist-update: Likewise.
62011         (fixlicense): Update to GPLv3+.
62012
62013         Change copyright notice from LGPLv2.1+ to LGPLv3+.
62014         * tests/test-tsearch.c: Change copyright notice.
62015
62016         Change copyright notice from LGPLv2.0+ to LGPLv3+.
62017         * lib/c-strcaseeq.h: Change copyright notice.
62018         * lib/streq.h: Likewise.
62019         * lib/uniconv.h: Likewise.
62020         * lib/uniconv/u-conv-from-enc.h: Likewise.
62021         * lib/uniconv/u-conv-to-enc.h: Likewise.
62022         * lib/uniconv/u-strconv-from-enc.h: Likewise.
62023         * lib/uniconv/u-strconv-to-enc.h: Likewise.
62024         * lib/uniconv/u16-conv-from-enc.c: Likewise.
62025         * lib/uniconv/u16-conv-to-enc.c: Likewise.
62026         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
62027         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
62028         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
62029         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
62030         * lib/uniconv/u32-conv-from-enc.c: Likewise.
62031         * lib/uniconv/u32-conv-to-enc.c: Likewise.
62032         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
62033         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
62034         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
62035         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
62036         * lib/uniconv/u8-conv-from-enc.c: Likewise.
62037         * lib/uniconv/u8-conv-to-enc.c: Likewise.
62038         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
62039         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
62040         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
62041         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
62042         * lib/uniname.h: Likewise.
62043         * lib/uniname/uniname.c: Likewise.
62044         * lib/unistdio.h: Likewise.
62045         * lib/unistdio/u-asnprintf.h: Likewise.
62046         * lib/unistdio/u-asprintf.h: Likewise.
62047         * lib/unistdio/u-printf-args.c: Likewise.
62048         * lib/unistdio/u-printf-args.h: Likewise.
62049         * lib/unistdio/u-printf-parse.h: Likewise.
62050         * lib/unistdio/u-snprintf.h: Likewise.
62051         * lib/unistdio/u-sprintf.h: Likewise.
62052         * lib/unistdio/u-vasprintf.h: Likewise.
62053         * lib/unistdio/u-vsnprintf.h: Likewise.
62054         * lib/unistdio/u-vsprintf.h: Likewise.
62055         * lib/unistdio/u16-asnprintf.c: Likewise.
62056         * lib/unistdio/u16-asprintf.c: Likewise.
62057         * lib/unistdio/u16-printf-parse.c: Likewise.
62058         * lib/unistdio/u16-snprintf.c: Likewise.
62059         * lib/unistdio/u16-sprintf.c: Likewise.
62060         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
62061         * lib/unistdio/u16-u16-asprintf.c: Likewise.
62062         * lib/unistdio/u16-u16-snprintf.c: Likewise.
62063         * lib/unistdio/u16-u16-sprintf.c: Likewise.
62064         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
62065         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
62066         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
62067         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
62068         * lib/unistdio/u16-vasnprintf.c: Likewise.
62069         * lib/unistdio/u16-vasprintf.c: Likewise.
62070         * lib/unistdio/u16-vsnprintf.c: Likewise.
62071         * lib/unistdio/u16-vsprintf.c: Likewise.
62072         * lib/unistdio/u32-asnprintf.c: Likewise.
62073         * lib/unistdio/u32-asprintf.c: Likewise.
62074         * lib/unistdio/u32-printf-parse.c: Likewise.
62075         * lib/unistdio/u32-snprintf.c: Likewise.
62076         * lib/unistdio/u32-sprintf.c: Likewise.
62077         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
62078         * lib/unistdio/u32-u32-asprintf.c: Likewise.
62079         * lib/unistdio/u32-u32-snprintf.c: Likewise.
62080         * lib/unistdio/u32-u32-sprintf.c: Likewise.
62081         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
62082         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
62083         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
62084         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
62085         * lib/unistdio/u32-vasnprintf.c: Likewise.
62086         * lib/unistdio/u32-vasprintf.c: Likewise.
62087         * lib/unistdio/u32-vsnprintf.c: Likewise.
62088         * lib/unistdio/u32-vsprintf.c: Likewise.
62089         * lib/unistdio/u8-asnprintf.c: Likewise.
62090         * lib/unistdio/u8-asprintf.c: Likewise.
62091         * lib/unistdio/u8-printf-parse.c: Likewise.
62092         * lib/unistdio/u8-snprintf.c: Likewise.
62093         * lib/unistdio/u8-sprintf.c: Likewise.
62094         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
62095         * lib/unistdio/u8-u8-asprintf.c: Likewise.
62096         * lib/unistdio/u8-u8-snprintf.c: Likewise.
62097         * lib/unistdio/u8-u8-sprintf.c: Likewise.
62098         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
62099         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
62100         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
62101         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
62102         * lib/unistdio/u8-vasnprintf.c: Likewise.
62103         * lib/unistdio/u8-vasprintf.c: Likewise.
62104         * lib/unistdio/u8-vsnprintf.c: Likewise.
62105         * lib/unistdio/u8-vsprintf.c: Likewise.
62106         * lib/unistdio/ulc-asnprintf.c: Likewise.
62107         * lib/unistdio/ulc-asprintf.c: Likewise.
62108         * lib/unistdio/ulc-printf-parse.c: Likewise.
62109         * lib/unistdio/ulc-snprintf.c: Likewise.
62110         * lib/unistdio/ulc-sprintf.c: Likewise.
62111         * lib/unistdio/ulc-vasnprintf.c: Likewise.
62112         * lib/unistdio/ulc-vasprintf.c: Likewise.
62113         * lib/unistdio/ulc-vsnprintf.c: Likewise.
62114         * lib/unistdio/ulc-vsprintf.c: Likewise.
62115         * lib/unistr.h: Likewise.
62116         * lib/unistr/u-cpy-alloc.h: Likewise.
62117         * lib/unistr/u-cpy.h: Likewise.
62118         * lib/unistr/u-endswith.h: Likewise.
62119         * lib/unistr/u-move.h: Likewise.
62120         * lib/unistr/u-set.h: Likewise.
62121         * lib/unistr/u-startswith.h: Likewise.
62122         * lib/unistr/u-stpcpy.h: Likewise.
62123         * lib/unistr/u-stpncpy.h: Likewise.
62124         * lib/unistr/u-strcat.h: Likewise.
62125         * lib/unistr/u-strcpy.h: Likewise.
62126         * lib/unistr/u-strcspn.h: Likewise.
62127         * lib/unistr/u-strdup.h: Likewise.
62128         * lib/unistr/u-strlen.h: Likewise.
62129         * lib/unistr/u-strncat.h: Likewise.
62130         * lib/unistr/u-strncpy.h: Likewise.
62131         * lib/unistr/u-strnlen.h: Likewise.
62132         * lib/unistr/u-strpbrk.h: Likewise.
62133         * lib/unistr/u-strspn.h: Likewise.
62134         * lib/unistr/u-strstr.h: Likewise.
62135         * lib/unistr/u-strtok.h: Likewise.
62136         * lib/unistr/u16-check.c: Likewise.
62137         * lib/unistr/u16-chr.c: Likewise.
62138         * lib/unistr/u16-cmp.c: Likewise.
62139         * lib/unistr/u16-cpy-alloc.c: Likewise.
62140         * lib/unistr/u16-cpy.c: Likewise.
62141         * lib/unistr/u16-endswith.c: Likewise.
62142         * lib/unistr/u16-mblen.c: Likewise.
62143         * lib/unistr/u16-mbsnlen.c: Likewise.
62144         * lib/unistr/u16-mbtouc-aux.c: Likewise.
62145         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
62146         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
62147         * lib/unistr/u16-mbtouc.c: Likewise.
62148         * lib/unistr/u16-mbtoucr.c: Likewise.
62149         * lib/unistr/u16-move.c: Likewise.
62150         * lib/unistr/u16-next.c: Likewise.
62151         * lib/unistr/u16-prev.c: Likewise.
62152         * lib/unistr/u16-set.c: Likewise.
62153         * lib/unistr/u16-startswith.c: Likewise.
62154         * lib/unistr/u16-stpcpy.c: Likewise.
62155         * lib/unistr/u16-stpncpy.c: Likewise.
62156         * lib/unistr/u16-strcat.c: Likewise.
62157         * lib/unistr/u16-strchr.c: Likewise.
62158         * lib/unistr/u16-strcmp.c: Likewise.
62159         * lib/unistr/u16-strcpy.c: Likewise.
62160         * lib/unistr/u16-strcspn.c: Likewise.
62161         * lib/unistr/u16-strdup.c: Likewise.
62162         * lib/unistr/u16-strlen.c: Likewise.
62163         * lib/unistr/u16-strmblen.c: Likewise.
62164         * lib/unistr/u16-strmbtouc.c: Likewise.
62165         * lib/unistr/u16-strncat.c: Likewise.
62166         * lib/unistr/u16-strncmp.c: Likewise.
62167         * lib/unistr/u16-strncpy.c: Likewise.
62168         * lib/unistr/u16-strnlen.c: Likewise.
62169         * lib/unistr/u16-strpbrk.c: Likewise.
62170         * lib/unistr/u16-strrchr.c: Likewise.
62171         * lib/unistr/u16-strspn.c: Likewise.
62172         * lib/unistr/u16-strstr.c: Likewise.
62173         * lib/unistr/u16-strtok.c: Likewise.
62174         * lib/unistr/u16-to-u32.c: Likewise.
62175         * lib/unistr/u16-to-u8.c: Likewise.
62176         * lib/unistr/u16-uctomb-aux.c: Likewise.
62177         * lib/unistr/u16-uctomb.c: Likewise.
62178         * lib/unistr/u32-check.c: Likewise.
62179         * lib/unistr/u32-chr.c: Likewise.
62180         * lib/unistr/u32-cmp.c: Likewise.
62181         * lib/unistr/u32-cpy-alloc.c: Likewise.
62182         * lib/unistr/u32-cpy.c: Likewise.
62183         * lib/unistr/u32-endswith.c: Likewise.
62184         * lib/unistr/u32-mblen.c: Likewise.
62185         * lib/unistr/u32-mbsnlen.c: Likewise.
62186         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
62187         * lib/unistr/u32-mbtouc.c: Likewise.
62188         * lib/unistr/u32-mbtoucr.c: Likewise.
62189         * lib/unistr/u32-move.c: Likewise.
62190         * lib/unistr/u32-next.c: Likewise.
62191         * lib/unistr/u32-prev.c: Likewise.
62192         * lib/unistr/u32-set.c: Likewise.
62193         * lib/unistr/u32-startswith.c: Likewise.
62194         * lib/unistr/u32-stpcpy.c: Likewise.
62195         * lib/unistr/u32-stpncpy.c: Likewise.
62196         * lib/unistr/u32-strcat.c: Likewise.
62197         * lib/unistr/u32-strchr.c: Likewise.
62198         * lib/unistr/u32-strcmp.c: Likewise.
62199         * lib/unistr/u32-strcpy.c: Likewise.
62200         * lib/unistr/u32-strcspn.c: Likewise.
62201         * lib/unistr/u32-strdup.c: Likewise.
62202         * lib/unistr/u32-strlen.c: Likewise.
62203         * lib/unistr/u32-strmblen.c: Likewise.
62204         * lib/unistr/u32-strmbtouc.c: Likewise.
62205         * lib/unistr/u32-strncat.c: Likewise.
62206         * lib/unistr/u32-strncmp.c: Likewise.
62207         * lib/unistr/u32-strncpy.c: Likewise.
62208         * lib/unistr/u32-strnlen.c: Likewise.
62209         * lib/unistr/u32-strpbrk.c: Likewise.
62210         * lib/unistr/u32-strrchr.c: Likewise.
62211         * lib/unistr/u32-strspn.c: Likewise.
62212         * lib/unistr/u32-strstr.c: Likewise.
62213         * lib/unistr/u32-strtok.c: Likewise.
62214         * lib/unistr/u32-to-u16.c: Likewise.
62215         * lib/unistr/u32-to-u8.c: Likewise.
62216         * lib/unistr/u32-uctomb.c: Likewise.
62217         * lib/unistr/u8-check.c: Likewise.
62218         * lib/unistr/u8-chr.c: Likewise.
62219         * lib/unistr/u8-cmp.c: Likewise.
62220         * lib/unistr/u8-cpy-alloc.c: Likewise.
62221         * lib/unistr/u8-cpy.c: Likewise.
62222         * lib/unistr/u8-endswith.c: Likewise.
62223         * lib/unistr/u8-mblen.c: Likewise.
62224         * lib/unistr/u8-mbsnlen.c: Likewise.
62225         * lib/unistr/u8-mbtouc-aux.c: Likewise.
62226         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
62227         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
62228         * lib/unistr/u8-mbtouc.c: Likewise.
62229         * lib/unistr/u8-mbtoucr.c: Likewise.
62230         * lib/unistr/u8-move.c: Likewise.
62231         * lib/unistr/u8-next.c: Likewise.
62232         * lib/unistr/u8-prev.c: Likewise.
62233         * lib/unistr/u8-set.c: Likewise.
62234         * lib/unistr/u8-startswith.c: Likewise.
62235         * lib/unistr/u8-stpcpy.c: Likewise.
62236         * lib/unistr/u8-stpncpy.c: Likewise.
62237         * lib/unistr/u8-strcat.c: Likewise.
62238         * lib/unistr/u8-strchr.c: Likewise.
62239         * lib/unistr/u8-strcmp.c: Likewise.
62240         * lib/unistr/u8-strcpy.c: Likewise.
62241         * lib/unistr/u8-strcspn.c: Likewise.
62242         * lib/unistr/u8-strdup.c: Likewise.
62243         * lib/unistr/u8-strlen.c: Likewise.
62244         * lib/unistr/u8-strmblen.c: Likewise.
62245         * lib/unistr/u8-strmbtouc.c: Likewise.
62246         * lib/unistr/u8-strncat.c: Likewise.
62247         * lib/unistr/u8-strncmp.c: Likewise.
62248         * lib/unistr/u8-strncpy.c: Likewise.
62249         * lib/unistr/u8-strnlen.c: Likewise.
62250         * lib/unistr/u8-strpbrk.c: Likewise.
62251         * lib/unistr/u8-strrchr.c: Likewise.
62252         * lib/unistr/u8-strspn.c: Likewise.
62253         * lib/unistr/u8-strstr.c: Likewise.
62254         * lib/unistr/u8-strtok.c: Likewise.
62255         * lib/unistr/u8-to-u16.c: Likewise.
62256         * lib/unistr/u8-to-u32.c: Likewise.
62257         * lib/unistr/u8-uctomb-aux.c: Likewise.
62258         * lib/unistr/u8-uctomb.c: Likewise.
62259         * lib/unitypes.h: Likewise.
62260         * lib/uniwidth.h: Likewise.
62261         * lib/uniwidth/cjk.h: Likewise.
62262         * lib/uniwidth/u16-strwidth.c: Likewise.
62263         * lib/uniwidth/u16-width.c: Likewise.
62264         * lib/uniwidth/u32-strwidth.c: Likewise.
62265         * lib/uniwidth/u32-width.c: Likewise.
62266         * lib/uniwidth/u8-strwidth.c: Likewise.
62267         * lib/uniwidth/u8-width.c: Likewise.
62268         * lib/uniwidth/width.c: Likewise.
62269
62270 2007-10-07  Bruno Haible  <bruno@clisp.org>
62271
62272         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
62273         The file is still under LGPL (see modules/inttypes).
62274
62275 2007-10-06  Bruno Haible  <bruno@clisp.org>
62276
62277         * modules/trunc (Dependencies): Add 'extensions'.
62278         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
62279         Reported by Ben Pfaff <blp@gnu.org>.
62280
62281 2007-10-06  Bruno Haible  <bruno@clisp.org>
62282
62283         * modules/freopen-tests: New file.
62284         * tests/test-freopen.c: New file.
62285
62286         * modules/fopen-tests: New file.
62287         * tests/test-fopen.c: New file.
62288
62289         * modules/fopen: New file.
62290         * lib/fopen.c: New file.
62291         * m4/fopen.m4: New file.
62292         * modules/freopen: New file.
62293         * lib/freopen.c: New file.
62294         * m4/freopen.m4: New file.
62295         * lib/stdio.in.h (fopen, freopen): New declarations.
62296         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
62297         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62298         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
62299         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62300         * doc/functions/fopen.texi: Mention the 'fopen' module.
62301         * doc/functions/freopen.texi: Mention the 'freopen' module.
62302
62303 2007-10-06  Bruno Haible  <bruno@clisp.org>
62304
62305         * modules/open-tests: New file.
62306         * tests/test-open.c: New file.
62307
62308         * modules/open: New file.
62309         * lib/open.c: New file.
62310         * m4/open.m4: New file.
62311         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
62312         lib/open.c does.
62313         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
62314         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
62315         macros.
62316         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
62317         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
62318         REPLACE_OPEN.
62319         * doc/functions/open.texi: Mention the 'open' module.
62320
62321 2007-10-04  Bruno Haible  <bruno@clisp.org>
62322
62323         * modules/ceill-tests: New file.
62324         * tests/test-ceill.c: New file.
62325
62326         * modules/ceill: New file.
62327         * lib/ceill.c: Replace entire file.
62328         * m4/ceill.m4: New file.
62329         * lib/math.in.h (ceill): Replace declaration.
62330         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
62331         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
62332         * doc/functions/ceill.texi: Mention the 'ceill' module.
62333         * modules/mathl (Files): Remove lib/ceill.c.
62334         (Depends-on): Add ceill.
62335
62336 2007-10-04  Bruno Haible  <bruno@clisp.org>
62337
62338         * modules/ceilf-tests: New file.
62339         * tests/test-ceilf.c: New file.
62340
62341         * modules/ceilf: New file.
62342         * lib/ceil.c: New file.
62343         * lib/ceilf.c: New file.
62344         * m4/ceilf.m4: New file.
62345         * lib/math.in.h (ceilf): New declaration.
62346         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
62347         HAVE_DECL_CEILF.
62348         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
62349         HAVE_DECL_CEILF.
62350         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
62351
62352 2007-10-04  Bruno Haible  <bruno@clisp.org>
62353
62354         * modules/floorl-tests: New file.
62355         * tests/test-floorl.c: New file.
62356
62357         * modules/floorl: New file.
62358         * lib/floorl.c: Replace entire file.
62359         * m4/floorl.m4: New file.
62360         * lib/math.in.h (floorl): Replace declaration.
62361         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
62362         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
62363         * doc/functions/floorl.texi: Mention the 'floorl' module.
62364         * modules/mathl (Files): Remove lib/floorl.c.
62365         (Depends-on): Add floorl.
62366
62367 2007-10-04  Bruno Haible  <bruno@clisp.org>
62368
62369         * modules/floorf-tests: New file.
62370         * tests/test-floorf.c: New file.
62371
62372         * modules/floorf: New file.
62373         * lib/floor.c: New file.
62374         * lib/floorf.c: New file.
62375         * m4/floorf.m4: New file.
62376         * lib/math.in.h (floorf): New declaration.
62377         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
62378         HAVE_DECL_FLOORF.
62379         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
62380         HAVE_DECL_FLOORF.
62381         * doc/functions/floorf.texi: Mention the 'floorf' module.
62382
62383 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
62384             Bruno Haible  <bruno@clisp.org>
62385
62386         Advertise for the Git server instead of the CVS server.
62387         * doc/gnulib-intro.texi (Steady Development): Mention the Git
62388         repository instead of the CVS one.
62389         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
62390         about all VCS systems generically.
62391         * doc/gnulib.texi (Introduction): Capitalize `Git'.
62392
62393 2007-10-04  Bruno Haible  <bruno@clisp.org>
62394
62395         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
62396         means.
62397         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
62398
62399 2007-10-04  Bruno Haible  <bruno@clisp.org>
62400
62401         * modules/truncl-tests: New file.
62402         * tests/test-truncl.c: New file.
62403
62404         * modules/truncl: New file.
62405         * lib/truncl.c: New file.
62406         * m4/truncl.m4: New file.
62407         * lib/math.in.h (truncl): New declaration.
62408         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
62409         HAVE_DECL_TRUNCL.
62410         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
62411         HAVE_DECL_TRUNCL.
62412         * doc/functions/truncl.texi: Mention the 'truncl' module.
62413
62414 2007-10-04  Bruno Haible  <bruno@clisp.org>
62415
62416         * modules/truncf-tests: New file.
62417         * tests/test-truncf.c: New file.
62418
62419         * modules/truncf: New file.
62420         * lib/trunc.c: Make paramerizable through USE_* macros.
62421         * lib/truncf.c: New file.
62422         * m4/truncf.m4: New file.
62423         * lib/math.in.h (truncf): New declaration.
62424         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
62425         HAVE_DECL_TRUNCF.
62426         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
62427         HAVE_DECL_TRUNCF.
62428         * doc/functions/truncf.texi: Mention the 'truncf' module.
62429
62430 2007-10-03  Bruno Haible  <bruno@clisp.org>
62431
62432         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
62433         augmentation also for tests modules.
62434         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
62435         * modules/atexit-tests (Makefile.am): Likewise.
62436         * modules/binary-io-tests (Makefile.am): Likewise.
62437         * modules/c-strcase-tests (Makefile.am): Likewise.
62438         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
62439         * modules/canonicalize-tests (Makefile.am): Likewise.
62440         * modules/closein-tests (Makefile.am): Likewise.
62441         * modules/fprintf-posix-tests (Makefile.am): Likewise.
62442         * modules/freadahead-tests (Makefile.am): Likewise.
62443         * modules/fseek-tests (Makefile.am): Likewise.
62444         * modules/fseeko-tests (Makefile.am): Likewise.
62445         * modules/ftell-tests (Makefile.am): Likewise.
62446         * modules/ftello-tests (Makefile.am): Likewise.
62447         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
62448         * modules/isnanl-tests (Makefile.am): Likewise.
62449         * modules/lseek-tests (Makefile.am): Likewise.
62450         * modules/mbscasecmp-tests (Makefile.am): Likewise.
62451         * modules/mbscasestr-tests (Makefile.am): Likewise.
62452         * modules/mbschr-tests (Makefile.am): Likewise.
62453         * modules/mbscspn-tests (Makefile.am): Likewise.
62454         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
62455         * modules/mbspbrk-tests (Makefile.am): Likewise.
62456         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
62457         * modules/mbsrchr-tests (Makefile.am): Likewise.
62458         * modules/mbsspn-tests (Makefile.am): Likewise.
62459         * modules/mbsstr-tests (Makefile.am): Likewise.
62460         * modules/printf-posix-tests (Makefile.am): Likewise.
62461         * modules/snprintf-posix-tests (Makefile.am): Likewise.
62462         * modules/sprintf-posix-tests (Makefile.am): Likewise.
62463         * modules/tsearch-tests (Makefile.am): Likewise.
62464         * modules/uniname/uniname-tests (Makefile.am): Likewise.
62465         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
62466         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
62467         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
62468         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
62469         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
62470         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
62471         * modules/vprintf-posix-tests (Makefile.am): Likewise.
62472         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
62473         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
62474         * modules/xstrtoimax-tests (Makefile.am): Likewise.
62475         * modules/xstrtol-tests (Makefile.am): Likewise.
62476         * modules/xstrtoumax-tests (Makefile.am): Likewise.
62477         * modules/yesno-tests (Makefile.am): Likewise.
62478
62479 2007-10-03  Bruno Haible  <bruno@clisp.org>
62480
62481         * modules/trunc-tests: New file.
62482         * tests/test-trunc.c: New file.
62483
62484         * modules/trunc: New file.
62485         * lib/trunc.c: New file.
62486         * m4/trunc.m4: New file.
62487         * lib/math.in.h (trunc): New declaration.
62488         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
62489         HAVE_DECL_TRUNC.
62490         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
62491         HAVE_DECL_TRUNC.
62492         * doc/functions/trunc.texi: Mention the 'trunc' module.
62493
62494 2007-10-03  Bruno Haible  <bruno@clisp.org>
62495
62496         * tests/test-fpending.c: New file, mostly copied
62497         from coreutils/lib/t-fpending.c.
62498         * modules/fpending-tests: New file.
62499
62500 2007-10-03  Bruno Haible  <bruno@clisp.org>
62501
62502         Port the stdio extensions to QNX (untested).
62503         * lib/fseterr.c (fseterr): Add support for QNX.
62504         * lib/fbufmode.c (fbufmode): Likewise.
62505         * lib/freadable.c (freadable): Likewise.
62506         * lib/fwritable.c (fwritable): Likewise.
62507         * lib/freading.c (freading): Likewise.
62508         * lib/fwriting.c (fwriting): Likewise.
62509         * lib/freadahead.c (freadahed): Likewise.
62510         * lib/fpurge.c (fpurge): Likewise.
62511         * lib/fseeko.c (rpl_fseeko): Likewise.
62512
62513 2007-10-03  Bruno Haible  <bruno@clisp.org>
62514             Jim Meyering  <jim@meyering.net>
62515             Eric Blake  <ebb9@byu.net>
62516
62517         * doc/relocatable.texi: Use @command instead of @program.
62518
62519 2007-10-02  Jim Meyering  <jim@meyering.net>
62520
62521         Perform one more "_.h" -> ".in.h" substitution.
62522         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
62523         instead of unistd_.h here, too.
62524
62525 2007-10-01  Bruno Haible  <bruno@clisp.org>
62526
62527         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
62528         Needed for the alloca-opt module.
62529
62530 2007-09-30  Bruno Haible  <bruno@clisp.org>
62531
62532         * lib/alloca.in.h: Renamed from lib/alloca_.h.
62533         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
62534         alloca_.h.
62535         * lib/argz.in.h: Renamed from lib/argz_.h.
62536         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
62537         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
62538         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
62539         byteswap_.h.
62540         * lib/dirent.in.h: Renamed from lib/dirent_.h.
62541         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
62542         dirent_.h.
62543         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
62544         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
62545         fcntl_.h.
62546         * lib/float.in.h: Renamed from lib/float_.h.
62547         * modules/float (Files, Makefile.am): Use float.in.h instead of
62548         float_.h.
62549         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
62550         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
62551         fnmatch_.h.
62552         * lib/getopt.in.h: Renamed from lib/getopt_.h.
62553         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
62554         getopt_.h.
62555         * lib/glob.in.h: Renamed from lib/glob_.h.
62556         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
62557         * lib/iconv.in.h: Renamed from lib/iconv_.h.
62558         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
62559         iconv_.h.
62560         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
62561         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
62562         inttypes_.h.
62563         * lib/locale.in.h: Renamed from lib/locale_.h.
62564         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
62565         locale_.h.
62566         * lib/math.in.h: Renamed from lib/math_.h.
62567         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
62568         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
62569         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
62570         of netinet_in_.h. Add dependency.
62571         * lib/poll.in.h: Renamed from lib/poll_.h.
62572         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
62573         * lib/search.in.h: Renamed from lib/search_.h.
62574         * modules/search (Files, Makefile.am): Use search.in.h instead of
62575         search_.h.
62576         * lib/signal.in.h: Renamed from lib/signal_.h.
62577         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
62578         _signal.h.
62579         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
62580         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
62581         stdbool_.h.
62582         * lib/stdint.in.h: Renamed from lib/stdint_.h.
62583         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
62584         stdint_.h.
62585         * lib/stdio.in.h: Renamed from lib/stdio_.h.
62586         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
62587         stdio_.h.
62588         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
62589         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
62590         stdlib_.h.
62591         * lib/string.in.h: Renamed from lib/string_.h.
62592         * modules/string (Files, Makefile.am): Use string.in.h instead of
62593         string_.h.
62594         * doc/gnulib-tool.texi (Initial import): Update.
62595         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
62596         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
62597         of sys_select_.h. Add dependency.
62598         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
62599         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
62600         of sys_socket_.h.
62601         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
62602         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
62603         sys_stat_.h.
62604         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
62605         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
62606         sys_time_.h.
62607         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
62608         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
62609         sysexits_.h.
62610         * lib/time.in.h: Renamed from lib/time_.h.
62611         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
62612         * lib/unistd.in.h: Renamed from lib/unistd_.h.
62613         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
62614         unistd_.h.
62615         * lib/wchar.in.h: Renamed from lib/wchar_.h.
62616         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
62617         wchar_.h.
62618         * lib/wctype.in.h: Renamed from lib/wctype_.h.
62619         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
62620         wctype_.h.
62621         * build-aux/bootstrap (slurp): Update.
62622         * lib/.cppi-disable: Update.
62623
62624 2007-09-30  Bruno Haible  <bruno@clisp.org>
62625
62626         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
62627         Needed on BeOS.
62628
62629 2007-09-30  Bruno Haible  <bruno@clisp.org>
62630
62631         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
62632
62633 2007-09-29  Bruno Haible  <bruno@clisp.org>
62634
62635         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
62636
62637 2007-09-29  Bruno Haible  <bruno@clisp.org>
62638
62639         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
62640         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
62641         * build-aux/install-reloc: Compile also areadlink.c.
62642         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
62643
62644 2007-09-29  Bruno Haible  <bruno@clisp.org>
62645
62646         * gnulib-tool (func_emit_initmacro_done): Indentation.
62647
62648 2007-09-29  Bruno Haible  <bruno@clisp.org>
62649
62650         * README: Add CVS checkout update instructions.
62651         Info from Bob Proulx <bob@proulx.com>.
62652
62653 2007-09-28  Eric Blake  <ebb9@byu.net>
62654
62655         Provide move-if-change.
62656         * build-aux/move-if-change: New file, based on best practice
62657         rather than any canonical upstream location.
62658
62659 2007-09-28  Jim Meyering  <jim@meyering.net>
62660
62661         Fix canonicalize loop-detection corner case.
62662         Do not attempt to stat the symlink values stored via seen_triple.
62663         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
62664         on linux-2.6.18, (but not 2.6.22).
62665         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
62666         triple_compare.  The former compares dev,ino,filename, while the latter
62667         would actually stat dirname(filename) when dev and ino were equal.
62668         * lib/hash-triple.c: Install <string.h>.
62669         (STREQ): Define.
62670         (triple_compare_ino_str): New function.
62671         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
62672
62673 2007-09-28  Eric Blake  <ebb9@byu.net>
62674
62675         Enforce that AC_REPLACE_FUNCS files exist.
62676         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
62677         override check for typos.
62678
62679         Fix test-closein on Solaris 10.
62680         * tests/test-closein.c (main): Don't assume stdin can be inherited
62681         closed on all systems.
62682         * tests/test-closein.sh: Likewise.
62683         Reported by Piotr Tarnowski.
62684
62685 2007-09-28  Jim Meyering  <jim@meyering.net>
62686
62687         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
62688
62689 2007-09-27  Jim Meyering  <jim@meyering.net>
62690
62691         canonicalize: Avoid a false-positive cycle failure.
62692         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
62693         Sort.  Remove cycle-check.
62694         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
62695         not cycle-check.h.
62696         (seen_triple): New function.
62697         (canonicalize_filename_mode): Use it instead of cycle-check.
62698         * tests/test-canonicalize.c: Add a test for this bug.
62699         * tests/test-canonicalize.sh: Set up and run the test.
62700
62701         New module, file-set, from coreutils.
62702         * modules/file-set: Define it.
62703         * lib/file-set.c, lib/file-set.h: Implement.
62704
62705         New module, hash-triple, from coreutils.
62706         * modules/hash-triple: Define it.
62707         * lib/hash-triple.c, lib/hash-triple.h: Implement.
62708
62709 2007-09-25  Eric Blake  <ebb9@byu.net>
62710
62711         Fix strerror on Interix.
62712         * lib/string_.h (strerror): Declare replacement.
62713         * doc/functions/strerror.texi (strerror): Document the Interix
62714         shortcoming.
62715         * modules/string (Makefile.am): Support new hooks.
62716         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
62717         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
62718         gl_FUNC_STRERROR_SEPARATE.
62719         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
62720         * lib/strerror.c (rpl_strerror): Provide replacement.
62721         * modules/strerror (Depends-on): Add string.
62722         (configure.ac): Detect use of module.
62723         * tests/test-strerror.c: New file.
62724         * modules/strerror-tests: New test module.
62725         * modules/argp (Depends-on): Add strerror.
62726         * modules/error (Depends-on): Likewise.
62727         Reported by Martin Koeppe.
62728
62729 2007-09-24  Bruno Haible  <bruno@clisp.org>
62730
62731         * README: Update git instructions.
62732
62733 2007-09-24  Eric Blake  <ebb9@byu.net>
62734
62735         Revert fpending breakage from 2007-09-08.
62736         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
62737         __fpending.c.
62738
62739 2007-09-24  Jim Meyering  <jim@meyering.net>
62740
62741         filenamecat.c: Add a test.
62742         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
62743         showing how the function works when DIR is the empty string.
62744
62745 2007-09-21  Simon Josefsson  <simon@josefsson.org>
62746
62747         * tests/test-canonicalize.sh: Turn on executable bit.
62748
62749 2007-09-19  Eric Blake  <ebb9@byu.net>
62750
62751         * README: Update CVS instructions.
62752
62753 2007-09-18  Bruno Haible  <bruno@clisp.org>
62754
62755         * modules/areadlink: New file.
62756         * lib/areadlink.h (areadlink): New declaration.
62757         * lib/areadlink.c: New file, based on lib/xreadlink.c.
62758
62759 2007-09-17  Jim Meyering  <jim@meyering.net>
62760
62761         * lib/savewd.c (ESTALE) [!defined]: Define.
62762         Reported to be required on Interix by Martin Koeppe.
62763
62764 2007-09-17  Bruno Haible  <bruno@clisp.org>
62765
62766         * gnulib-tool (func_version): Use $version.
62767
62768 2007-09-16  Bruno Haible  <bruno@clisp.org>
62769
62770         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
62771         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
62772         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
62773         Reported by Greg Schafer <gschafer@zip.com.au>.
62774
62775 2007-09-15  Bruno Haible  <bruno@clisp.org>
62776
62777         * gnulib-tool (sed): Try a little harder to make bash understand the
62778         alias.
62779         Reported by Bruce Korb <bruce.korb@gmail.com>.
62780
62781 2007-09-13  Eric Blake  <ebb9@byu.net>
62782
62783         * ChangeLog: Remove conflict markers.
62784
62785 2007-09-13  Simon Josefsson  <simon@josefsson.org>
62786
62787         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
62788         Reported by Bruno Haible <bruno@clisp.org>.
62789
62790 2007-09-12  Bruno Haible  <bruno@clisp.org>
62791
62792         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
62793         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
62794         is not defined.
62795
62796 2007-09-12  Eric Blake  <ebb9@byu.net>
62797
62798         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
62799         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
62800         Autoconf definition.
62801         * modules/euidaccess (Depends-on): Add extensions, for
62802         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
62803         * modules/fnmatch (Depends-on): Likewise.
62804         * modules/getaddrinfo (Depends-on): Likewise.
62805         * modules/getdelim (Depends-on): Likewise.
62806         * modules/getline (Depends-on): Likewise.
62807         * modules/getsubopt (Depends-on): Likewise.
62808         * modules/gettext (Depends-on): Likewise.
62809         * modules/group-member (Depends-on): Likewise.
62810         * modules/mbchar (Depends-on): Likewise.
62811         * modules/memmem (Depends-on): Likewise.
62812         * modules/mempcpy (Depends-on): Likewise.
62813         * modules/memrchr (Depends-on): Likewise.
62814         * modules/pagealign_alloc (Depends-on): Likewise.
62815         * modules/readutmp (Depends-on): Likewise.
62816         * modules/stpcpy (Depends-on): Likewise.
62817         * modules/stpncpy (Depends-on): Likewise.
62818         * modules/strchrnul (Depends-on): Likewise.
62819         * modules/strndup (Depends-on): Likewise.
62820         * modules/strsep (Depends-on): Likewise.
62821         * modules/strverscmp (Depends-on): Likewise.
62822         * modules/vasprintf (Depends-on): Likewise.
62823         * modules/wcwidth (Depends-on): Likewise.
62824         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
62825         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
62826         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
62827         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
62828         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62829         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62830         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
62831         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62832         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
62833         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
62834         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
62835         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
62836         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
62837         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
62838         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
62839         * m4/readutmp.m4 (gl_READUTMP): Likewise.
62840         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62841         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
62842         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62843         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
62844         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
62845         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
62846         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
62847         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
62848         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
62849         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62850         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
62851         so that lock.m4 can be used in gettext without extensions module.
62852
62853 2007-09-11  Bruno Haible  <bruno@clisp.org>
62854
62855         * m4/isc-posix.m4: Remove file.
62856         Suggested by Eric Blake.
62857
62858 2007-09-11  Eric Blake  <ebb9@byu.net>
62859
62860         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
62861
62862 2007-09-10  Bruno Haible  <bruno@clisp.org>
62863
62864         * posix-modules: Fix typo in error message.
62865         Reported by Matt <mkraai@beckman.com>.
62866
62867 2007-09-09  Bruno Haible  <bruno@clisp.org>
62868
62869         * doc/functions/getdelim.texi: Update list of platforms lacking the
62870         function.
62871         * doc/functions/getline.texi: Likewise.
62872
62873 2007-09-09  Jim Meyering  <jim@meyering.net>
62874
62875         * lib/hash.c (hash_initialize): Detect calloc failure.
62876         Reported by Bruno Haible.
62877
62878 2007-09-09  Bruno Haible  <bruno@clisp.org>
62879
62880         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
62881         malloc or realloc fails.
62882
62883 2007-09-09  Bruno Haible  <bruno@clisp.org>
62884
62885         * modules/getcwd (Depends-on): Add malloc-posix.
62886         * modules/glob (Depends-on): Likewise.
62887         * modules/putenv (Depends-on): Likewise.
62888         * modules/strdup (Depends-on): Likewise.
62889         * modules/getdelim (Depends-on): Add realloc-posix.
62890         * modules/read-file (Depends-on): Likewise.
62891
62892 2007-09-09  Bruno Haible  <bruno@clisp.org>
62893
62894         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
62895         (gl_FUNC_MALLOC_POSIX): Require it.
62896         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
62897         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
62898         * modules/realloc (Files): Add m4/malloc.m4.
62899         * modules/calloc (Files): Likewise.
62900
62901 2007-09-09  Bruno Haible  <bruno@clisp.org>
62902
62903         * modules/malloc-posix: New file.
62904         * modules/malloc (Depends-on): Add malloc-posix.
62905         * lib/malloc.c: Include errno.h.
62906         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
62907         and a POSIX-compatible malloc into a single function. Set ENOMEM
62908         when returning NULL.
62909         * m4/malloc.m4: New file.
62910         * doc/functions/malloc.texi: Mention the malloc-posix module.
62911         * lib/stdlib_.h (malloc): New declaration.
62912         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62913         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
62914         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
62915         and HAVE_MALLOC_POSIX.
62916
62917 2007-09-09  Bruno Haible  <bruno@clisp.org>
62918
62919         * modules/realloc-posix: New file.
62920         * modules/realloc (Depends-on): Add realloc-posix.
62921         * lib/realloc.c: Include errno.h.
62922         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
62923         and a POSIX-compatible realloc into a single function. Set ENOMEM
62924         when returning NULL.
62925         * m4/realloc.m4: New file.
62926         * doc/functions/realloc.texi: Mention the realloc-posix module.
62927         * lib/stdlib_.h (realloc): New declaration.
62928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62929         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
62930         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
62931         and HAVE_REALLOC_POSIX.
62932
62933 2007-09-09  Bruno Haible  <bruno@clisp.org>
62934
62935         * modules/calloc-posix: New file.
62936         * modules/calloc (Depends-on): Add calloc-posix.
62937         * lib/calloc.c: Include errno.h.
62938         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
62939         and a POSIX-compatible calloc into a single function. Set ENOMEM
62940         when returning NULL.
62941         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
62942         * doc/functions/calloc.texi: Mention the calloc-posix module.
62943         * lib/stdlib_.h (calloc): New declaration.
62944         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62945         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
62946         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
62947         and HAVE_CALLOC_POSIX.
62948
62949 2007-09-09  Bruno Haible  <bruno@clisp.org>
62950
62951         Allow for modules to show an arbitrary notice.
62952         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
62953         * gnulib-tool: New option --extract-notice.
62954         (func_usage): Document it.
62955         (sed_extract_prog): Update.
62956         (func_get_notice): New function.
62957         (func_modules_notice): New function.
62958         (func_import, func_create_testdir): Invoke it.
62959         Suggested by Jim Meyering.
62960
62961 2007-09-09  Bruno Haible  <bruno@clisp.org>
62962
62963         * gnulib-tool: New options --verbose, --quiet.
62964         (func_usage): Document them.
62965         (verbose): New variable.
62966         (func_execute_command): New function.
62967         (func_import): Don't show the module list and the file list if
62968         $verbose < 0.
62969         (func_create_testdir): Likewise. Use func_execute_command.
62970         (func_create_megatestdir): Use func_execute_command.
62971
62972 2007-09-08  Bruno Haible  <bruno@clisp.org>
62973
62974         * gnulib-tool (func_import): Prefer rsync over wget when available,
62975         for fetching the PO files.
62976
62977 2007-09-08  Bruno Haible  <bruno@clisp.org>
62978
62979         * posix-modules: New file. Portions copied from gnulib-tool.
62980         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
62981
62982 2007-09-08  Jim Meyering  <jim@meyering.net>
62983
62984         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
62985         * lib/fpending.h: Rename from __fpending.h.
62986         * lib/fpending.c: Rename from __fpending.c.
62987         Include "fpending.h", not "__fpending.h".
62988         * lib/__fpending.h, lib/__fpending.c: Remove files.
62989         * modules/fpending (Files): Reflect new file names.
62990         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
62991
62992 2007-09-08  Bruno Haible  <bruno@clisp.org>
62993
62994         * m4/inttypes-h.m4: Remove stub file.
62995
62996 2007-09-07  Simon Josefsson  <simon@josefsson.org>
62997
62998         * doc/headers/stdint.texi: Discuss #include_next issue.
62999
63000 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63001
63002         * build-aux/bootstrap: Remove obsolete comment about wget --help.
63003
63004 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63005
63006         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
63007         in variable name.
63008
63009 2007-09-03  Jim Meyering  <jim@meyering.net>
63010
63011         New module: git-version-gen.
63012         * modules/git-version-gen: New file.
63013
63014         Import changes from coreutils for bootstrap script.
63015
63016         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
63017
63018         bootstrap: uses rsync to download the .po files
63019         * build-aux/bootstrap (po_download_command_format): New global.
63020         (download_po_files): Use rsync.
63021         (update_po_files): Don't remove .po files after download,
63022         so future rsync runs can take advantage of the copies.
63023
63024         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
63025
63026         Solve the unnecessary-.po-file-regeneration problem once and for all.
63027         * build-aux/bootstrap (download_po_files): New function, renamed from
63028         get_translations.  Now, downloads, but doesn't update LINGUAS.
63029         (update_po_files): New function.
63030
63031         bootstrap: Ignore more.
63032         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
63033         uniwidth to e.g., lib/.gitignore.
63034         (slurp): Handle the sys_stat_.h -> sys mapping, too.
63035
63036         * build-aux/bootstrap: New setting: vc_ignore.
63037         (insert_sorted_if_absent): Create $file if absent.
63038         Adapt to new, possibly empty, list: $vc_ignore.
63039
63040         bootstrap: generate more ignorable names
63041         * build-aux/bootstrap (slurp): When generating ignorable names,
63042         also map .sin to .sed, .gperf to .c, and .y to .c.
63043
63044 2007-09-03  Jim Meyering  <jim@meyering.net>
63045
63046         * build-aux/git-version-gen: New file, from coreutils.  For details, see
63047         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
63048
63049 2007-09-02  Bruno Haible  <bruno@clisp.org>
63050
63051         Fix mis-recognition of 'mcs' on QNX 6.
63052         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
63053         output contains the string "Mono".
63054         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
63055         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
63056
63057 2007-09-01  Bruno Haible  <bruno@clisp.org>
63058
63059         Fix collision between uniwidth/* and linebreak modules.
63060         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
63061         u32_width): Remove declarations.
63062         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
63063         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
63064         streq3, streq2, streq1, streq0): Remove functions.
63065         (STREQ): Remove macro.
63066         (is_cjk_encoding): Remove function.
63067         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
63068         (uc_width, u8_width, u16_width, u32_width): Remove functions.
63069         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
63070         * NEWS: Document the change.
63071
63072 2007-09-01  Bruno Haible  <bruno@clisp.org>
63073
63074         * lib/streq.h: Add double-inclusion guard.
63075
63076 2007-09-01  Karl Berry  <karl@gnu.org>
63077
63078         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
63079
63080 2007-08-28  Jim Meyering  <jim@meyering.net>
63081
63082         Rename mreadlink_with_size to areadlink_with_size.
63083         * NEWS: Document the change.
63084         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
63085         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
63086         * lib/mreadlink.h: Rename this to...
63087         * lib/areadlink.h: ...this.
63088         * modules/mreadlink-with-size: Rename this to...
63089         * modules/areadlink-with-size: ...this.
63090         * lib/canonicalize.c: Reflect the renaming.
63091         * modules/canonicalize: Likewise.
63092
63093 2007-08-26  Bruno Haible  <bruno@clisp.org>
63094
63095         * gnulib-tool (func_import): When deciding which files to remove,
63096         consider also dangling symbolic links.
63097         Reported by Eric Blake.
63098
63099 2007-08-26  Bruno Haible  <bruno@clisp.org>
63100
63101         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
63102
63103 2007-08-23  Simon Josefsson  <simon@josefsson.org>
63104
63105         * lib/readline.c: Don't include getline.h, the prototype is now
63106         found in stdio.h.
63107
63108 2007-08-23  Jim Meyering  <jim@meyering.net>
63109
63110         Getdelim touchup.
63111         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
63112         around the funlockfile call, since funlockfile never sets errno.
63113         Don't set errno upon failed realloc.
63114
63115 2007-08-22  Eric Blake  <ebb9@byu.net>
63116
63117         Getline touchups.
63118         * lib/getdelim.c (getdelim): Revert regression that required *n to
63119         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
63120         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
63121         getdelim, rather than whether implementation is missing.
63122         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
63123         * lib/stdio_.h (getline): Also declare if replacement is
63124         required.
63125         * doc/functions/getdelim.texi: New file.
63126         * doc/functions/getline.texi: Likewise.
63127         * doc/gnulib.texi (Function Substitutes): Add new files.
63128         Reported by Bruno Haible.
63129
63130 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
63131
63132         * users.txt: Add Guile.
63133
63134 2007-08-22  Eric Blake  <ebb9@byu.net>
63135
63136         * tests/test-getdelim.c (main): Use remove, not unlink.
63137         * tests/test-getline.c (main): Likewise.
63138
63139         Move getline and getdelim into stdio.h, per POSIX 200x.
63140         * modules/getline (Files): Remove getline.h.
63141         (Depends-on): Add stdio.
63142         (configure.ac): Add module indicator.
63143         * modules/getdelim (Files): Remove getdelim.h.
63144         (Depends-on): Add stdio.
63145         (configure.ac): Add module indicator.
63146         * modules/stdio (Makefile.am): Work with new indicators.
63147         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63148         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
63149         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63150         * lib/getdelim.h: Delete.
63151         * lib/getline.h: Delete.
63152         * lib/stdio_.h (getdelim, getline): Declare.
63153         * modules/getdelim-tests: New module.
63154         * modules/getline-tests: Likewise.
63155         * tests/test-getdelim.c: New file.
63156         * tests/test-getline.c: Likewise.
63157         * NEWS: Document the change.
63158         * lib/getline.c: Update choice of header.
63159         * lib/csharpcomp.c: Likewise.
63160         * lib/getpass.c: Likewise.
63161         * lib/javacomp.c: Likewise.
63162         * lib/javaversion.c: Likewise.
63163         * lib/yesno.c: Likewise.
63164         * lib/getdelim.c: Likewise.
63165         (getdelim): Set errno on failure, and avoid memory leak.
63166
63167 2007-08-19  Bruno Haible  <bruno@clisp.org>
63168
63169         * modules/closein (Depends-on): Add freadahead.
63170         * lib/closein.c: Include freadahead.h.
63171         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
63172         is zero.
63173
63174 2007-08-19  Bruno Haible  <bruno@clisp.org>
63175
63176         * modules/freadahead-tests: New file.
63177         * tests/test-freadahead.sh: New file.
63178         * tests/test-freadahead.c: New file.
63179
63180         * modules/freadahead: New file.
63181         * lib/freadahead.h: New file.
63182         * lib/freadahead.c: New file.
63183         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
63184         fbufmode, fpurge, freadable, fwritable.
63185
63186 2007-08-19  Eric Blake  <ebb9@byu.net>
63187
63188         Test yesno in combination with closein.
63189         * lib/yesno.c (yesno): Document use of stdin.
63190         * modules/yesno-tests (Files): New module.
63191         * tests/test-yesno.c (main): New file.
63192         * tests/test-yesno.sh: Likewise.
63193
63194 2007-08-19  Bruno Haible  <bruno@clisp.org>
63195
63196         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
63197         * lib/fseeko.c (rpl_fseeko): Likewise.
63198         * lib/fseterr.c (fseterr): Likewise.
63199
63200 2007-08-19  Bruno Haible  <bruno@clisp.org>
63201
63202         * tests/test-lseek.c (main): Disable a test for BeOS.
63203         * doc/functions/lseek.texi: Document the BeOS bug.
63204
63205 2007-08-19  Bruno Haible  <bruno@clisp.org>
63206             Eric Blake  <ebb9@byu.net>
63207
63208         * lib/lseek.c: Include <sys/stat.h>.
63209         (rpl_lseek): Add workaround code also for Unix platforms.
63210         Needed for BeOS.
63211         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
63212         * doc/functions/lseek.texi: Document BeOS definiency.
63213
63214 2007-08-18  Bruno Haible  <bruno@clisp.org>
63215
63216         * modules/fstrcmp-tests: New file.
63217         * tests/test-fstrcmp.c: New file.
63218
63219 2007-08-18  Bruno Haible  <bruno@clisp.org>
63220
63221         * modules/fstrcmp: New file, from GNU gettext with modifications.
63222         * lib/fstrcmp.h: New file, from GNU gettext.
63223         * lib/fstrcmp.c: New file, from GNU gettext.
63224         * MODULES.html.sh (String handling): Add fstrcmp.
63225
63226 2007-08-18  Bruno Haible  <bruno@clisp.org>
63227
63228         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
63229         'bool'.
63230         (diag, compareseq): Remove const from the ctxt argument.
63231         (USE_HEURISTIC): Undefine at the end.
63232
63233 2007-08-18  Jim Meyering  <jim@meyering.net>
63234
63235         New file: lib/idcache.h
63236         * NEWS: Mention the addition.
63237         * modules/idcache (Files): Add lib/idcache.h
63238         * lib/idcache.c: Include "idcache.h".
63239         Don't include <sys/types.h>.
63240         Add a FIXME comment.
63241         Move file-scoped "static" declarations to the top.
63242         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
63243
63244 2007-08-17  Bruno Haible  <bruno@clisp.org>
63245         and Paul Eggert  <eggert@cs.ucla.edu>
63246
63247         * MODULES.html.sh: Add diffseq.
63248         * modules/diffseq: New file.
63249         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
63250         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
63251
63252 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63253
63254         Import changes from coreutils for bootstrap script.
63255
63256         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
63257
63258         * build-aux/bootstrap (slurp): Work even in environments where
63259         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
63260         current code does not slurp files whose names start with ".", and
63261         this looks like it might be a troublesome area.
63262
63263         2007-07-11  Jim Meyering  <jim@meyering.net>
63264
63265         If there's a GPL vN copyright comment, require that N == 3.
63266
63267         2007-07-08  Jim Meyering  <jim@meyering.net>
63268
63269         Run the coreutils-specific code only if tests/Makefile.am.in exists.
63270         * build-aux/bootstrap (mam_template): Move definition out of loop.
63271
63272         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
63273
63274         * build-aux/bootstrap (symlink_to_dir): Rename function from
63275         symlink_to_gnulib.  Add a directory parameter.  Update all
63276         callers.
63277         (cp_mark_as_generated): Also check for -- and link to -- files in
63278         gl/.
63279
63280         2007-07-08  Jim Meyering  <jim@meyering.net>
63281
63282         Adapt to deeper hierarchy in gnulib.
63283         * build-aux/bootstrap (symlink_to_dir): If the destination
63284         directory doesn't exist, create it. This is required at least for
63285         "lib/uniwidth/cjk.h".
63286
63287         2007-05-15  Jim Meyering  <jim@meyering.net>
63288
63289         * build-aux/bootstrap: Now that generated Makefile.am files
63290         are no longer under version control, they must be created at
63291         bootstrap time.
63292
63293 2007-08-14  Ben Pfaff  <blp@gnu.org>
63294
63295         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
63296
63297 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63298
63299         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
63300         given the changes below.
63301         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
63302         even on hosts that have padding bits beyond the supported 64.
63303
63304 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
63305
63306         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
63307         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
63308         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
63309         depends on it.
63310         (xstrtol_error): Remove.
63311         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
63312         but with a different signature.
63313         (ATTRIBUTE_NORETURN, __attribute__): New macros.
63314         * lib/xstrtol-error.c: Include exitfail.h.
63315         (xstrtol_fatal): New function, with a different signature from the
63316         old xstrtol_error, so that the caller need not worry about passing
63317         in an exit status, or about storage management of the option argument.
63318         (xstrtol_error): Now a static function.  Redo signature to
63319         implement xstrtol_fatal.  Output the correct number of hyphens in
63320         front of the option so that the caller need not worry about
63321         storage management.
63322         (N_): New macro.
63323         (_): Remove; not used now.
63324         * modules/xstrtol: Depend on getopt.
63325         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
63326         of old STRTOL_FATAL_ERROR macro.
63327         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
63328         of test program.
63329         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
63330         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
63331
63332 2007-08-08  Eric Blake  <ebb9@byu.net>
63333
63334         * lib/xstrtol-error.c: Add missing include.
63335
63336         Move xstrtol messages into gnulib domain, when --pobase is used.
63337         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
63338         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
63339         * modules/xstrtol (Files): Distribute new file.
63340         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
63341         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
63342         * tests/test-xstrtol.c: ...into new file.
63343         * tests/test-xstrtoul.c: Also test xstrtoul.
63344         * tests/test-xstrtoimax.c: Also test xstrtoimax.
63345         * tests/test-xstrtoumax.c: Also test xstrtoumax.
63346         * tests/test-xstrtol.sh: Drive the tests.
63347         * tests/test-xstrtoimax.sh: Likewise.
63348         * tests/test-xstrtoumax.sh: Likewise.
63349         * modules/xstrtol-tests: New module.
63350         * modules/xstrtoimax-tests: Likewise.
63351         * modules/xstrtoumax-tests: Likewise.
63352
63353 2007-08-08  Jim Meyering  <jim@meyering.net>
63354
63355         New function: mfile_name_concat.
63356         * lib/filenamecat.c (mfile_name_concat): New function, just like
63357         file_name_concat, but return NULL upon failure rather than exiting
63358         with a diagnostic.
63359         * lib/filenamecat.h: Declare it.
63360
63361 2007-08-07  Bruno Haible  <bruno@clisp.org>
63362
63363         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
63364         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
63365         warning from gcc.
63366         Reported by Eric Blake.
63367
63368 2007-08-07  Simon Josefsson  <simon@josefsson.org>
63369
63370         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
63371         * modules/crypto/arcfour (License): Likewise.
63372         * modules/crypto/des-tests (License): Likewise.
63373         * modules/crypto/gc-arctwo-tests (License): Likewise.
63374         * modules/crypto/gc-des-tests (License): Likewise.
63375         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
63376         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
63377         * modules/crypto/gc-md2-tests (License): Likewise.
63378         * modules/crypto/gc-md4-tests (License): Likewise.
63379         * modules/crypto/gc-md5-tests (License): Likewise.
63380         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
63381         * modules/crypto/gc-rijndael-tests (License): Likewise.
63382         * modules/crypto/gc-sha1-tests (License): Likewise.
63383         * modules/crypto/gc-tests (License): Likewise.
63384         * modules/crypto/hmac-md5 (License): Likewise.
63385         * modules/crypto/hmac-sha1 (License): Likewise.
63386         * modules/crypto/md2-tests (License): Likewise.
63387         * modules/crypto/md4-tests (License): Likewise.
63388         * modules/crypto/md5 (License): Likewise.
63389         * modules/crypto/rijndael (License): Likewise.
63390         * modules/crypto/sha1 (License): Likewise.
63391         * modules/memxor (License): Likewise.
63392
63393 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
63394         and Bruno Haible  <bruno@clisp.org>
63395
63396         * NEWS: Describe interface changes to human, xstrtol.
63397         * lib/human.h: Include <xstrtol.h>.
63398         (human_options): Return enum strtol_error, not int.  Remove
63399         bool arg; take int * instead.
63400         * lib/human.c: Don't include "gettext.h".
63401         (_): Remove; no longer used.
63402         Don't include <xstrtol.h>, since human.h does it.
63403         (human_options): Adjust to abovementioned interface changes.
63404         Do not report error to stderr; that's now the caller's
63405         responsibility.
63406         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
63407         interface change.
63408         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
63409         Str, Argument_type_string.  All uses changed.  Put " argument"
63410         in diagnostics to make them clearer.  Change wording of suffix
63411         message for clarity.
63412         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
63413         Argument_type_string.
63414         (STRTOL_FATAL_WARN): Remove; no longer used.
63415         * modules/human (Depends-on): Remove gettext-h.
63416
63417 2007-08-06  Simon Josefsson  <simon@josefsson.org>
63418
63419         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
63420
63421 2007-07-31  Bruno Haible  <bruno@clisp.org>
63422
63423         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
63424         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
63425         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
63426
63427 2007-07-31  Bruno Haible  <bruno@clisp.org>
63428
63429         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
63430         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
63431
63432 2007-07-30  Bruno Haible  <bruno@clisp.org>
63433
63434         * modules/base64 (License): Use the synonymous term "LGPLv2+".
63435         * modules/c-ctype (License): Likewise.
63436         * modules/c-strcase (License): Likewise.
63437         * modules/check-version (License): Likewise.
63438         * modules/iconv (License): Likewise.
63439         * modules/iconv_open (License): Likewise.
63440         * modules/read-file (License): Likewise.
63441         * modules/striconv (License): Likewise.
63442         * modules/strverscmp (License): Likewise.
63443         * modules/vasprintf (License): Likewise.
63444         * modules/crypto/des (License): Likewise.
63445         * modules/crypto/gc (License): Likewise.
63446         * modules/crypto/gc-arcfour (License): Likewise.
63447         * modules/crypto/gc-arctwo (License): Likewise.
63448         * modules/crypto/gc-des (License): Likewise.
63449         * modules/crypto/gc-hmac-md5 (License): Likewise.
63450         * modules/crypto/gc-hmac-sha1 (License): Likewise.
63451         * modules/crypto/gc-md2 (License): Likewise.
63452         * modules/crypto/gc-md4 (License): Likewise.
63453         * modules/crypto/gc-md5 (License): Likewise.
63454         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
63455         * modules/crypto/gc-random (License): Likewise.
63456         * modules/crypto/gc-rijndael (License): Likewise.
63457         * modules/crypto/gc-sha1 (License): Likewise.
63458         * modules/crypto/md2 (License): Likewise.
63459         * modules/crypto/md4 (License): Likewise.
63460
63461 2007-07-30  Jim Meyering  <jim@meyering.net>
63462
63463         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
63464         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
63465         it has valid stat data.  This bug would cause du not to count the
63466         sizes of inaccessible directories.
63467         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
63468         in <http://bugzilla.redhat.com/250077>.
63469
63470 2007-07-25  Peter O'Gorman  <peter@pogma.com>
63471             Bruno Haible  <bruno@clisp.org>
63472
63473         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
63474         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
63475         #include_next, gives a diagnostic about it, but reports no error in
63476         the exit code.
63477         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
63478
63479 2007-07-24  Ben Pfaff  <blp@gnu.org>
63480
63481         Improve name: "count-one-bits" is better than "popcount".
63482         * MODULES.html.sh: Update name.
63483         * lib/popcount.h: Renamed lib/count-one-bits.h.
63484         (popcount): Renamed count_one_bits.
63485         (popcountl): Renamed count_one_bits_l.
63486         (popcountll): Renamed count_one_bits_ll.
63487         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
63488         * modules/popcount: Renamed module/count-one-bits.
63489         * modules/popcount-tests: Renamed module/count-one-bits-tests.
63490         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
63491
63492 2007-07-23  Ben Pfaff  <blp@gnu.org>
63493
63494         * lib/popcount.h (popcount32): Reduce size of constants, to allow
63495         better code generation, and add U to large constants to avoid
63496         warnings, in non-GCC case.
63497         Suggested by Bruno Haible.
63498
63499 2007-07-23  Ben Pfaff  <blp@gnu.org>
63500
63501         * lib/popcount.h: Use verify_true instead of if...abort.
63502         * modules/popcount: Depend on verify module.
63503         Suggested by Jim Meyering.
63504
63505 2007-07-23  Bruno Haible  <bruno@clisp.org>
63506
63507         * gnulib-tool (func_import): Create a .cvsignore file also when the
63508         directory is not yet in CVS but the toplevel directory is. When
63509         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
63510         Reported by Karl Berry.
63511
63512 2007-07-22  Ben Pfaff  <blp@gnu.org>
63513
63514         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
63515         case.
63516         Suggested by Eric Blake.
63517
63518 2007-07-22  Ben Pfaff  <blp@gnu.org>
63519
63520         New module: popcount.
63521         * MODULES.html.sh: Add popcount.
63522         * modules/popcount: New file.
63523         * modules/popcount-tests: New file.
63524         * tests/test-popcount.c: New file.
63525         * lib/popcount.h: New file.
63526         * m4/popcount.m4: New file.
63527
63528 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63529
63530         * build-aux/announce-gen: Update to GPLv3.
63531
63532         * build-aux/config.guess: Update from config.
63533
63534 2007-07-21  Bruno Haible  <bruno@clisp.org>
63535
63536         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
63537         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
63538
63539 2007-07-20  Jim Meyering  <jim@meyering.net>
63540
63541         * check-module: Diagnose a self-dependency.
63542
63543 2007-07-19  Bruno Haible  <bruno@clisp.org>
63544
63545         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
63546         empty.
63547         Reported by Eric Blake.
63548
63549 2007-07-18  Bruno Haible  <bruno@clisp.org>
63550
63551         * gnulib-tool: New options --po-base, --po-domain.
63552         (func_usage): Document them.
63553         (pobase, po_domain): New variables.
63554         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
63555         DEFAULT_TEXT_DOMAIN.
63556         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
63557         (func_import): Consider pobase and po_domain. Create a po/ directory.
63558         (func_create_testdir): Set pobase and po_domain to empty.
63559         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
63560         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
63561
63562 2007-07-18  Bruno Haible  <bruno@clisp.org>
63563
63564         * gnulib-tool (func_get_automake_snippet): Synthesize also an
63565         EXTRA_DIST augmentation for files in build-aux/.
63566
63567 2007-07-16  Bruno Haible  <bruno@clisp.org>
63568
63569         * modules/lseek (License): Use the synonymous term "LGPLv2+".
63570         * modules/getdelim (License): Likewise.
63571
63572 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63573
63574         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
63575         * modules/d-type (License): Likewise.
63576         * modules/extensions (License): Likewise.
63577         * modules/fnmatch (License): Likewise.
63578         * modules/fseeko (License): Likewise.
63579         * modules/getaddrinfo (License): Likewise.
63580         * modules/getline (License): Likewise.
63581         * modules/getlogin_r (License): Likewise.
63582         * modules/getpass (License): Likewise.
63583         * modules/gettimeofday (License): Likewise.
63584         * modules/glob (License): Likewise.
63585         * modules/inet_ntop (License): Likewise.
63586         * modules/malloc (License): Likewise.
63587         * modules/malloca (License): Likewise.
63588         * modules/memmem (License): Likewise.
63589         * modules/mempcpy (License): Likewise.
63590         * modules/memset (License): Likewise.
63591         * modules/minmax (License): Likewise.
63592         * modules/mktime (License): Likewise.
63593         * modules/netinet_in (License): Likewise.
63594         * modules/pathmax (License): Likewise.
63595         * modules/poll (License): Likewise.
63596         * modules/regex (License): Likewise.
63597         * modules/snprintf (License): Likewise.
63598         * modules/stdbool (License): Likewise.
63599         * modules/stdint (License): Likewise.
63600         * modules/stdio (License): Likewise.
63601         * modules/strcase (License): Likewise.
63602         * modules/strcasestr (License): Likewise.
63603         * modules/strdup (License): Likewise.
63604         * modules/string (License): Likewise.
63605         * modules/strndup (License): Likewise.
63606         * modules/strnlen (License): Likewise.
63607         * modules/strpbrk (License): Likewise.
63608         * modules/strptime (License): Likewise.
63609         * modules/strsep (License): Likewise.
63610         * modules/sys_select (License): Likewise.
63611         * modules/sys_socket (License): Likewise.
63612         * modules/sys_stat (License): Likewise.
63613         * modules/sys_time (License): Likewise.
63614         * modules/time (License): Likewise.
63615         * modules/time_r (License): Likewise.
63616         * modules/timegm (License): Likewise.
63617         * modules/unistd (License): Likewise.
63618         * modules/vsnprintf (License): Likewise.
63619         * modules/wctype (License): Likewise.
63620
63621 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63622
63623         * modules/argz (License): LGPLv2+.
63624
63625 2007-07-15  Karl Berry  <karl@gnu.org>
63626
63627         * doc/gnulib.texi: revise node structure per new fdl.texi.
63628
63629 2007-07-14  Bruno Haible  <bruno@clisp.org>
63630
63631         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
63632         the output file.
63633         * lib/uniname/uninames.h: Regenerated.
63634
63635 2007-07-14  Karl Berry  <karl@gnu.org>
63636
63637         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
63638         omitting sectioning and index commands.
63639
63640 2007-07-13  Bruno Haible  <bruno@clisp.org>
63641
63642         New gnulib-tool option --more-symlinks.
63643         * gnulib-tool (func_usage): Document --more-symlinks.
63644         (do_copyrights): New variable.
63645         Recognize option --more-symlinks.
63646         (func_import): Don't add a copyright notice transform to
63647         sed_transform_lib_file if do_copyrights is empty.
63648
63649 2007-07-13  Bruno Haible  <bruno@clisp.org>
63650
63651         * lib/vasnprintf.c (decimal_point_char): Define also if
63652         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
63653         && !NEED_PRINTF_DIRECTIVE_A.
63654         Reported by Clemens Koller <clemens.koller@anagramm.de> via
63655         Gary V. Vaughan <gary@gnu.org>.
63656
63657 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
63658
63659         * lib/inttypes_.h: Undo previous change, since it was fixed
63660         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
63661
63662 2007-07-13  Bruno Haible  <bruno@clisp.org>
63663
63664         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
63665         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
63666
63667 2007-07-13  Jim Meyering  <jim@meyering.net>
63668
63669         df: Don't fail for Tru64's "file-on-file mount".
63670         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
63671         so we fall through and use statfs instead.  Details here:
63672         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
63673         Reported by Albert Chin.
63674
63675 2007-07-13  Bruno Haible  <bruno@clisp.org>
63676
63677         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
63678         * modules/configmake (License): Likewise.
63679         * modules/gettext (License): Likewise.
63680         * modules/gettext-h (License): Likewise.
63681         * modules/include_next (License): Likewise.
63682         * modules/link-warning (License): Likewise.
63683         * modules/localcharset (License): Likewise.
63684         * modules/localename (License): Likewise.
63685         * modules/lock (License): Likewise.
63686         * modules/relocatable-lib-lgpl (License): Likewise.
63687         * modules/size_max (License): Likewise.
63688         * modules/vasnprintf (License): Likewise.
63689         * modules/wchar (License): Likewise.
63690         * modules/xsize (License): Likewise.
63691
63692 2007-07-13  Bruno Haible  <bruno@clisp.org>
63693
63694         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
63695         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
63696
63697 2007-07-12  Bruno Haible  <bruno@clisp.org>
63698
63699         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
63700         in the modules files.
63701
63702 2007-07-11  Karl Berry  <karl@gnu.org>
63703
63704         * MODULES.html.sh (func_module): use
63705          sed -e '\|^'"${includefile}"'$|d'
63706          instead of /.../d, to avoid errors on $includefile's containing /.
63707
63708 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63709
63710         * gnulib-tool (func_import): Avoid duplication of --avoid
63711         statements
63712         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
63713         names to `_' in variable names.
63714
63715 2007-07-10  Eric Blake  <ebb9@byu.net>
63716
63717         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
63718         * NEWS: Document this change.
63719
63720 2007-07-08  Bruno Haible  <bruno@clisp.org>
63721
63722         Update to Unicode 5.0.
63723         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
63724         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
63725         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
63726         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
63727         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
63728         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
63729         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
63730         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
63731         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
63732         U+10A3F, U+1D242..U+1D244.
63733         (nonspacing_table_ind): Update.
63734         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
63735         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
63736
63737 2007-07-08  Bruno Haible  <bruno@clisp.org>
63738
63739         Update to Unicode 5.0.
63740         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
63741         code transform. Extend the name index field of unicode_name_to_code and
63742         unicode_code_to_name from 16 to 24 bits.
63743         * lib/uniname/uniname.c (unicode_character_name,
63744         unicode_name_character): Add the range 0x12xxx to the code transform.
63745         * lib/uniname/uninames.h: Regenerated.
63746         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
63747
63748 2007-07-07  Bruno Haible  <bruno@clisp.org>
63749
63750         * modules/wcwidth-tests: New file.
63751         * tests/test-wcwidth.c: New file.
63752
63753         Work around MacOS X wcwidth() bug.
63754         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
63755         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
63756         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
63757         original wcwidth in non-UTF-8 locales.
63758         * modules/wcwidth (Depends-on): Add localcharset, streq,
63759         uniwidth/width.
63760         * doc/functions/wcwidth.texi: Update.
63761
63762 2007-07-07  Bruno Haible  <bruno@clisp.org>
63763
63764         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
63765         (wcwidth): New declaration.
63766         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
63767         macros.
63768         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
63769         here. Prepare for creating <wchar.h> unconditionally.
63770         * modules/wchar (Depends-on): Add link-warning.
63771         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
63772         REPLACE_WCWIDTH, and GL_LINK_WARNING.
63773         * lib/wcwidth.h: Remove file.
63774         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
63775         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
63776         * modules/wcwidth (Files): Remove lib/wcwidth.h.
63777         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
63778         (Include): Replace wcwidth.h with <wchar.h>.
63779         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
63780         * lib/mbchar.h: Don't include wcwidth.h.
63781         * lib/mbswidth.c: Likewise.
63782         * NEWS: Mention the change.
63783
63784 2007-07-07  Bruno Haible  <bruno@clisp.org>
63785
63786         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
63787         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
63788         definition with an external declaration.
63789         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
63790         defined as a function. Remove AC_C_INLINE requirement.
63791         * modules/wcwidth (Files): Add lib/wcwidth.c.
63792         (Makefile.am): Remove redundant statement.
63793
63794 2007-07-07  Bruno Haible  <bruno@clisp.org>
63795
63796         * MODULES.html.sh (Unicode string functions): Add the new modules.
63797
63798         * tests/uniwidth/test-u32-strwidth.c: New file.
63799         * modules/uniwidth/u32-strwidth-tests: New file.
63800
63801         * lib/uniwidth/u32-strwidth.c: New file.
63802         * modules/uniwidth/u32-strwidth: New file.
63803
63804         * tests/uniwidth/test-u16-strwidth.c: New file.
63805         * modules/uniwidth/u16-strwidth-tests: New file.
63806
63807         * lib/uniwidth/u16-strwidth.c: New file.
63808         * modules/uniwidth/u16-strwidth: New file.
63809
63810         * tests/uniwidth/test-u8-strwidth.c: New file.
63811         * modules/uniwidth/u8-strwidth-tests: New file.
63812
63813         * lib/uniwidth/u8-strwidth.c: New file.
63814         * modules/uniwidth/u8-strwidth: New file.
63815
63816         * tests/uniwidth/test-u32-width.c: New file.
63817         * modules/uniwidth/u32-width-tests: New file.
63818
63819         * lib/uniwidth/u32-width.c: New file.
63820         * modules/uniwidth/u32-width: New file.
63821
63822         * tests/uniwidth/test-u16-width.c: New file.
63823         * modules/uniwidth/u16-width-tests: New file.
63824
63825         * lib/uniwidth/u16-width.c: New file.
63826         * modules/uniwidth/u16-width: New file.
63827
63828         * tests/uniwidth/test-u8-width.c: New file.
63829         * modules/uniwidth/u8-width-tests: New file.
63830
63831         * lib/uniwidth/u8-width.c: New file.
63832         * modules/uniwidth/u8-width: New file.
63833
63834         * tests/uniwidth/test-uc_width.c: New file.
63835         * modules/uniwidth/width-tests: New file.
63836
63837         * lib/uniwidth/width.c: New file, from GNU libiconv.
63838         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
63839         * modules/uniwidth/width: New file.
63840
63841         * lib/uniwidth.h: New file, from GNU libiconv.
63842         * modules/uniwidth/base: New file.
63843
63844 2007-07-07  Bruno Haible  <bruno@clisp.org>
63845
63846         * lib/uniname.h: New file, from GNU gettext.
63847         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
63848         * lib/uniname/uninames.h: New file, from GNU gettext.
63849         * lib/uniname/uniname.c: New file, from GNU gettext.
63850         * tests/uniname/test-uninames.sh: New file.
63851         * tests/uniname/test-uninames.c: New file, from GNU gettext.
63852         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
63853         * modules/uniname/base: New file.
63854         * modules/uniname/uniname: New file.
63855         * modules/uniname/uniname-tests: New file.
63856         * MODULES.html.sh (Unicode string functions): Add the new modules.
63857
63858 2007-07-06  Bruno Haible  <bruno@clisp.org>
63859
63860         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
63861
63862 2007-07-06  Bruno Haible  <bruno@clisp.org>
63863
63864         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
63865         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
63866         includes <cygwin/sys_time.h> which includes <sys/select.h> which
63867         include <sys/time.h>.
63868         Reported by Eric Blake.
63869
63870 2007-07-06  Eric Blake  <ebb9@byu.net>
63871
63872         Fix testing canonicalize on cygwin.
63873         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
63874         Revert patch from 2007-06-19.
63875         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
63876         canonicalize module is also in use.
63877         * tests/test-canonicalize.c: New file.
63878         * tests/test-canonicalize.sh: Likewise.
63879         * modules/canonicalize-tests: Likewise.
63880
63881 2007-07-06  Jim Meyering  <jim@meyering.net>
63882
63883         * lib/getugroups.c (getugroups): Detect getgrent failure.
63884         Adjust comment to reflect reality: this function may return -1.
63885
63886 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
63887
63888         * build-aux/bootstrap (TP_URL,get_translations): Update to use
63889         the new TP address.
63890         (usage): Fix typo
63891         (gnulib_mk): New variable.
63892
63893 2007-07-05  Jim Meyering  <jim@meyering.net>
63894
63895         Don't let endgrent clobber errno, no matter how improbable.
63896         * lib/getugroups.c (getugroups): Save and restore errno around
63897         endgrent call.
63898
63899         Close the group DB even when failing with 2^31 or more members.
63900         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
63901
63902 2007-07-04  Jim Meyering  <jim@meyering.net>
63903
63904         * lib/getugroups.h: New file.
63905         * lib/getugroups.c: Include "getugroups.h".
63906         Remove uses of "register" keyword.
63907         Move local variable, "cp", down into scope where used.
63908         Give "username" parameter the "const" attribute.
63909         * modules/getugroups (Files): Add lib/getugroups.h
63910
63911 2007-07-04  Karl Berry  <karl@gnu.org>
63912
63913         * MODULES.html.sh (func_all_modules): Complete rename of
63914         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
63915
63916 2007-07-02  Bruno Haible  <bruno@clisp.org>
63917
63918         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
63919         mode, when inttypes.h comes from gnulib.
63920         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63921
63922 2007-07-02  Simon Josefsson  <simon@josefsson.org>
63923
63924         * NEWS: Mention lgpl module name change.
63925
63926         * modules/lgpl-2.1: Renamed from lgpl.
63927
63928         * NEWS: Mention gpl module name change.
63929
63930         * modules/gpl-3.0: New file, based on gpl-2.0.
63931
63932         * modules/gpl-2.0: Renamed from gpl.
63933
63934         * modules/gpl: Fix filename, doc/gpl.texi is now found at
63935         doc/gpl-2.0.texi.
63936
63937 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63938
63939         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
63940         #define __STDC_LIMIT_MACROS temporarily while including
63941         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
63942         Problem reported by Joel E. Denny in
63943         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
63944
63945 2007-07-01  Bruno Haible  <bruno@clisp.org>
63946
63947         * lib/unistdio.h: New file.
63948         * lib/unistdio/u-asnprintf.h: New file.
63949         * lib/unistdio/u-asprintf.h: New file.
63950         * lib/unistdio/u-printf-args.c: New file.
63951         * lib/unistdio/u-printf-args.h: New file.
63952         * lib/unistdio/u-printf-parse.h: New file.
63953         * lib/unistdio/u-snprintf.h: New file.
63954         * lib/unistdio/u-sprintf.h: New file.
63955         * lib/unistdio/u-vasprintf.h: New file.
63956         * lib/unistdio/u-vsnprintf.h: New file.
63957         * lib/unistdio/u-vsprintf.h: New file.
63958         * lib/unistdio/ulc-asnprintf.c: New file.
63959         * lib/unistdio/ulc-asprintf.c: New file.
63960         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
63961         * lib/unistdio/ulc-printf-parse.c: New file.
63962         * lib/unistdio/ulc-snprintf.c: New file.
63963         * lib/unistdio/ulc-sprintf.c: New file.
63964         * lib/unistdio/ulc-vasnprintf.c: New file.
63965         * lib/unistdio/ulc-vasprintf.c: New file.
63966         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
63967         * lib/unistdio/ulc-vsnprintf.c: New file.
63968         * lib/unistdio/ulc-vsprintf.c: New file.
63969         * lib/unistdio/u8-asnprintf.c: New file.
63970         * lib/unistdio/u8-asprintf.c: New file.
63971         * lib/unistdio/u8-printf-parse.c: New file.
63972         * lib/unistdio/u8-snprintf.c: New file.
63973         * lib/unistdio/u8-sprintf.c: New file.
63974         * lib/unistdio/u8-vasnprintf.c: New file.
63975         * lib/unistdio/u8-vasprintf.c: New file.
63976         * lib/unistdio/u8-vsnprintf.c: New file.
63977         * lib/unistdio/u8-vsprintf.c: New file.
63978         * lib/unistdio/u8-u8-asnprintf.c: New file.
63979         * lib/unistdio/u8-u8-asprintf.c: New file.
63980         * lib/unistdio/u8-u8-snprintf.c: New file.
63981         * lib/unistdio/u8-u8-sprintf.c: New file.
63982         * lib/unistdio/u8-u8-vasnprintf.c: New file.
63983         * lib/unistdio/u8-u8-vasprintf.c: New file.
63984         * lib/unistdio/u8-u8-vsnprintf.c: New file.
63985         * lib/unistdio/u8-u8-vsprintf.c: New file.
63986         * lib/unistdio/u16-asnprintf.c: New file.
63987         * lib/unistdio/u16-asprintf.c: New file.
63988         * lib/unistdio/u16-printf-parse.c: New file.
63989         * lib/unistdio/u16-snprintf.c: New file.
63990         * lib/unistdio/u16-sprintf.c: New file.
63991         * lib/unistdio/u16-vasnprintf.c: New file.
63992         * lib/unistdio/u16-vasprintf.c: New file.
63993         * lib/unistdio/u16-vsnprintf.c: New file.
63994         * lib/unistdio/u16-vsprintf.c: New file.
63995         * lib/unistdio/u16-u16-asnprintf.c: New file.
63996         * lib/unistdio/u16-u16-asprintf.c: New file.
63997         * lib/unistdio/u16-u16-snprintf.c: New file.
63998         * lib/unistdio/u16-u16-sprintf.c: New file.
63999         * lib/unistdio/u16-u16-vasnprintf.c: New file.
64000         * lib/unistdio/u16-u16-vasprintf.c: New file.
64001         * lib/unistdio/u16-u16-vsnprintf.c: New file.
64002         * lib/unistdio/u16-u16-vsprintf.c: New file.
64003         * lib/unistdio/u32-asnprintf.c: New file.
64004         * lib/unistdio/u32-asprintf.c: New file.
64005         * lib/unistdio/u32-printf-parse.c: New file.
64006         * lib/unistdio/u32-snprintf.c: New file.
64007         * lib/unistdio/u32-sprintf.c: New file.
64008         * lib/unistdio/u32-vasnprintf.c: New file.
64009         * lib/unistdio/u32-vasprintf.c: New file.
64010         * lib/unistdio/u32-vsnprintf.c: New file.
64011         * lib/unistdio/u32-vsprintf.c: New file.
64012         * lib/unistdio/u32-u32-asnprintf.c: New file.
64013         * lib/unistdio/u32-u32-asprintf.c: New file.
64014         * lib/unistdio/u32-u32-snprintf.c: New file.
64015         * lib/unistdio/u32-u32-sprintf.c: New file.
64016         * lib/unistdio/u32-u32-vasnprintf.c: New file.
64017         * lib/unistdio/u32-u32-vasprintf.c: New file.
64018         * lib/unistdio/u32-u32-vsnprintf.c: New file.
64019         * lib/unistdio/u32-u32-vsprintf.c: New file.
64020         * tests/unistdio/test-ulc-asnprintf1.c: New file.
64021         * tests/unistdio/test-ulc-asnprintf1.h: New file.
64022         * tests/unistdio/test-ulc-printf1.h: New file.
64023         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
64024         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
64025         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
64026         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
64027         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
64028         * tests/unistdio/test-ulc-vasprintf1.c: New file.
64029         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
64030         * tests/unistdio/test-ulc-vsprintf1.c: New file.
64031         * tests/unistdio/test-u8-asnprintf1.c: New file.
64032         * tests/unistdio/test-u8-asnprintf1.h: New file.
64033         * tests/unistdio/test-u8-printf1.h: New file.
64034         * tests/unistdio/test-u8-vasnprintf1.c: New file.
64035         * tests/unistdio/test-u8-vasnprintf2.c: New file.
64036         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
64037         * tests/unistdio/test-u8-vasnprintf3.c: New file.
64038         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
64039         * tests/unistdio/test-u8-vasprintf1.c: New file.
64040         * tests/unistdio/test-u8-vsnprintf1.c: New file.
64041         * tests/unistdio/test-u8-vsprintf1.c: New file.
64042         * tests/unistdio/test-u16-asnprintf1.c: New file.
64043         * tests/unistdio/test-u16-asnprintf1.h: New file.
64044         * tests/unistdio/test-u16-printf1.h: New file.
64045         * tests/unistdio/test-u16-vasnprintf1.c: New file.
64046         * tests/unistdio/test-u16-vasnprintf2.c: New file.
64047         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
64048         * tests/unistdio/test-u16-vasnprintf3.c: New file.
64049         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
64050         * tests/unistdio/test-u16-vasprintf1.c: New file.
64051         * tests/unistdio/test-u16-vsnprintf1.c: New file.
64052         * tests/unistdio/test-u16-vsprintf1.c: New file.
64053         * tests/unistdio/test-u32-asnprintf1.c: New file.
64054         * tests/unistdio/test-u32-asnprintf1.h: New file.
64055         * tests/unistdio/test-u32-printf1.h: New file.
64056         * tests/unistdio/test-u32-vasnprintf1.c: New file.
64057         * tests/unistdio/test-u32-vasnprintf2.c: New file.
64058         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
64059         * tests/unistdio/test-u32-vasnprintf3.c: New file.
64060         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
64061         * tests/unistdio/test-u32-vasprintf1.c: New file.
64062         * tests/unistdio/test-u32-vsnprintf1.c: New file.
64063         * tests/unistdio/test-u32-vsprintf1.c: New file.
64064         * modules/unistdio/base: New file.
64065         * modules/unistdio/u-printf-args: New file.
64066         * modules/unistdio/ulc-asnprintf: New file.
64067         * modules/unistdio/ulc-asprintf: New file.
64068         * modules/unistdio/ulc-fprintf: New file.
64069         * modules/unistdio/ulc-printf-parse: New file.
64070         * modules/unistdio/ulc-snprintf: New file.
64071         * modules/unistdio/ulc-sprintf: New file.
64072         * modules/unistdio/ulc-vasnprintf: New file.
64073         * modules/unistdio/ulc-vasprintf: New file.
64074         * modules/unistdio/ulc-vfprintf: New file.
64075         * modules/unistdio/ulc-vsnprintf: New file.
64076         * modules/unistdio/ulc-vsprintf: New file.
64077         * modules/unistdio/u8-asnprintf: New file.
64078         * modules/unistdio/u8-asprintf: New file.
64079         * modules/unistdio/u8-printf-parse: New file.
64080         * modules/unistdio/u8-snprintf: New file.
64081         * modules/unistdio/u8-sprintf: New file.
64082         * modules/unistdio/u8-vasnprintf: New file.
64083         * modules/unistdio/u8-vasprintf: New file.
64084         * modules/unistdio/u8-vsnprintf: New file.
64085         * modules/unistdio/u8-vsprintf: New file.
64086         * modules/unistdio/u8-u8-asnprintf: New file.
64087         * modules/unistdio/u8-u8-asprintf: New file.
64088         * modules/unistdio/u8-u8-snprintf: New file.
64089         * modules/unistdio/u8-u8-sprintf: New file.
64090         * modules/unistdio/u8-u8-vasnprintf: New file.
64091         * modules/unistdio/u8-u8-vasprintf: New file.
64092         * modules/unistdio/u8-u8-vsnprintf: New file.
64093         * modules/unistdio/u8-u8-vsprintf: New file.
64094         * modules/unistdio/u16-asnprintf: New file.
64095         * modules/unistdio/u16-asprintf: New file.
64096         * modules/unistdio/u16-printf-parse: New file.
64097         * modules/unistdio/u16-snprintf: New file.
64098         * modules/unistdio/u16-sprintf: New file.
64099         * modules/unistdio/u16-vasnprintf: New file.
64100         * modules/unistdio/u16-vasprintf: New file.
64101         * modules/unistdio/u16-vsnprintf: New file.
64102         * modules/unistdio/u16-vsprintf: New file.
64103         * modules/unistdio/u16-u16-asnprintf: New file.
64104         * modules/unistdio/u16-u16-asprintf: New file.
64105         * modules/unistdio/u16-u16-snprintf: New file.
64106         * modules/unistdio/u16-u16-sprintf: New file.
64107         * modules/unistdio/u16-u16-vasnprintf: New file.
64108         * modules/unistdio/u16-u16-vasprintf: New file.
64109         * modules/unistdio/u16-u16-vsnprintf: New file.
64110         * modules/unistdio/u16-u16-vsprintf: New file.
64111         * modules/unistdio/u32-asnprintf: New file.
64112         * modules/unistdio/u32-asprintf: New file.
64113         * modules/unistdio/u32-printf-parse: New file.
64114         * modules/unistdio/u32-snprintf: New file.
64115         * modules/unistdio/u32-sprintf: New file.
64116         * modules/unistdio/u32-vasnprintf: New file.
64117         * modules/unistdio/u32-vasprintf: New file.
64118         * modules/unistdio/u32-vsnprintf: New file.
64119         * modules/unistdio/u32-vsprintf: New file.
64120         * modules/unistdio/u32-u32-asnprintf: New file.
64121         * modules/unistdio/u32-u32-asprintf: New file.
64122         * modules/unistdio/u32-u32-snprintf: New file.
64123         * modules/unistdio/u32-u32-sprintf: New file.
64124         * modules/unistdio/u32-u32-vasnprintf: New file.
64125         * modules/unistdio/u32-u32-vasprintf: New file.
64126         * modules/unistdio/u32-u32-vsnprintf: New file.
64127         * modules/unistdio/u32-u32-vsprintf: New file.
64128         * modules/unistdio/ulc-asnprintf-tests: New file.
64129         * modules/unistdio/ulc-vasnprintf-tests: New file.
64130         * modules/unistdio/ulc-vasprintf-tests: New file.
64131         * modules/unistdio/ulc-vsnprintf-tests: New file.
64132         * modules/unistdio/ulc-vsprintf-tests: New file.
64133         * modules/unistdio/u8-asnprintf-tests: New file.
64134         * modules/unistdio/u8-vasnprintf-tests: New file.
64135         * modules/unistdio/u8-vasprintf-tests: New file.
64136         * modules/unistdio/u8-vsnprintf-tests: New file.
64137         * modules/unistdio/u8-vsprintf-tests: New file.
64138         * modules/unistdio/u16-asnprintf-tests: New file.
64139         * modules/unistdio/u16-vasnprintf-tests: New file.
64140         * modules/unistdio/u16-vasprintf-tests: New file.
64141         * modules/unistdio/u16-vsnprintf-tests: New file.
64142         * modules/unistdio/u16-vsprintf-tests: New file.
64143         * modules/unistdio/u32-asnprintf-tests: New file.
64144         * modules/unistdio/u32-vasnprintf-tests: New file.
64145         * modules/unistdio/u32-vasprintf-tests: New file.
64146         * modules/unistdio/u32-vsnprintf-tests: New file.
64147         * modules/unistdio/u32-vsprintf-tests: New file.
64148         * MODULES.html.sh (Unicode string functions): Add the new modules.
64149
64150 2007-07-01  Bruno Haible  <bruno@clisp.org>
64151
64152         * lib/sprintf.c (sprintf): Limit the available length estimation,
64153         to avoid address wraparound.
64154         * lib/vsprintf.c (vsprintf): Likewise.
64155         * modules/sprintf-posix (Dependencies): Add stdint.
64156         * modules/vsprintf-posix (Dependencies): Likewise.
64157
64158 2007-07-01  Bruno Haible  <bruno@clisp.org>
64159
64160         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
64161         Windows PATH as well. Conservative double-quoting. Comments.
64162
64163 2007-07-01  Bruno Haible  <bruno@clisp.org>
64164             Eric Blake  <ebb9@byu.net>
64165             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64166
64167         * gnulib-tool (self_abspathname): Fix algorithm to cope with
64168         empty components in $PATH, denoting '.'.
64169
64170 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64171
64172         * gnulib-tool: Fix indentation.
64173         (func_create_megatestdir): Likewise.
64174         Report by Bruno Haible.
64175
64176 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64177
64178         Sync from Automake.
64179         * build-aux/gnupload: Fix shell portability issues with for loops.
64180         Report by Karl Berry.
64181
64182 2007-06-29  Simon Josefsson  <simon@josefsson.org>
64183
64184         * build-aux/maint.mk (POURL): Use translationproject.org.
64185
64186 2007-06-27  Simon Josefsson  <simon@josefsson.org>
64187             Bruno Haible  <bruno@clisp.org>
64188
64189         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
64190         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
64191         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
64192         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
64193         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
64194
64195 2007-06-27  Bruno Haible  <bruno@clisp.org>
64196
64197         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
64198         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
64199
64200 2007-06-26  Karl Berry  <karl@gnu.org>
64201
64202         * MODULES.html.sh: remove xreadlink-with-size.
64203
64204 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64205
64206         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
64207         method that I hope also handles the double-include problem noted
64208         by Bruno Haible in
64209         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
64210
64211 2007-06-23  Bruno Haible  <bruno@clisp.org>
64212
64213         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64214         Don't let the 'mostlyclean' target fail if the last subdirectory could
64215         not be removed.
64216         Reported by Karl Berry.
64217
64218 2007-06-23  Bruno Haible  <bruno@clisp.org>
64219
64220         * gnulib-tool (echo): Add a speedier workaround for ksh.
64221         * tests/test-echo.sh: Likewise.
64222
64223 2007-06-23  Bruno Haible  <bruno@clisp.org>
64224
64225         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
64226         * tests/test-echo.sh: Likewise.
64227
64228 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64229
64230         * gnulib-tool (IFS): Initialize early, so we don't set it to
64231         empty later.
64232         (self_abspathname): Rewrite algorithm to set it, reindent.
64233         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
64234         (func_create_megatestdir): Merge some sed scripts.
64235
64236 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64237
64238         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
64239         exposed by Sun Studio 11 cc on Solaris 8.
64240
64241 2007-06-22  Bruno Haible  <bruno@clisp.org>
64242
64243         * gnulib-tool (echo): Ensure the echo primitive does not interpret
64244         backslashes.
64245         * tests/test-echo.sh: New file.
64246
64247 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64248
64249         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
64250         simplify `sed_replace_build_aux' scripts, they are portable but
64251         echoing them with `echo' is not.
64252         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
64253
64254 2007-06-21  Karl Berry  <karl@gnu.org>
64255
64256         * config/srclist.txt: guess we can't handle the licenses via
64257         srclist at the moment.
64258
64259 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
64260
64261         * MODULES.html.sh: Add include_next.
64262         * modules/include_next: New file.
64263
64264 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
64265
64266         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
64267         INCLUDE_NEXT.
64268         (gl_CHECK_NEXT_HEADERS): New macro.
64269         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
64270         the obsolescent gl_ABSOLUTE_HEADER.
64271         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
64272         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
64273         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
64274         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
64275         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
64276         * m4/math_h.m4 (gl_MATH_H): Likewise.
64277         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
64278         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
64279         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
64280         * m4/stdint.m4 (gl_STDINT_H): Likewise.
64281         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
64282         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
64283         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
64284         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64285         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
64286         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
64287         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
64288         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
64289         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
64290         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
64291         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
64292         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64293         * m4/inttypes.m4 (gl_INTTYPES_H): Define
64294         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
64295         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
64296         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
64297         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
64298         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
64299         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
64300         * lib/float_.h: Likewise.
64301         * lib/inttypes_.h: Likewise.
64302         * lib/math_.h: Likewise.
64303         * lib/search_.h: Likewise.
64304         * lib/signal_.h: Likewise.
64305         * lib/stdint_.h: Likewise.
64306         * lib/stdio_.h: Likewise.
64307         * lib/stdlib_.h: Likewise.
64308         * lib/string_.h: Likewise.
64309         * lib/sys_stat_.h: Likewise.
64310         * lib/sys_time_.h: Likewise.
64311         * lib/time_.h: Likewise.
64312         * lib/unistd_.h: Likewise.
64313         * lib/wchar_.h: Likewise.
64314         * lib/wctype_.h: Likewise.
64315         * lib/dirent_.h: Likewise.
64316         * lib/iconv_.h: Likewise.
64317         * lib/locale_.h: Likewise.
64318         * lib/netinet_in_.h: Likewise.
64319         * lib/sys_select_.h: Likewise.
64320         * lib/sys_socket_.h: Likewise.
64321         * lib/sysexits_.h: Likewise.
64322         * modules/fcntl (Depends-on): Depend on include_next, not
64323         absolute_header.
64324         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
64325         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
64326         * modules/fchdir: Likewise.
64327         * modules/float: Likewise.
64328         * modules/iconv_open: Likewise.
64329         * modules/inttypes: Likewise.
64330         * modules/locale: Likewise.
64331         * modules/math: Likewise.
64332         * modules/netinet_in: Likewise.
64333         * modules/search: Likewise.
64334         * modules/signal: Likewise.
64335         * modules/stdint: Likewise.
64336         * modules/stdio: Likewise.
64337         * modules/stdlib: Likewise.
64338         * modules/string: Likewise.
64339         * modules/sys_select: Likewise.
64340         * modules/sys_socket: Likewise.
64341         * modules/sys_stat: Likewise.
64342         * modules/sys_time: Likewise.
64343         * modules/sysexits: Likewise.
64344         * modules/time: Likewise.
64345         * modules/unistd: Likewise.
64346         * modules/wchar: Likewise.
64347         * modules/wctype: Likewise.
64348         * modules/sys_stat: Change maintainer to "all".
64349         * modules/unistd: Likewise.
64350
64351 2007-06-20  Karl Berry  <karl@gnu.org>
64352
64353         * config/srclist.txt: track www changes in license files.
64354
64355 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
64356
64357         * build-aux/bootstrap: Remove stray dot.
64358         Make sure build_aux settings are honored when linking
64359         gnulib_extra_files.
64360
64361 2007-06-19  Eric Blake  <ebb9@byu.net>
64362
64363         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
64364         Allow compilation on cygwin.
64365
64366 2007-06-19  Jim Meyering  <jim@meyering.net>
64367
64368         xreadlink-with-size: Remove module.  No longer used.
64369         Ex-callers now use xreadlink or mreadlink-with-size.
64370         * modules/xreadlink-with-size: Remove module.
64371         * lib/xreadlink-with-size.c: Remove file.
64372         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
64373         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
64374         just before the function definition *is* accurate.
64375
64376         Eliminate one way canonicalize_filename_mode could exit.
64377         * lib/canonicalize.c (canonicalize_filename_mode):
64378         Use mreadlink_with_size, not xreadlink_with_size.
64379
64380 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
64381
64382         Detect porting problems to FreeBSD/arm, which has time_t wider than
64383         long int.  Original problem reported for GNU diff by Xin Li in
64384         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
64385         * modules/getdate (Depends-on): Add intprops, verify.
64386         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
64387         is an integer type no wider than long int.
64388
64389 2007-06-18  Jim Meyering  <jim@meyering.net>
64390
64391         New module: mreadlink-with-size.
64392         * MODULES.html.sh: Add mreadlink-with-size.
64393         * modules/mreadlink-with-size: New module
64394         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
64395         not xreadlink-with-size.
64396         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
64397
64398 2007-06-16  Bruno Haible  <bruno@clisp.org>
64399
64400         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
64401         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
64402         Reported by Gary V. Vaughan <gary@gnu.org>.
64403
64404 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
64405
64406         Revamp lchown so that it lives in unistd.h where it belongs.
64407         * lib/lchown.h: Remove.
64408         * lib/dirchownmod.c: Don't include lib/lchown.h.
64409         * lib/fchownat.c: Likewise.
64410         * lib/openat.c: Likewise.
64411         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
64412         does not follow symlinks.
64413         (EOPNOTSUPP): Define if not defined.
64414         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
64415         is defined to 0.
64416         (lchown): New decl.
64417         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
64418         Do not check for lchown decl.
64419         Set REPLACE_LCHOWN.
64420         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
64421         REPLACE_LCHOWN.
64422         * modules/chown: Make it clear it follows symlinks.
64423         * modules/lchown: Make it clear it doesn't follow symlinks.
64424         (Files): Remove lib/lchown.h
64425         (Depends-on): Add unistd.
64426         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
64427         (Include): Include <unistd.h>, not "lchown.h".
64428         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
64429         REPLACE_LCHOWN.
64430
64431 2007-06-15  Jim Meyering  <jim@meyering.net>
64432
64433         Change license (GPL to LGPL) of fsusage and dependents.
64434         * modules/fsusage (License): Change to LGPL.
64435         * modules/full-read (License): Likewise.
64436         * modules/full-write (License): Likewise.
64437         * modules/safe-read (License): Likewise.
64438         * modules/safe-write (License): Likewise.
64439
64440 2007-06-14  Ben Pfaff  <blp@gnu.org>
64441
64442         Missing part of allocsa -> malloca transition.
64443         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
64444         gl_MALLOCA.
64445
64446 2007-06-12  Bruno Haible  <bruno@clisp.org>
64447
64448         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
64449         to ia64, x86_64, i386.
64450         Reported by Eric Blake.
64451
64452 2007-06-12  Bruno Haible  <bruno@clisp.org>
64453
64454         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
64455         cross-compiling to x86_64.
64456
64457 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
64458
64459         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
64460         glitch reported by Ralf Wildenhues in
64461         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
64462
64463         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
64464         Vin Shelton.
64465
64466 2007-06-11  Bruno Haible  <bruno@clisp.org>
64467
64468         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
64469         replacement string.
64470         Reported by Eric Blake.
64471
64472 2007-06-10  Bruno Haible  <bruno@clisp.org>
64473
64474         Prepare vasnprintf code for use with Unicode strings.
64475         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
64476         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
64477         TYPE_U32_STRING.
64478         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
64479         a_u32_string variants.
64480         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64481         * lib/printf-args.c: Don't include config.h and the specification
64482         header if PRINTF_FETCHARGS is already defined.
64483         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64484         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
64485         TYPE_U16_STRING, TYPE_U32_STRING.
64486         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
64487         u16_directive, u16_directives, u32_directive, u32_directives): New
64488         types.
64489         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
64490         New declarations.
64491         * lib/printf-parse.c: Don't include config.h and the specification
64492         header if PRINTF_PARSE is already defined. Eliminate the set of
64493         parameters for WIDE_CHAR_VERSION; the user of this file must provide
64494         them now. Include c-ctype.h.
64495         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
64496         directive and CHAR_T_ONLY_ASCII.
64497         * lib/vasnprintf.c: Don't include config.h and the specification header
64498         if VASNPRINTF is already defined.
64499         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
64500         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
64501         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
64502         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
64503         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
64504         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
64505         code accordingly.
64506         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
64507         pad_ourselves also in this case, with the 'c' and 's' directives, and
64508         with a different notion of "width".
64509         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
64510
64511 2007-06-10  Bruno Haible  <bruno@clisp.org>
64512
64513         * modules/unistr/u32-mbsnlen: New file.
64514         * lib/unistr/u32-mbsnlen.c: New file.
64515
64516         * modules/unistr/u16-mbsnlen: New file.
64517         * lib/unistr/u16-mbsnlen.c: New file.
64518
64519         * modules/unistr/u8-mbsnlen: New file.
64520         * lib/unistr/u8-mbsnlen.c: New file.
64521
64522         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
64523         declarations.
64524
64525 2007-06-10  Bruno Haible  <bruno@clisp.org>
64526
64527         * lib/string_.h (mbsnlen): New declaration.
64528         * lib/mbsnlen.c: New file.
64529         * m4/mbsnlen.m4: New file.
64530         * modules/mbsnlen: New file.
64531         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
64532         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
64533         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
64534
64535 2007-06-10  Bruno Haible  <bruno@clisp.org>
64536
64537         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
64538
64539 2007-06-10  Bruno Haible  <bruno@clisp.org>
64540
64541         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
64542         * lib/mbuiter.h: Likewise.
64543
64544 2007-06-10  Bruno Haible  <bruno@clisp.org>
64545
64546         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
64547         declaration.
64548
64549 2007-06-10  Karl Berry  <karl@gnu.org>
64550
64551         * config/srclist.txt: remove gettext entries, Bruno prefers
64552         to update individually.
64553
64554 2007-06-10  Bruno Haible  <bruno@clisp.org>
64555
64556         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
64557         'maxlen'. Ensure only length + width bytes are allocated, not
64558         length + 1 + width.
64559
64560 2007-06-09  Bruno Haible  <bruno@clisp.org>
64561
64562         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
64563         (CHAR_T): Remove macro.
64564         (VASNPRINTF): Update.
64565
64566 2007-06-09  Bruno Haible  <bruno@clisp.org>
64567
64568         * MODULES.html.sh (Unicode string functions): Add the new modules.
64569
64570         * modules/uniconv/u32-conv-to-enc: New file.
64571         * lib/uniconv/u32-conv-to-enc.c: New file.
64572         * modules/uniconv/u32-conv-to-enc-tests: New file.
64573         * tests/uniconv/test-u32-conv-to-enc.c: New file.
64574
64575         * modules/uniconv/u16-conv-to-enc: New file.
64576         * lib/uniconv/u16-conv-to-enc.c: New file.
64577         * lib/uniconv/u-conv-to-enc.h: New file.
64578         * modules/uniconv/u16-conv-to-enc-tests: New file.
64579         * tests/uniconv/test-u16-conv-to-enc.c: New file.
64580
64581         * modules/uniconv/u8-conv-to-enc: New file.
64582         * lib/uniconv/u8-conv-to-enc.c: New file.
64583         * modules/uniconv/u8-conv-to-enc-tests: New file.
64584         * tests/uniconv/test-u8-conv-to-enc.c: New file.
64585
64586         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
64587         u32_conv_to_encoding): New declarations.
64588
64589 2007-06-09  Bruno Haible  <bruno@clisp.org>
64590
64591         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
64592
64593 2007-06-09  Bruno Haible  <bruno@clisp.org>
64594
64595         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
64596         * modules/malloca: Renamed from modules/allocsa, updated.
64597         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
64598         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
64599         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
64600         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
64601         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
64602         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
64603         * modules/xmalloca: Renamed from modules/xallocsa, updated.
64604         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
64605         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
64606         * modules/c-strcasestr (Depends-on): Update.
64607         * lib/c-strcasestr.c: Update.
64608         * modules/c-strstr (Depends-on): Update.
64609         * lib/c-strstr.c: Update.
64610         * modules/canonicalize-lgpl (Depends-on): Update.
64611         * lib/canonicalize-lgpl.c: Update.
64612         * modules/clean-temp (Depends-on): Update.
64613         * lib/clean-temp.c: Update.
64614         * modules/csharpcomp (Depends-on): Update.
64615         * lib/csharpcomp.c: Update.
64616         * modules/csharpexec (Depends-on): Update.
64617         * lib/csharpexec.c: Update.
64618         * modules/javacomp (Depends-on): Update.
64619         * lib/javacomp.c: Update.
64620         * modules/javaexec (Depends-on): Update.
64621         * lib/javaexec.c: Update.
64622         * modules/mbscasestr (Depends-on): Update.
64623         * lib/mbscasestr.c: Update.
64624         * modules/mbsstr (Depends-on): Update.
64625         * lib/mbsstr.c: Update.
64626         * modules/setenv (Depends-on): Update.
64627         * lib/setenv.c: Update.
64628         * modules/strcasestr (Depends-on): Update.
64629         * lib/strcasestr.c: Update.
64630         * modules/striconveha (Depends-on): Update.
64631         * lib/striconveha.c: Update.
64632         * modules/relocatable-prog-wrapper (Files): Update.
64633         * lib/relocwrapper.c: Update.
64634         * build-aux/install-reloc: Update.
64635         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
64636
64637 2007-06-08  Bruno Haible  <bruno@clisp.org>
64638
64639         Port to uClibc.
64640         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
64641         * lib/fpurge.c (fpurge): Likewise.
64642         * lib/freading.c (freading): Likewise.
64643         * lib/fseeko.c (rpl_fseeko): Likewise.
64644         * lib/fseterr.c (fseterr): Likewise.
64645         * lib/fwriting.c (fwriting): Likewise.
64646         * tests/test-fflush.c (main): Avoid a failure on uClibc.
64647
64648 2007-06-08  Bruno Haible  <bruno@clisp.org>
64649
64650         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
64651         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
64652         * modules/gettext (Files): Add m4/intlmacosx.m4.
64653
64654 2007-06-07  Bruno Haible  <bruno@clisp.org>
64655
64656         * modules/localename-tests: New file.
64657         * tests/test-localename.c: New file.
64658
64659         New module 'localename'.
64660         * lib/localename.h: New file.
64661         * lib/localename.c: New file, from GNU gettext.
64662         * m4/localename.m4: New file.
64663         * modules/localename: New file.
64664
64665 2007-06-07  Bruno Haible  <bruno@clisp.org>
64666
64667         Work around the lack of <wchar.h> on some builds of uClibc.
64668         * doc/headers/wchar.texi: Update.
64669         * lib/wchar_.h: Include <wchar.h> only if it exists.
64670         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
64671         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
64672         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
64673         doesn't exist.
64674         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
64675         * modules/mbfile (Depends-on): Add wchar.
64676         * modules/mbiter (Depends-on): Likewise.
64677         * modules/mbuiter (Depends-on): Likewise.
64678         Reported by Simon Josefsson.
64679
64680 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
64681
64682         Work around problem reported by Steven M. Schweda in
64683         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
64684         Tru64 5.1B with the Compaq compiler environment installed declares
64685         an 'isblank' function but does not define it in the C library.
64686         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
64687         * lib/regex_internal.h (isblank): Likewise.
64688         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
64689         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64690
64691 2007-06-05  Bruno Haible  <bruno@clisp.org>
64692
64693         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
64694         ia64.
64695         * modules/printf-safe: New file.
64696         * modules/fprintf-posix (Depends-on): Add printf-safe.
64697         * modules/printf-posix (Depends-on): Likewise.
64698         * modules/snprintf-posix (Depends-on): Likewise.
64699         * modules/sprintf-posix (Depends-on): Likewise.
64700         * modules/vasnprintf-posix (Depends-on): Likewise.
64701         * modules/vasprintf-posix (Depends-on): Likewise.
64702         * modules/vfprintf-posix (Depends-on): Likewise.
64703         * modules/vprintf-posix (Depends-on): Likewise.
64704         * modules/vsnprintf-posix (Depends-on): Likewise.
64705         * modules/vsprintf-posix (Depends-on): Likewise.
64706         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
64707         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
64708         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
64709         "no" on i386, x86_64, ia64.
64710         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
64711         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64712         on i386, x86_64, ia64.
64713         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
64714         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64715         on i386, x86_64, ia64.
64716         * tests/test-vasnprintf-posix.c: Include float.h.
64717         (LDBL80_WORDS): New macro.
64718         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64719         on i386, x86_64, ia64.
64720         * tests/test-vasprintf-posix.c: Include float.h.
64721         (LDBL80_WORDS): New macro.
64722         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64723         on i386, x86_64, ia64.
64724         * tests/test-snprintf-posix.c: Include float.h.
64725         * tests/test-sprintf-posix.c: Likewise.
64726         * tests/test-vsnprintf-posix.c: Likewise.
64727         * tests/test-vsprintf-posix.c: Likewise.
64728
64729 2007-06-05  Bruno Haible  <bruno@clisp.org>
64730
64731         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
64732         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
64733         non-IEEE numbers on i386, x86_64, ia64.
64734         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
64735         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
64736         * tests/test-isnanl.h: Include float.h.
64737         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
64738
64739 2007-06-05  Bruno Haible  <bruno@clisp.org>
64740
64741         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
64742         also the %a / %A. Handle the %a / %A code before this extra handling.
64743
64744 2007-06-05  Bruno Haible  <bruno@clisp.org>
64745
64746         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
64747         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
64748
64749 2007-06-05  Bruno Haible  <bruno@clisp.org>
64750
64751         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
64752         typo in variable name.
64753
64754 2007-06-05  Eric Blake  <ebb9@byu.net>
64755
64756         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
64757         Reported by Simon Josefsson.
64758
64759 2007-06-04  Bruno Haible  <bruno@clisp.org>
64760
64761         Avoid test failures on some PowerPC platforms.
64762         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
64763         Define differently for PowerPC.
64764         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
64765         Reported by Gary V. Vaughan <gary@gnu.org>.
64766
64767 2007-06-02  Bruno Haible  <bruno@clisp.org>
64768
64769         Fix test-stdint failure on FreeBSD/ia64.
64770         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
64771         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
64772         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
64773         * doc/headers/stdint.texi: Update.
64774
64775 2007-06-01  Bruno Haible  <bruno@clisp.org>
64776
64777         * tests/test-binary-io.c (main): Pass a third argument to open().
64778         Reported by Gary V. Vaughan <gary@gnu.org>.
64779
64780 2007-06-01  Bruno Haible  <bruno@clisp.org>
64781
64782         * doc/functions/frexpl.texi: Update for mingw.
64783
64784 2007-06-01  Bruno Haible  <bruno@clisp.org>
64785
64786         * tests/test-lseek.c (main): Disable test of errno for invalid third
64787         argument.
64788         * doc/functions/lseek.texi: Update.
64789         Reported by Gary V. Vaughan <gary@gnu.org>.
64790
64791 2007-05-28  Bruno Haible  <bruno@clisp.org>
64792
64793         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
64794
64795 2007-05-31  Eric Blake  <ebb9@byu.net>
64796
64797         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
64798         cross compiling.
64799
64800 2007-05-30  Eric Blake  <ebb9@byu.net>
64801         and Bruno Haible  <bruno@clisp.org>
64802
64803         Work around mingw test failures exposed by m4-1.4.9b.
64804         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
64805         * tests/test-unistd.c: Disable uid_t and git_t tests for the
64806         moment.
64807
64808 2007-05-30  Bruno Haible  <bruno@clisp.org>
64809
64810         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
64811         assuming that they are closed. Needed on HP-UX 11.
64812
64813 2007-05-29  Bruno Haible  <bruno@clisp.org>
64814
64815         Fix a problem with #include_next.
64816         * lib/dirent_.h: Split the double-inclusion guard.
64817         * lib/fcntl_.h: Likewise.
64818         * lib/float_.h: Likewise.
64819         * lib/iconv_.h: Likewise.
64820         * lib/inttypes_.h: Likewise.
64821         * lib/locale_.h: Likewise.
64822         * lib/math_.h: Likewise.
64823         * lib/netinet_in_.h: Likewise.
64824         * lib/search_.h: Likewise.
64825         * lib/signal_.h: Likewise.
64826         * lib/stdint_.h: Likewise.
64827         * lib/stdio_.h: Likewise.
64828         * lib/stdlib_.h: Likewise.
64829         * lib/string_.h: Likewise.
64830         * lib/sys_select_.h: Likewise.
64831         * lib/sys_socket_.h: Likewise.
64832         * lib/sys_stat_.h: Likewise.
64833         * lib/sys_time_.h: Likewise.
64834         * lib/sysexits_.h: Likewise.
64835         * lib/time_.h: Likewise.
64836         * lib/unistd_.h: Likewise.
64837         * lib/wchar_.h: Likewise.
64838         * lib/wctype_.h: Likewise.
64839
64840 2007-05-29  Bruno Haible  <bruno@clisp.org>
64841
64842         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
64843         for the moment.
64844
64845 2007-05-29  Bruno Haible  <bruno@clisp.org>
64846
64847         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
64848         invocation.
64849         Reported by Eric Blake.
64850
64851 2007-05-29  Bruno Haible  <bruno@clisp.org>
64852
64853         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
64854         compiling case.
64855
64856 2007-05-29  Eric Blake  <ebb9@byu.net>
64857             Bruno Haible  <bruno@clisp.org>
64858
64859         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
64860         cross compiles.
64861
64862 2007-05-28  Eric Blake  <ebb9@byu.net>
64863
64864         * modules/closein-tests (test_closein_LDADD): Support test on
64865         cygwin with libtool.
64866
64867 2007-05-28  Bruno Haible  <bruno@clisp.org>
64868
64869         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
64870         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
64871         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
64872         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
64873         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
64874         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
64875         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
64876         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
64877         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
64878
64879 2007-05-28  Eric Blake  <ebb9@byu.net>
64880
64881         Unconditionally include <config.h> in unit tests.
64882         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
64883         * tests/test-allocsa.c, tests/test-arcfour.c,
64884         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
64885         tests/test-array_list.c, tests/test-array_oset.c,
64886         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
64887         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
64888         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
64889         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
64890         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
64891         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
64892         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
64893         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
64894         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
64895         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
64896         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
64897         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
64898         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
64899         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
64900         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
64901         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
64902         test-md5.c, test-memmem.c, test-printf-posix.c,
64903         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
64904         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
64905         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
64906         test-strcasestr.c, test-striconv.c, test-striconveh.c,
64907         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
64908         test-vasnprintf-posix2.c, test-vasnprintf.c,
64909         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
64910         test-vfprintf-posix.c, test-vprintf-posix.c,
64911         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
64912         test-xvasprintf.c: Likewise.
64913
64914 2007-05-28  Bruno Haible  <bruno@clisp.org>
64915
64916         * gnulib-tool (func_import): Remember the --with-tests command-line
64917         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
64918         Reported by Eric Blake.
64919
64920 2007-05-28  Bruno Haible  <bruno@clisp.org>
64921
64922         * modules/ftell-tests: New file.
64923         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
64924         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
64925
64926         * lib/ftell.c: New file.
64927         * modules/ftell: New file.
64928         * m4/ftell.m4: New file.
64929         * doc/functions/ftell.texi: Update.
64930         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
64931         REPLACE_FTELL.
64932         * lib/stdio_.h (rpl_ftell): New declaration.
64933         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
64934         REPLACE_FTELL.
64935
64936 2007-05-28  Eric Blake  <ebb9@byu.net>
64937
64938         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
64939
64940 2007-05-28  Bruno Haible  <bruno@clisp.org>
64941
64942         * modules/fseek-tests: New file.
64943         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
64944         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
64945
64946         * lib/fseek.c: New file.
64947         * modules/fseek: New file.
64948         * m4/fseek.m4: New file.
64949         * doc/functions/fseek.texi: Update.
64950         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
64951         REPLACE_FSEEK.
64952         * lib/stdio_.h (rpl_fseek): New declaration.
64953         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
64954         REPLACE_FSEEK.
64955
64956 2007-05-28  Bruno Haible  <bruno@clisp.org>
64957
64958         * lib/stdio_.h (fflush): More comments.
64959
64960 2007-05-28  Bruno Haible  <bruno@clisp.org>
64961
64962         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
64963         runtime test.
64964
64965 2007-05-28  Eric Blake  <ebb9@byu.net>
64966
64967         Improve lseek module.
64968         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
64969         * lib/unistd_.h (lseek): Scale back link warning message.
64970         * tests/test-lseek.c: Beef up test.
64971         * tests/test-lseek.sh: Exercise more facets of lseek.
64972         Reported by Bruno Haible.
64973
64974 2007-05-28  Bruno Haible  <bruno@clisp.org>
64975
64976         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
64977         to define.
64978
64979 2007-05-27  Bruno Haible  <bruno@clisp.org>
64980
64981         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
64982
64983 2007-05-27  Bruno Haible  <bruno@clisp.org>
64984
64985         * modules/openmp: New file.
64986         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
64987         Noah Misch.
64988
64989 2007-05-26  Bruno Haible  <bruno@clisp.org>
64990
64991         * modules/chdir-long (Depends-on): Add fchdir.
64992         * modules/chdir-safer (Depends-on): Likewise.
64993         * modules/fts (Depends-on): Likewise.
64994         * modules/fts-lgpl (Depends-on): Likewise.
64995         * modules/openat (Depends-on): Likewise.
64996         * modules/savewd (Depends-on): Likewise.
64997
64998 2007-05-24  Eric Blake  <ebb9@byu.net>
64999
65000         Fix lseek on mingw.
65001         * modules/lseek: New module.
65002         * m4/lseek.m4: New file.
65003         * lib/lseek.c: New file.
65004         * modules/lseek-tests: New file.
65005         * tests/test-lseek.c: New file.
65006         * tests/test-lseek.sh: New file.
65007         * MODULES.html.sh: Document lseek module.
65008         * modules/fflush (Depends-on): Add lseek, fseeko.
65009         * modules/fseeko (Depends-on): Likewise.
65010         * modules/ftello (Depends-on): Likewise.
65011         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
65012         broken.
65013         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
65014         broken.
65015         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
65016         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
65017         * lib/ftello.c (rpl_ftello): Likewise.
65018         * tests/test-fseeko.c (main): Test this.
65019         * tests/test-fseeko.sh: Likewise.
65020         * tests/test-ftello.c (main): Likewise.
65021         * tests/test-ftello.sh: Likewise.
65022         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
65023         implies replacing fseek.
65024         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
65025         HAVE_FTELLO.
65026         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
65027         * modules/unistd (Makefile.am): Likewise.
65028         * lib/unistd_.h (lseek): Declare a replacement.
65029         * doc/functions/lseek.texi (lseek): Document this fix.
65030         * doc/functions/fseek.texi (fseek): Likewise.
65031         * doc/functions/ftell.texi (ftell): Likewise.
65032
65033 2007-05-24  Bruno Haible  <bruno@clisp.org>
65034
65035         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
65036         in the printed representation of a NaN.
65037         * tests/test-vasprintf-posix.c (test_function): Likewise.
65038         * tests/test-snprintf-posix.h (test_function): Likewise.
65039         * tests/test-sprintf-posix.h (test_function): Likewise.
65040         Reported by Eric Blake.
65041
65042 2007-05-23  Eric Blake  <ebb9@byu.net>
65043
65044         Fix fseeko/ftello on cygwin 1.5.24.
65045         * doc/functions/fseeko.texi (fseeko): Document the fix.
65046         * doc/functions/ftello.texi (ftello): Document the fix.
65047         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
65048         * doc/functions/stdout.text (stdout): New file.
65049         * doc/functions/stderr.text (stderr): New file.
65050         * doc/gnulib.texi (Function Substitutes): Use new files.
65051         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
65052         prior to 1.7.0.
65053         * tests/test-ftello.c (main): Likewise for ftello.
65054         * tests/test-fseeko.sh: New file.
65055         * tests/test-ftello.sh: New file.
65056         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
65057         with seekable stdin.
65058         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
65059         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
65060         (gl_REPLACE_FSEEKO): New macro.
65061         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
65062         * modules/fseeko (Files): Distribute fseeko.c.
65063         * modules/ftello (Files): Distribute ftello.c.
65064         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
65065         mode.
65066         * lib/ftello.c (rpl_ftello): New file.
65067         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
65068         fseeko, ftello.
65069         (gl_STDIN_LARGE_OFFSET): New macro.
65070         * modules/stdio (Makefile.am): Perform the replacement.
65071         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
65072
65073 2007-05-23  Bruno Haible  <bruno@clisp.org>
65074
65075         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
65076         GNULIB_POSIXCHECK is defined.
65077
65078 2007-05-21  Bruno Haible  <bruno@clisp.org>
65079
65080         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
65081         Check also the output for NaN arguments. When cross-compiling, guess
65082         no on IRIX.
65083         * lib/vasnprintf.c: Update comments.
65084         * tests/test-vasnprintf-posix.c (strisnan): New function.
65085         (test_function): Use it.
65086         * tests/test-vasprintf-posix.c (strisnan): New function.
65087         (test_function): Use it.
65088         * tests/test-snprintf-posix.h (strisnan): New function.
65089         (test_function): Use it.
65090         * tests/test-sprintf-posix.h (strisnan): New function.
65091         (test_function): Use it.
65092         Reported by Eric Blake.
65093
65094 2007-05-20  Bruno Haible  <bruno@clisp.org>
65095
65096         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
65097         numbers that fails on BeOS.
65098         * doc/functions/frexpl.texi: Update.
65099
65100 2007-05-20  Jim Meyering  <jim@meyering.net>
65101
65102         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
65103         forced upon us by glibc-2.6.
65104
65105 2007-05-20  Bruno Haible  <bruno@clisp.org>
65106
65107         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
65108         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
65109         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
65110         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
65111         NEED_PRINTF_INFINITE.
65112         (is_infinitel): New function.
65113         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
65114         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
65115         gl_PREREQ_VASNPRINTF_INFINITE.
65116         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
65117         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65118         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
65119         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
65120         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
65121         gl_PREREQ_VASNPRINTF_INFINITE.
65122         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65123         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65124         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65125         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65126         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65127         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65128         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65129         * doc/functions/fprintf.texi: Update.
65130         * doc/functions/printf.texi: Update.
65131         * doc/functions/snprintf.texi: Update.
65132         * doc/functions/sprintf.texi: Update.
65133         * doc/functions/vfprintf.texi: Update.
65134         * doc/functions/vprintf.texi: Update.
65135         * doc/functions/vsnprintf.texi: Update.
65136         * doc/functions/vsprintf.texi: Update.
65137
65138 2007-05-20  Bruno Haible  <bruno@clisp.org>
65139
65140         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
65141         was not found in libc.
65142         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65143
65144 2007-05-20  Bruno Haible  <bruno@clisp.org>
65145
65146         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65147         printed as "-nan" instead of "nan".
65148         * tests/test-vasprintf-posix.c (test_function): Likewise.
65149         * tests/test-snprintf-posix.h (test_function): Likewise.
65150         * tests/test-sprintf-posix.h (test_function): Likewise.
65151         Needed for HP-UX 11.
65152
65153 2007-05-20  Jim Meyering  <jim@meyering.net>
65154
65155         Fix buggy test for the fchownat-deref bug.
65156         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
65157         symlink required for the run-test.  Without it, this test would
65158         always declare that fchownat doesn't work, and client code would
65159         unnecessarily use the replacement function with fixed libc.
65160         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
65161         Reported by Greg Schafer.
65162
65163 2007-05-19  Bruno Haible  <bruno@clisp.org>
65164
65165         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
65166         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
65167         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
65168         Needed for IRIX 6.5 and Solaris 2.5.1.
65169
65170 2007-05-19  Bruno Haible  <bruno@clisp.org>
65171
65172         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
65173         (test_function): Skip tests involving -0.0 on platforms where
65174         -0.0 = 0.0.
65175         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
65176         (test_function): Skip tests involving -0.0 on platforms where
65177         -0.0 = 0.0.
65178         * tests/test-snprintf-posix.h (have_minus_zero): New function.
65179         (test_function): Skip tests involving -0.0 on platforms where
65180         -0.0 = 0.0.
65181         * tests/test-sprintf-posix.h (have_minus_zero): New function.
65182         (test_function): Skip tests involving -0.0 on platforms where
65183         -0.0 = 0.0.
65184         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
65185         tests.
65186         * tests/test-printf-posix.h (test_function): Likewise.
65187         * tests/test-printf-posix.output: Remove all -0.0 related results.
65188         Needed for IRIX 6.5.
65189
65190 2007-05-19  Bruno Haible  <bruno@clisp.org>
65191
65192         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65193         printed as "nan0x7fffffff" instead of "nan".
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 (NaN): Remove macro.
65198         (test_function): Remove all NaN related tests.
65199         * tests/test-printf-posix.h (NaN): Remove macro.
65200         (test_function): Remove all NaN related tests.
65201         * tests/test-printf-posix.output: Remove all NaN related results.
65202         Needed for IRIX 6.5.
65203
65204 2007-05-19  Bruno Haible  <bruno@clisp.org>
65205
65206         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
65207         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65208
65209 2007-05-19  Bruno Haible  <bruno@clisp.org>
65210
65211         * lib/float_.h: New file.
65212         * m4/float_h.m4: New file.
65213         * modules/float: New file.
65214         * modules/isnanl (Dependencies): Add float.
65215         * modules/isnanl-nolibm (Dependencies): Likewise.
65216         * modules/mathl (Dependencies): Likewise.
65217         * modules/printf-frexpl (Dependencies): Likewise.
65218         * modules/signbit (Dependencies): Likewise.
65219         * modules/vasnprintf (Dependencies): Likewise.
65220         * doc/headers/float.texi: Update.
65221
65222 2007-05-19  Jim Meyering  <jim@meyering.net>
65223
65224         * lib/utimens.c (gl_futimens): Rename from futimens,
65225         now that glibc-2.6 declares futimens.
65226         * lib/utimens.h: Likewise.
65227
65228 2007-05-19  Bruno Haible  <bruno@clisp.org>
65229
65230         Avoid test failures on mingw.
65231         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
65232         * tests/test-printf-posix.sh: Likewise.
65233         * tests/test-vfprintf-posix.sh: Likewise.
65234         * tests/test-vprintf-posix.sh: Likewise.
65235
65236 2007-05-19  Bruno Haible  <bruno@clisp.org>
65237
65238         Fix *printf result for NaN, Inf, -0.0 on mingw.
65239         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
65240         * lib/vasnprintf.c: Include math.h and isnan.h.
65241         (is_infinite_or_zero): New function.
65242         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
65243         values in the %f, %F, %e, %E, %g, %G directives.
65244         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
65245         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65246         gl_PRINTF_INFINITE and test its result. Invoke
65247         gl_PREREQ_VASNPRINTF_INFINITE.
65248         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65249         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65250         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65251         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65252         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65253         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65254         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65255         * doc/functions/fprintf.texi: Update.
65256         * doc/functions/printf.texi: Update.
65257         * doc/functions/snprintf.texi: Update.
65258         * doc/functions/sprintf.texi: Update.
65259         * doc/functions/vfprintf.texi: Update.
65260         * doc/functions/vprintf.texi: Update.
65261         * doc/functions/vsnprintf.texi: Update.
65262         * doc/functions/vsprintf.texi: Update.
65263
65264 2007-05-19  Bruno Haible  <bruno@clisp.org>
65265
65266         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
65267         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
65268         Instead of multiplying with 10^k, set extra_zeroes to k.
65269         (scale10_round_long_double): Remove function.
65270
65271 2007-05-18  Bruno Haible  <bruno@clisp.org>
65272
65273         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
65274         introduced on 2007-05-06.
65275
65276 2007-05-18  Bruno Haible  <bruno@clisp.org>
65277
65278         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
65279         %g directives.
65280         * tests/test-vasprintf-posix.c (test_function): Likewise.
65281         * tests/test-snprintf-posix.h (test_function): Likewise.
65282         * tests/test-sprintf-posix.h (test_function): Likewise.
65283
65284 2007-05-18  Bruno Haible  <bruno@clisp.org>
65285
65286         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
65287         (strmatch): New function.
65288         (test_function): Test the %f directive on numbers of various exponents.
65289         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
65290         (strmatch): New function.
65291         (test_function): Test the %f directive on numbers of various exponents.
65292         * tests/test-snprintf-posix.h (strmatch): New function.
65293         (test_function): Test the %f directive on numbers of various exponents.
65294         * tests/test-sprintf-posix.h (strmatch): New function.
65295         (test_function): Test the %f directive on numbers of various exponents.
65296         * tests/test-snprintf-posix.c (SIZEOF): New macro.
65297         * tests/test-sprintf-posix.c (SIZEOF): New macro.
65298         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
65299         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
65300
65301 2007-05-18  Bruno Haible  <bruno@clisp.org>
65302
65303         Add support for 'long double' number output.
65304         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
65305         * lib/vasnprintf.c: Include math.h and float+.h.
65306         (mp_limb_t): New type.
65307         (GMP_LIMB_BITS): New macro.
65308         (mp_twolimb_t): New type.
65309         (GMP_TWOLIMB_BITS): New macro.
65310         (mpn_t): New type.
65311         (multiply, divide, convert_to_decimal, decode_long_double,
65312         scale10_round_long_double, scale10_round_decimal_long_double,
65313         floorlog10l): New functions.
65314         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
65315         for the %f, %F, %e, %E, %g, %G directives.
65316         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
65317         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65318         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
65319         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
65320         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65321         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65322         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65323         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65324         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65325         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65326         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65327         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
65328         * modules/snprintf-posix (Depends-on): Likewise.
65329         * modules/sprintf-posix (Depends-on): Likewise.
65330         * modules/vasnprintf-posix (Depends-on): Likewise.
65331         * modules/vasprintf-posix (Depends-on): Likewise.
65332         * modules/vfprintf-posix (Depends-on): Likewise.
65333         * modules/vsnprintf-posix (Depends-on): Likewise.
65334         * modules/vsprintf-posix (Depends-on): Likewise.
65335         * modules/vasnprintf (Files): Add lib/float+.h.
65336         * doc/functions/fprintf.texi: Update.
65337         * doc/functions/printf.texi: Update.
65338         * doc/functions/snprintf.texi: Update.
65339         * doc/functions/sprintf.texi: Update.
65340         * doc/functions/vfprintf.texi: Update.
65341         * doc/functions/vprintf.texi: Update.
65342         * doc/functions/vsnprintf.texi: Update.
65343         * doc/functions/vsprintf.texi: Update.
65344
65345 2007-05-18  Bruno Haible  <bruno@clisp.org>
65346
65347         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
65348
65349 2007-05-18  Bruno Haible  <bruno@clisp.org>
65350
65351         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
65352         for printing 64-bit integers. Needed for mingw.
65353
65354 2007-05-18  Bruno Haible  <bruno@clisp.org>
65355
65356         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65357         gl_FUNC_FREXPL_WORKS.
65358         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
65359
65360 2007-05-18  Bruno Haible  <bruno@clisp.org>
65361
65362         * modules/frexpl-nolibm-tests: New file.
65363
65364         * modules/frexpl-nolibm: New file.
65365         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
65366
65367 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
65368
65369         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
65370         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65371         GCC 4.2, which otherwise issues a lot of warnings.
65372         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
65373         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
65374         Likewise.
65375         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
65376         * modules/iconv_open (iconv.h): Likewise.
65377         * modules/locale (locale.h): Likewise.
65378         * modules/netinet_in (netinet/in.h): Likewise.
65379         * modules/sys_select (sys_select.h): Likewise.
65380         * modules/sys_socket (sys/socket.h): Likewise.
65381         * modules/sys_stat (sys/stat.h): Likewise.
65382         * modules/sysexits (sysexits.h): Likewise.
65383         * modules/unistd (unistd.h): Likewise.
65384
65385 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65386
65387         * modules/closein-tests (Makefile.am): Distribute
65388         `test-closein.sh'.
65389
65390 2007-05-17  Bruno Haible  <bruno@clisp.org>
65391
65392         * tests/test-printf-posix.output: Renamed from
65393         tests/test-fprintf-posix.out.
65394         * modules/fprintf-posix-tests: Update.
65395         * modules/printf-posix-tests: Update.
65396         * modules/vfprintf-posix-tests: Update.
65397         * modules/vprintf-posix-tests: Update.
65398         * tests/test-fprintf-posix.sh: Update.
65399         * tests/test-printf-posix.sh: Update.
65400         * tests/test-vfprintf-posix.sh: Update.
65401         * tests/test-vprintf-posix.sh: Update.
65402         Reported by Ralf Wildenhues.
65403
65404 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
65405
65406         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
65407         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65408         GCC 4.2, which otherwise issues a lot of warnings.
65409         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
65410         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
65411         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
65412         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
65413         it should no longer be needed.
65414         * lib/string_.h: Likewise.
65415         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
65416         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
65417         * modules/inttypes (inttypes.h): Likewise.
65418         * modules/math (math.h): Likewise.
65419         * modules/search (search.h): Likewise.
65420         * modules/signal (signal.h): Likewise.
65421         * modules/stdint (stdint.h): Likewise.
65422         * modules/stdio (stdio.h): Likewise.
65423         * modules/stdlib (stdlib.h): Likewise.
65424         * modules/string (string.h): Likewise.
65425         * modules/sys_time (sys/time.h): Likewise.
65426         * modules/time (time.h): Likewise.
65427         * modules/wchar (wchar.h): Likewise.
65428         * modules/wctype (wtype.h): Likewise.
65429
65430 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
65431
65432         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
65433
65434 2007-05-13  Bruno Haible  <bruno@clisp.org>
65435
65436         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
65437         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65438         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
65439         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65440         (gl_PREREQ_STRTOK_R): Don't require it here.
65441
65442 2007-05-13  Bruno Haible  <bruno@clisp.org>
65443
65444         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
65445         when used in C++ mode.
65446
65447 2007-05-12  Bruno Haible  <bruno@clisp.org>
65448
65449         * lib/linebuffer.h: Tweak doc.
65450         * lib/linebuffer.c: Likewise.
65451
65452 2007-05-12  James Youngman  <jay@gnu.org>
65453
65454         * lib/linebuffer.c (readlinebuffer_delim): New function,
65455         like readlinebuffer, but use a caller-specified delimiter.
65456         (readlinebuffer): Just call readlinebuffer_delim with '\n'
65457         as the delimiter.
65458         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
65459
65460 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65461
65462         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
65463         * modules/openat (Files): Remove openat-die.c.
65464         (Depends-on): Add openat-die.
65465         * modules/openat-die: New module.
65466
65467 2007-05-06  Bruno Haible  <bruno@clisp.org>
65468
65469         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
65470         Update with info about Cygwin.
65471         * doc/functions/fprintf.texi: Update.
65472         * doc/functions/printf.texi: Update.
65473         * doc/functions/snprintf.texi: Update.
65474         * doc/functions/sprintf.texi: Update.
65475         * doc/functions/vfprintf.texi: Update.
65476         * doc/functions/vprintf.texi: Update.
65477         * doc/functions/vsnprintf.texi: Update.
65478         * doc/functions/vsprintf.texi: Update.
65479         Reported by Eric Blake.
65480
65481 2007-05-06  Bruno Haible  <bruno@clisp.org>
65482
65483         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
65484         padding ourselves for the floating-point directives.
65485         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
65486         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
65487         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65488         gl_PRINTF_FLAG_ZERO and test its result. Invoke
65489         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
65490         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65491         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
65492         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65493         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65494         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65495         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65496         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65497         * tests/test-snprintf-posix.h (test_function): Also check the width
65498         and some flags in the %f directive.
65499         * tests/test-sprintf-posix.h (test_function): Likewise.
65500         * tests/test-vasnprintf-posix.c (test_function): Likewise.
65501         * tests/test-vasprintf-posix.c (test_function): Likewise.
65502         * doc/functions/fprintf.texi: Update.
65503         * doc/functions/printf.texi: Update.
65504         * doc/functions/snprintf.texi: Update.
65505         * doc/functions/sprintf.texi: Update.
65506         * doc/functions/vfprintf.texi: Update.
65507         * doc/functions/vprintf.texi: Update.
65508         * doc/functions/vsnprintf.texi: Update.
65509         * doc/functions/vsprintf.texi: Update.
65510
65511 2007-05-06  Bruno Haible  <bruno@clisp.org>
65512
65513         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
65514         pass the ' flag character to sprintf or snprintf.
65515         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
65516         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
65517         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65518         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
65519         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
65520         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65521         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
65522         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65523         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65524         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65525         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65526         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65527         * tests/test-snprintf-posix.h (test_function): Also check the grouping
65528         flag.
65529         * tests/test-sprintf-posix.h (test_function): Likewise.
65530         * tests/test-vasnprintf-posix.c (test_function): Likewise.
65531         * tests/test-vasprintf-posix.c (test_function): Likewise.
65532         * doc/functions/fprintf.texi: Update.
65533         * doc/functions/printf.texi: Update.
65534         * doc/functions/snprintf.texi: Update.
65535         * doc/functions/sprintf.texi: Update.
65536         * doc/functions/vfprintf.texi: Update.
65537         * doc/functions/vprintf.texi: Update.
65538         * doc/functions/vsnprintf.texi: Update.
65539         * doc/functions/vsprintf.texi: Update.
65540
65541 2007-05-01  Bruno Haible  <bruno@clisp.org>
65542
65543         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
65544
65545 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
65546
65547         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
65548         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
65549
65550 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
65551
65552         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
65553         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
65554         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
65555
65556 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
65557
65558         * lib/argp-help.c (struct hol_entry): New member `ord'.
65559         (HOL_ENTRY_PTRCMP): Use ord for comparison
65560         (hol_sort): Initialize ord.
65561
65562 2007-05-01  Bruno Haible  <bruno@clisp.org>
65563
65564         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
65565         Reported by Eric Blake.
65566         * doc/gnulib.texi (Function Substitutes): Update.
65567
65568 2007-05-01  Bruno Haible  <bruno@clisp.org>
65569
65570         * doc/functions.texi: Remove file, now redundant through
65571         doc/functions/*.texi.
65572
65573 2007-05-01  Bruno Haible  <bruno@clisp.org>
65574
65575         * modules/argp (Depends-on): Add sleep.
65576
65577 2007-05-01  Bruno Haible  <bruno@clisp.org>
65578
65579         * modules/sleep-tests: New file.
65580         * tests/test-sleep.c: New file.
65581
65582         * modules/sleep: New file.
65583         * lib/sleep.c: New file.
65584         * m4/sleep.m4: New file.
65585         * lib/unistd_.h (sleep): New declaration.
65586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
65587         HAVE_SLEEP.
65588         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
65589         * doc/functions/sleep.texi: Document the sleep module.
65590
65591 2007-05-01  Bruno Haible  <bruno@clisp.org>
65592
65593         * lib/sigprocmask.h: Remove file.
65594         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
65595         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
65596         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
65597         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
65598         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
65599         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
65600         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
65601         HAVE_SIGSET_T as a shell variable.
65602         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
65603         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
65604         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
65605         (Depends-on): Add signal. Remove verify.
65606         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
65607         (Include): Mention <signal.h> instead of sigprocmask.h.
65608         * NEWS: Mention the change.
65609         * lib/fatal-signal.c: Don't include sigprocmask.h.
65610
65611 2007-05-01  Bruno Haible  <bruno@clisp.org>
65612
65613         * modules/signal: New file.
65614         * lib/signal_.h: New file.
65615         * m4/signal_h.m4: New file.
65616
65617 2007-05-01  Bruno Haible  <bruno@clisp.org>
65618
65619         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
65620         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
65621         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
65622         HAVE_WCTYPE_CTMP_BUG into wctype.h.
65623
65624 2007-05-01  Bruno Haible  <bruno@clisp.org>
65625
65626         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
65627         configure time.
65628         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
65629         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
65630         * modules/sys_stat (Makefile.am): Substitute their values into
65631         sys/stat.h.
65632
65633 2007-05-01  Bruno Haible  <bruno@clisp.org>
65634
65635         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
65636         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
65637         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
65638
65639 2007-05-01  Bruno Haible  <bruno@clisp.org>
65640
65641         * doc/header/assert.texi: Undo last change: don't mention the gnulib
65642         'assert' module here.
65643
65644 2007-05-01  Bruno Haible  <bruno@clisp.org>
65645
65646         * doc/functions/*.texi: New files.
65647         * doc/functions/google-ranking.txt: New file.
65648         * doc/gnulib.texi (Function Substitutes): New chapter.
65649         (ctime, inet_ntoa): Remove sections.
65650         * doc/ctime.texi: Remove file.
65651         * doc/inet_ntoa.texi: Remove file.
65652         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
65653         dependencies.
65654         (%.info): New rule, specifying a --reference-limit.
65655
65656 2007-05-01  Bruno Haible  <bruno@clisp.org>
65657
65658         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
65659
65660 2007-05-01  Bruno Haible  <bruno@clisp.org>
65661
65662         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
65663         the portability of 'mkdir' to mingw systems.
65664
65665 2007-05-01  Bruno Haible  <bruno@clisp.org>
65666
65667         * doc/headers/google-ranking.txt: New file.
65668
65669 2007-04-30  Eric Blake  <ebb9@byu.net>
65670
65671         Prefer fseeko to fseek.
65672         * modules/getpass (Depends-on): Add fseeko.
65673         * lib/getpass.c (getpass): Use fseeko, not fseek.
65674
65675 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
65676
65677         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
65678         assumes the sorting is stable, while most qsort implementations
65679         are not.  Use argument addresses to ensure they never compare as
65680         equal.
65681
65682         * tests/test-argp-2.sh (usage-indent test): Fix output
65683         (func_compare): Restore diff options
65684         * tests/test-argp.c: Restore #include "progname.h"
65685
65686 2007-04-29  Bruno Haible  <bruno@clisp.org>
65687
65688         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
65689         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65690         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
65691         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65692         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
65693         (configure.ac): Define CHECK_SNPRINTF_POSIX.
65694         (TESTS, check_PROGRAMS): Add test-snprintf.
65695         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
65696         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
65697         (TESTS, check_PROGRAMS): Add test-vsnprintf.
65698         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
65699         assertions that fail on HP-UX, OSF/1, or IRIX.
65700         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
65701
65702 2007-04-29  Bruno Haible  <bruno@clisp.org>
65703
65704         * MODULES.html.sh (posix_functions): Remove 'contents'.
65705
65706 2007-04-29  Karl Berry  <karl@gnu.org>
65707
65708         * config/srclist.txt (gendocs_template_min): new entry.
65709
65710 2007-04-29  Bruno Haible  <bruno@clisp.org>
65711
65712         Work around fpurge bug on BSD systems.
65713         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
65714         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
65715         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
65716         fpurge to rpl_fpurge if the system already has this function.
65717         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
65718         the case where the system already has this function. Correct invariants
65719         on BSD systems.
65720         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
65721         BSD systems.
65722
65723 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
65724
65725         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
65726         proposed by Sven Verdoolaege.
65727
65728         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
65729         options.
65730         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
65731         (usage and help tests): Update
65732
65733 2007-04-29  Bruno Haible  <bruno@clisp.org>
65734
65735         * tests/test-fflush.c (main): Use a file of size 17, not 10.
65736         Print more information in case of failure. Disable a test on BeOS.
65737
65738 2007-04-29  Bruno Haible  <bruno@clisp.org>
65739
65740         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
65741         This helps debugging on systems on which no gdb is available.
65742
65743 2007-04-29  Bruno Haible  <bruno@clisp.org>
65744
65745         * lib/freading.h: Improve comments.
65746         * lib/fwriting.h: Likewise.
65747         * tests/test-freading.c (main): Don't check freading immediately after
65748         repositioning. Needed for glibc.
65749
65750 2007-04-29  Bruno Haible  <bruno@clisp.org>
65751
65752         * lib/freading.c (freading): Trivial simplification.
65753
65754 2007-04-28  Bruno Haible  <bruno@clisp.org>
65755
65756         * tests/test-fwriting.c (main): Also test the interaction between
65757         fflush and fwriting.
65758         * modules/fwriting-tests (Depends-on): Add fflush.
65759
65760         * tests/test-freading.c (main): Also test the interaction between
65761         fflush and freading.
65762         * modules/freading-tests (Depends-on): Add fflush.
65763
65764 2007-04-28  Bruno Haible  <bruno@clisp.org>
65765
65766         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
65767         fseeko and ftello.
65768         Suggested by Eric Blake.
65769
65770 2007-04-28  Jim Meyering  <jim@meyering.net>
65771
65772         Avoid false-negative in gl_STDINT_H's C99 conformance test.
65773         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
65774         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
65775
65776 2007-04-27  Eric Blake  <ebb9@byu.net>
65777
65778         * doc/headers/assert.texi (assert.h): Document assert module use.
65779
65780 2007-04-27  Bruno Haible  <bruno@clisp.org>
65781
65782         * doc/headers/*.texi: New files.
65783         * doc/gnulib.texi (Header File Substitutes): New chapter.
65784         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
65785         dependencies.
65786         (standards.info ,standards.html, standards.dvi): Update dependencies.
65787         (mostlyclean, clean): New targets.
65788
65789 2007-04-27  Bruno Haible  <bruno@clisp.org>
65790
65791         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
65792         * modules/sysexits (Files, Makefile.am): Update.
65793
65794         * lib/sys_socket_.h: Renamed from lib/socket_.h.
65795         * modules/sys_socket (Files, Makefile.am): Update.
65796
65797         * lib/sys_stat_.h: Renamed from lib/stat_.h.
65798         * modules/sys_stat (Files, Makefile.am): Update.
65799
65800 2007-04-27  Eric Blake  <ebb9@byu.net>
65801
65802         * lib/freading.h: Improve comments.
65803         * lib/fwriting.h: Likewise.
65804         * lib/fflush.c: Likewise.
65805
65806         Fix closein for mingw.
65807         * modules/closein-tests: Add tests for closein.
65808         * tests/test-closein.c: New file.
65809         * tests/test-closein.sh: Likewise.
65810         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
65811         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
65812
65813 2007-04-27  Bruno Haible  <bruno@clisp.org>
65814
65815         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
65816         version is < 6.
65817         * lib/math_.h [__DECC]: Likewise.
65818         * lib/stdio_.h [__DECC]: Likewise.
65819         * lib/stdlib_.h [__DECC]: Likewise.
65820         * lib/string_.h [__DECC]: Likewise.
65821         * lib/time_.h [__DECC]: Likewise.
65822         * lib/wchar_.h [__DECC]: Likewise.
65823         * lib/wctype_.h [__DECC]: Likewise.
65824
65825 2007-04-27  Bruno Haible  <bruno@clisp.org>
65826
65827         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
65828
65829 2007-04-27  Bruno Haible  <bruno@clisp.org>
65830
65831         * lib/fflush.c: Add comments.
65832         * modules/fpurge-tests (Depends-on): Add fflush.
65833         * modules/freadable-tests (Depends-on): Likewise.
65834         * modules/fwritable-tests (Depends-on): Likewise.
65835
65836 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
65837
65838         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
65839         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
65840         Report by Bruno Haible <bruno@clisp.org>.
65841
65842 2007-04-26  Eric Blake  <ebb9@byu.net>
65843
65844         Fix fflush on mingw.
65845         * modules/fflush (Depends-on): Add freading.
65846         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
65847         but unread data.
65848
65849 2007-04-26  Eric Blake  <ebb9@byu.net>
65850         and Bruno Haible  <bruno@clisp.org>
65851
65852         Implement freading and fwriting.
65853         * lib/freading.c: New file.
65854         * lib/freading.h: Likewise.
65855         * m4/freading.m4: Likewise.
65856         * modules/freading: Likewise.
65857         * modules/freading-tests: Likewise.
65858         * tests/test-freading.c: Likewise.
65859         * lib/fwriting.c: New file.
65860         * lib/fwriting.h: Likewise.
65861         * m4/fwriting.m4: Likewise.
65862         * modules/fwriting: Likewise.
65863         * modules/fwriting-tests: Likewise.
65864         * tests/test-fwriting.c: Likewise.
65865         * MODULES.html.sh (File stream based Input/Output): Mention them.
65866
65867 2007-04-26  Bruno Haible  <bruno@clisp.org>
65868
65869         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
65870         'long' when we assume it.
65871         Suggested by Eric Blake.
65872
65873 2007-04-26  Bruno Haible  <bruno@clisp.org>
65874
65875         Ensure fseeko, ftello are declared on glibc systems.
65876         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
65877         * modules/fseeko (configure.ac-early): Likewise.
65878         * modules/ftello (configure.ac-early): Likewise.
65879         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
65880         AC_FUNC_FSEEKO for this.
65881         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
65882         (gl_CHECK_FSEEKO): Remove macro.
65883
65884 2007-04-26  Bruno Haible  <bruno@clisp.org>
65885
65886         * tests/test-fflush.c (main): Also check the ftell result after
65887         fflush and fseek/fseeko.
65888         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
65889         file descriptor position cache in the stream.
65890         * lib/fseeko.c (rpl_fseeko): Likewise.
65891
65892 2007-04-26  Bruno Haible  <bruno@clisp.org>
65893
65894         * modules/fflush-tests (Depends-on): Add fseeko.
65895
65896 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
65897             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65898
65899         * lib/argz_.h: ensure error_t definition is obtained in same
65900         mechanism system argz.h would have.
65901         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
65902         argz facilities are known bad.  Err on the side of caution if
65903         cross-compiling.
65904
65905 2007-04-25  Eric Blake  <ebb9@byu.net>
65906
65907         * lib/fpurge.c (includes): Use stdlib.h for free.
65908         * tests/test-fflush.c (main): Also test fflush-fseeko.
65909
65910 2007-04-25  Bruno Haible  <bruno@clisp.org>
65911
65912         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
65913         * lib/fseeko.c: New file.
65914         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
65915         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
65916         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
65917         gl_FUNC_FSEEKO.
65918         (gl_FUNC_FSEEKO): Invoke it.
65919         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
65920         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
65921         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
65922
65923 2007-04-25  Bruno Haible  <bruno@clisp.org>
65924
65925         * modules/fflush (Depends-on): Add ftello.
65926
65927 2007-04-25  Bruno Haible  <bruno@clisp.org>
65928
65929         * modules/ftello-tests: New file.
65930         * tests/test-ftello.c: New file.
65931
65932         * modules/ftello: New file.
65933         * m4/ftello.m4: New file.
65934         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
65935         HAVE_FTELLO.
65936         * lib/stdio_.h (ftello): New declaration.
65937         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
65938         HAVE_FTELLO.
65939
65940 2007-04-25  Bruno Haible  <bruno@clisp.org>
65941
65942         * modules/fseeko-tests: New file.
65943         * tests/test-fseeko.c: New file.
65944
65945         * modules/fseeko: New file.
65946         * m4/fseeko.m4: New file.
65947         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
65948         HAVE_FSEEKO.
65949         * lib/stdio_.h (fseeko): New declaration.
65950         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
65951         HAVE_FSEEKO.
65952
65953 2007-04-25  Bruno Haible  <bruno@clisp.org>
65954
65955         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
65956
65957 2007-04-25  Bruno Haible  <bruno@clisp.org>
65958
65959         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
65960         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
65961         * tests/test-unistd.c: Likewise.
65962         * tests/test-fcntl.c: Likewise.
65963
65964 2007-04-23  Eric Blake  <ebb9@byu.net>
65965
65966         * lib/fflush.c: Fix missing include.
65967         Reported by Bruno Haible.
65968
65969 2007-04-23  Bruno Haible  <bruno@clisp.org>
65970
65971         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
65972         Reported by Eric Blake.
65973
65974 2007-04-23  Bruno Haible  <bruno@clisp.org>
65975
65976         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
65977
65978 2007-04-23  Bruno Haible  <bruno@clisp.org>
65979
65980         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
65981
65982 2007-04-23  Bruno Haible  <bruno@clisp.org>
65983
65984         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
65985         Needed on HP-UX 11.
65986
65987 2007-04-16  Eric Blake  <ebb9@byu.net>
65988
65989         Make fflush rely on fpurge.
65990         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
65991         open coding all variants.
65992         * modules/fflush (Depends-on): Add fpurge and unistd.
65993         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
65994         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
65995
65996         Fix --with-tests compilation on cygwin.
65997         * modules/argmatch-tests (Makefile.am): List gnulib library first
65998         in LDADD.
65999         * modules/argp-tests (Makefile.am): Likewise.
66000         * modules/array-list-tests (Makefile.am): Likewise.
66001         * modules/array-oset-tests (Makefile.am): Likewise.
66002         * modules/avltree-list-tests (Makefile.am): Likewise.
66003         * modules/avltree-oset-tests (Makefile.am): Likewise.
66004         * modules/avltreehash-list-tests (Makefile.am): Likewise.
66005         * modules/carray-list-tests (Makefile.am): Likewise.
66006         * modules/dirname-tests (Makefile.am): Likewise.
66007         * modules/frexp-tests (Makefile.am): Likewise.
66008         * modules/isnanl-tests (Makefile.am): Likewise.
66009         * modules/linked-list-tests (Makefile.am): Likewise.
66010         * modules/linkedhash-list-tests (Makefile.am): Likewise.
66011         * modules/lock-tests (Makefile.am): Likewise.
66012         * modules/rbtree-list-tests (Makefile.am): Likewise.
66013         * modules/rbtree-oset-tests (Makefile.am): Likewise.
66014         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
66015         * modules/tls-tests (Makefile.am): Likewise.
66016         * modules/tsearch-tests (Makefile.am): Likewise.
66017         * modules/xvasprintf-tests (Makefile.am): Likewise.
66018
66019         Fix fpurge for cygwin.
66020         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
66021         value.
66022         * modules/fpurge-tests (Depends-on): Clean up trash.
66023
66024 2007-04-16  Simon Josefsson  <simon@josefsson.org>
66025
66026         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
66027
66028         * m4/autobuild.m4: Re-indent.
66029
66030 2007-04-13  Bruno Haible  <bruno@clisp.org>
66031
66032         * modules/fpurge-tests: New file.
66033         * tests/test-fpurge.c: New file.
66034
66035         * modules/fpurge: New file.
66036         * lib/fpurge.h: New file.
66037         * lib/fpurge.c: New file.
66038         * m4/fpurge.m4: New file.
66039
66040 2007-04-13  Bruno Haible  <bruno@clisp.org>
66041
66042         * modules/fbufmode-tests: New file.
66043         * tests/test-fbufmode.c: New file.
66044
66045         * modules/fbufmode: New file.
66046         * lib/fbufmode.h: New file.
66047         * lib/fbufmode.c: New file.
66048         * m4/fbufmode.m4: New file.
66049
66050 2007-04-13  Bruno Haible  <bruno@clisp.org>
66051
66052         * modules/fwritable-tests: New file.
66053         * tests/test-fwritable.c: New file.
66054
66055         * modules/fwritable: New file.
66056         * lib/fwritable.h: New file.
66057         * lib/fwritable.c: New file.
66058         * m4/fwritable.m4: New file.
66059
66060 2007-04-13  Bruno Haible  <bruno@clisp.org>
66061
66062         * modules/freadable-tests: New file.
66063         * tests/test-freadable.c: New file.
66064
66065         * modules/freadable: New file.
66066         * lib/freadable.h: New file.
66067         * lib/freadable.c: New file.
66068         * m4/freadable.m4: New file.
66069
66070 2007-04-13  Bruno Haible  <bruno@clisp.org>
66071
66072         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
66073         MOSTLYCLEANFILES.
66074
66075 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66076
66077         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
66078         gzip bootstrap.conf to avoid dragging in i18n machinery.
66079         (gnulib_tool_option): Use it.
66080
66081 2007-04-13  Bruno Haible  <bruno@clisp.org>
66082
66083         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
66084         %F directives.
66085         * tests/test-vasprintf-posix.c (test_function): Likewise.
66086         * tests/test-snprintf-posix.h (test_function): Likewise.
66087         * tests/test-sprintf-posix.h (test_function): Likewise.
66088         * tests/test-fprintf-posix.h (test_function): Likewise.
66089         * tests/test-printf-posix.h (test_function): Likewise.
66090         * tests/test-fprintf-posix.out: Likewise.
66091
66092 2007-04-13  Bruno Haible  <bruno@clisp.org>
66093
66094         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
66095         * modules/tls-tests (configure.ac): Likewise.
66096         Reported by Arto C. Nirkko <anirkko@insel.ch>.
66097
66098 2007-04-13  Bruno Haible  <bruno@clisp.org>
66099
66100         * lib/tls.c (glthread_tls_get): Fix return type.
66101         Patch by Arto C. Nirkko <anirkko@insel.ch>.
66102
66103 2007-04-12  Eric Blake  <ebb9@byu.net>
66104
66105         * modules/gettime (Depends-on): Remove gettime.
66106         Reported by Dmitry V. Levin.
66107
66108 2007-04-12  Bruno Haible  <bruno@clisp.org>
66109
66110         * modules/fflush (Include): Mention <stdio.h>.
66111         * modules/strtoimax (Include): Mention <inttypes.h>.
66112         * modules/strtoumax (Include): Likewise.
66113
66114 2007-04-12  Eric Blake  <ebb9@byu.net>
66115
66116         * .cvsignore: New file.
66117         * .gitignore: Likewise.
66118
66119 2007-04-12  Bruno Haible  <bruno@clisp.org>
66120
66121         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
66122         not before, since $(LDADD) often contains libgnu.a.
66123         * modules/striconv-tests (test_striconv_LDADD): Likewise.
66124         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
66125         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
66126         Needed on Cygwin.
66127
66128 2007-04-12  Eric Blake  <ebb9@byu.net>
66129
66130         Work around glibc's failure to flush stdin on fclose.
66131         * lib/closein.c (close_stdin): Flush stdin before closing.
66132
66133         Work around glibc's failure to reset seekable stdin on exit.
66134         * modules/closein: New module.
66135         * lib/closein.c: New file.
66136         * lib/closein.h: Likewise.
66137         * m4/closein.m4: Likewise.
66138         * MODULES.html.sh (File stream based Input/Output): Document it.
66139
66140 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66141
66142         * gnulib-tool: Rename generated 'autobuild' script to
66143         'do-autobuild' in --create-megatestdir output.
66144
66145         * doc/gnulib.texi (Build robot for gnulib): Fix.
66146
66147 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66148
66149         * modules/sysexits (Depends-on): Add absolute-header.
66150
66151 2007-04-12  Eric Blake  <ebb9@byu.net>
66152
66153         No need to preserve errno on success.
66154         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
66155         Reported by Bruno Haible.
66156
66157 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66158
66159         * MODULES.html.sh (Support for maintaining and releasing
66160         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
66161
66162 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66163
66164         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
66165
66166 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66167
66168         * modules/autobuild: New module.
66169
66170         * m4/autobuild.m4: New file.
66171
66172 2007-04-11  Bruno Haible  <bruno@clisp.org>
66173
66174         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
66175         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
66176         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
66177         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
66178         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66179         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66180         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66181         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66182         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66183         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66184         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
66185         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66186         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66187         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
66188         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66189         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66190         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
66191         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66192         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66193         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
66194         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66195         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66196         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
66197         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66198         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66199         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
66200         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66201         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66202         Reported by Eric Blake.
66203
66204 2007-04-11  Bruno Haible  <bruno@clisp.org>
66205
66206         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
66207
66208 2007-04-10  Bruno Haible  <bruno@clisp.org>
66209
66210         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
66211         for NaN and Infinity. Needed on FreeBSD 6.1.
66212         * tests/test-vasnprintf-posix.c (test_function): Undo last change
66213         regarding results for "%010a" of Infinity and NaN.
66214         * tests/test-vasprintf-posix.c (test_function): Likewise.
66215         * tests/test-snprintf-posix.h (test_function): Likewise.
66216         * tests/test-sprintf-posix.h (test_function): Likewise.
66217         * tests/test-fprintf-posix.h (test_function): Likewise.
66218         * tests/test-printf-posix.h (test_function): Likewise.
66219         * tests/test-fprintf-posix.out: Likewise.
66220
66221 2007-04-10  Bruno Haible  <bruno@clisp.org>
66222
66223         * modules/locale-tests: New file.
66224         * tests/test-locale.c: New file.
66225
66226         * modules/locale: New file.
66227         * lib/locale_.h: New file.
66228         * m4/locale_h.m4: New file.
66229
66230 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
66231             Bruno Haible  <bruno@clisp.org>
66232
66233         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
66234         be determined, test for availability of the copysignf, copysign,
66235         copysignl functions.
66236         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
66237         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
66238         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
66239
66240 2007-04-09  Eric Blake  <ebb9@byu.net>
66241
66242         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
66243         * modules/stdio (Makefile.am): Support fflush.
66244         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66245         * modules/fflush: New file.
66246         * lib/fflush.c: Likewise.
66247         * m4/fflush.m4: Likewise.
66248         * modules/fflush-tests: New test.
66249         * tests/test-fflush.c: Likewise.
66250         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
66251
66252 2007-04-06  Bruno Haible  <bruno@clisp.org>
66253
66254         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
66255         (VASNPRINTF): Use signbit for faster determination whether to print a
66256         minus sign.
66257         * modules/vasnprintf (Files): Remove lib/float+.h.
66258         * modules/fprintf-posix (Depends-on): Add signbit.
66259         * modules/snprintf-posix (Depends-on): Likewise.
66260         * modules/sprintf-posix (Depends-on): Likewise.
66261         * modules/vasnprintf-posix (Depends-on): Likewise.
66262         * modules/vasprintf-posix (Depends-on): Likewise.
66263         * modules/vfprintf-posix (Depends-on): Likewise.
66264         * modules/vsnprintf-posix (Depends-on): Likewise.
66265         * modules/vsprintf-posix (Depends-on): Likewise.
66266
66267 2007-04-06  Bruno Haible  <bruno@clisp.org>
66268
66269         * tests/test-frexp.c (main): Test also the sign bit of zero results.
66270         * tests/test-frexpl.c (main): Likewise.
66271         * tests/test-ldexpl.c (main): Likewise.
66272         * modules/frexp-tests (Depends-on): Add signbit.
66273         * modules/frexpl-tests (Depdends-on): Likewise.
66274         * modules/ldexpl-tests (Depdends-on): Likewise.
66275
66276 2007-04-06  Bruno Haible  <bruno@clisp.org>
66277
66278         * modules/signbit-tests: New file.
66279         * tests/test-signbit.c: New file.
66280
66281         * modules/signbit: New file.
66282         * lib/signbitf.c: New file.
66283         * lib/signbitd.c: New file.
66284         * lib/signbitl.c: New file.
66285         * m4/signbit.m4: New file.
66286         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
66287         (signbit): New macro.
66288         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
66289         REPLACE_SIGNBIT.
66290         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
66291         REPLACE_FREXPL into math.h.
66292
66293 2007-04-06  Bruno Haible  <bruno@clisp.org>
66294
66295         * modules/isnanf-nolibm-tests: New file.
66296         * tests/test-isnanf.c: New file.
66297
66298         * modules/isnanf-nolibm: New file.
66299         * lib/isnanf.h: New file.
66300         * lib/isnanf.c: New file.
66301         * lib/isnan.c: Consider the USE_FLOAT macro.
66302         * m4/isnanf.m4: New file.
66303
66304 2007-04-06  Bruno Haible  <bruno@clisp.org>
66305
66306         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
66307         (Link): New section.
66308
66309         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
66310
66311 2007-04-06  Bruno Haible  <bruno@clisp.org>
66312
66313         Assume the 'long double' type.
66314         * m4/longdouble.m4: Remove file.
66315         * config/srclist.txt: Don't mention longdouble.m4.
66316         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
66317         * lib/float+.h: Likewise.
66318         * lib/frexp.c: Likewise.
66319         * lib/printf-args.h: Likewise.
66320         * lib/printf-args.c: Likewise.
66321         * lib/printf-frexp.c: Likewise.
66322         * lib/printf-parse.c: Likewise.
66323         * lib/vasnprintf.c: Likewise.
66324         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
66325         * m4/intl.m4: Likewise.
66326         * m4/isnanl.m4: Likewise.
66327         * m4/printf.m4: Likewise.
66328         * m4/printf-frexpl.m4: Likewise.
66329         * m4/vasnprintf.m4: Likewise.
66330         * modules/allocsa (Files): Remove m4/longdouble.m4.
66331         * modules/gettext (Files): Likewise.
66332         * modules/relocatable-prog-wrapper (Files): Likewise.
66333         * modules/vasnprintf (Files): Likewise.
66334         * modules/isnanl (Files): Likewise.
66335         (Include): Simplify.
66336         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
66337         (Include): Simplify.
66338         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
66339         (Include): Simplify.
66340         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
66341         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66342         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
66343         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66344         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66345         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66346         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
66347         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66348         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66349         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66350         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
66351         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66352         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
66353         * tests/test-isnanl.c: Likewise.
66354         * tests/test-snprintf-posix.h: Likewise.
66355         * tests/test-sprintf-posix.h: Likewise.
66356         * tests/test-vasnprintf-posix.c: Likewise.
66357         * tests/test-vasnprintf-posix2.c: Likewise.
66358         * tests/test-vasprintf-posix.c: Likewise.
66359
66360 2007-04-06  Bruno Haible  <bruno@clisp.org>
66361
66362         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
66363         * lib/math_.h [__DECC]: Include the overridden include file through
66364         #include_next, outside the double-inclusion guard.
66365         * lib/stdio_.h [__DECC]: Likewise.
66366         * lib/stdlib_.h [__DECC]: Likewise.
66367         * lib/string_.h [__DECC]: Likewise.
66368         * lib/time_.h [__DECC]: Likewise.
66369         * lib/wchar_.h [__DECC]: Likewise.
66370         * lib/wctype_.h [__DECC]: Likewise.
66371         * lib/inttypes_.h [__DECC]: Likewise.
66372         Reported by Albert Chin <china@thewrittenword.com> in
66373         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
66374
66375 2007-04-04  Eric Blake  <ebb9@byu.net>
66376
66377         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
66378         1.5.x.
66379
66380 2007-04-04  Bruno Haible  <bruno@clisp.org>
66381
66382         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
66383         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
66384
66385 2007-04-04  Bruno Haible  <bruno@clisp.org>
66386
66387         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
66388         results for "%010a" of Infinity and NaN.
66389         * tests/test-vasprintf-posix.c (test_function): Likewise.
66390         * tests/test-snprintf-posix.h (test_function): Likewise.
66391         * tests/test-sprintf-posix.h (test_function): Likewise.
66392         * tests/test-fprintf-posix.h (test_function): Remove these tests.
66393         * tests/test-printf-posix.h (test_function): Likewise.
66394         * tests/test-fprintf-posix.out: Update.
66395         Needed for FreeBSD 6.1.
66396
66397 2007-04-04  Bruno Haible  <bruno@clisp.org>
66398
66399         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
66400         directly used by the gnulib modules nor by gnulib-tool.
66401
66402 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66403
66404         * DEPENDENCIES: Give overall description of version dependency
66405         desirability.  Use more-typical names for apps.
66406         Add shell, coreutils, diffutils, grep, tar, gzip.
66407
66408 2007-04-04  Simon Josefsson  <simon@josefsson.org>
66409
66410         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
66411
66412 2007-04-04  Karl Berry  <karl@gnu.org>
66413
66414         * MODULES.html.sh (func_module): missing '.
66415
66416 2007-04-03  Bruno Haible  <bruno@clisp.org>
66417
66418         * modules/argmatch-tests (Makefile.am): New variable
66419         test_argmatch_LDADD.
66420         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
66421         * modules/array-list-tests (Makefile.am): New variable
66422         test_array_list_LDADD.
66423         * modules/array-oset-tests (Makefile.am): New variable
66424         test_array_oset_LDADD.
66425         * modules/avltree-list-tests (Makefile.am): New variable
66426         test_avltree_list_LDADD.
66427         * modules/avltree-oset-tests (Makefile.am): New variable
66428         test_avltree_oset_LDADD.
66429         * modules/avltreehash-list-tests (Makefile.am): New variable
66430         test_avltreehash_list_LDADD.
66431         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
66432         test_canonicalize_lgpl_LDADD.
66433         * modules/carray-list-tests (Makefile.am): New variable
66434         test_carray_list_LDADD.
66435         * modules/dirname-tests (Makefile.am): New variable
66436         test_dirname_LDADD.
66437         * modules/linked-list-tests (Makefile.am): New variable
66438         test_linked_list_LDADD.
66439         * modules/linkedhash-list-tests (Makefile.am): New variable
66440         test_linkedhash_list_LDADD.
66441         * modules/rbtree-list-tests (Makefile.am): New variable
66442         test_rbtree_list_LDADD.
66443         * modules/rbtree-oset-tests (Makefile.am): New variable
66444         test_rbtree_oset_LDADD.
66445         * modules/rbtreehash-list-tests (Makefile.am): New variable
66446         test_rbtreehash_list_LDADD.
66447         * modules/xvasprintf-tests (Makefile.am): New variable
66448         test_xvasprintf_LDADD.
66449         Reported by Eric Blake.
66450
66451 2007-04-03  Eric Blake  <ebb9@byu.net>
66452
66453         * DEPENDENCIES: Weaken m4 requirements.
66454
66455 2007-04-03  Bruno Haible  <bruno@clisp.org>
66456
66457         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
66458         * modules/isnanl-tests (configure.ac): Likewise.
66459
66460 2007-04-03  Ben Pfaff  <blp@gnu.org>
66461
66462         * modules/iconv_open: Add $(srcdir)/ to source directory
66463         references in Makefile fragments that call gperf, to fix VPATH
66464         builds.
66465
66466 2007-04-03  Bruno Haible  <bruno@clisp.org>
66467
66468         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
66469         * lib/ldexpl.c: Undo last change.
66470
66471 2007-04-03  Bruno Haible  <bruno@clisp.org>
66472
66473         * modules/printf-frexpl (Depends-on): Undo last change.
66474         (Files): Add m4/ldexpl.m4.
66475
66476 2007-04-03  Bruno Haible  <bruno@clisp.org>
66477
66478         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
66479         * modules/isnanl (Link): New section.
66480
66481         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
66482         * modules/frexp (Link): New section.
66483
66484         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
66485         * modules/frexpl (Link): New section.
66486
66487         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
66488         * modules/ldexpl (Link): New section.
66489
66490 2007-04-03  Bruno Haible  <bruno@clisp.org>
66491
66492         * modules/TEMPLATE-EXTENDED: New file.
66493         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
66494
66495 2007-04-03  Bruno Haible  <bruno@clisp.org>
66496
66497         * DEPENDENCIES: New file.
66498         Suggested by Simon Josefsson.
66499
66500 2007-04-03  Bruno Haible  <bruno@clisp.org>
66501
66502         * doc/gnulib.texi: Escape @.
66503
66504 2007-04-03  James Youngman  <jay@gnu.org>
66505         and Paul Eggert  <eggert@cs.ucla.edu>
66506
66507         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
66508         birthtime on all systems that have birthtime, not just those which
66509         use st_birthtimensec rather than st_birthtim.  Putting zero in
66510         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
66511         that the birth time is not available for files on an NFS mount.
66512
66513 2007-04-03  Simon Josefsson  <simon@josefsson.org>
66514
66515         * modules/memxor: Move back from crypto/, suggested by Bruno.
66516         * modules/crypto/hmac-sha1: Fix memxor dependency.
66517
66518         * modules/crypto/gc: Moved from ../.
66519
66520 2007-04-02  Eric Blake  <ebb9@byu.net>
66521
66522         * lib/ldexpl.c (includes): Avoid libm.
66523
66524         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
66525
66526 2007-04-02  Bruno Haible  <bruno@clisp.org>
66527
66528         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
66529         on IRIX.
66530
66531 2007-04-02  Bruno Haible  <bruno@clisp.org>
66532
66533         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
66534         x86 or x86_64 platforms running MacOS X.
66535         Reported by Ryan Schmidt <@ryandesign.com>.
66536
66537 2007-04-02  Bruno Haible  <bruno@clisp.org>
66538
66539         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
66540         i386.
66541
66542 2007-04-01  Simon Josefsson  <simon@josefsson.org>
66543
66544         * modules/crypto/arcfour: Moved from ../.
66545         * modules/crypto/arcfour-tests: Moved from ../.
66546         * modules/crypto/arctwo: Moved from ../.
66547         * modules/crypto/arctwo-tests: Moved from ../.
66548         * modules/crypto/des: Moved from ../.
66549         * modules/crypto/des-tests: Moved from ../.
66550         * modules/crypto/gc-arcfour: Moved from ../.
66551         * modules/crypto/gc-arcfour-tests: Moved from ../.
66552         * modules/crypto/gc-arctwo: Moved from ../.
66553         * modules/crypto/gc-arctwo-tests: Moved from ../.
66554         * modules/crypto/gc-des: Moved from ../.
66555         * modules/crypto/gc-des-tests: Moved from ../.
66556         * modules/crypto/gc-hmac-md5: Moved from ../.
66557         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
66558         * modules/crypto/gc-hmac-sha1: Moved from ../.
66559         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
66560         * modules/crypto/gc-md2: Moved from ../.
66561         * modules/crypto/gc-md2-tests: Moved from ../.
66562         * modules/crypto/gc-md4: Moved from ../.
66563         * modules/crypto/gc-md4-tests: Moved from ../.
66564         * modules/crypto/gc-md5: Moved from ../.
66565         * modules/crypto/gc-md5-tests: Moved from ../.
66566         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
66567         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
66568         * modules/crypto/gc-random: Moved from ../.
66569         * modules/crypto/gc-rijndael: Moved from ../.
66570         * modules/crypto/gc-rijndael-tests: Moved from ../.
66571         * modules/crypto/gc-sha1: Moved from ../.
66572         * modules/crypto/gc-sha1-tests: Moved from ../.
66573         * modules/crypto/gc-tests: Moved from ../.
66574         * modules/crypto/hmac-md5: Moved from ../.
66575         * modules/crypto/hmac-md5-tests: Moved from ../.
66576         * modules/crypto/hmac-sha1: Moved from ../.
66577         * modules/crypto/hmac-sha1-tests: Moved from ../.
66578         * modules/crypto/md2: Moved from ../.
66579         * modules/crypto/md2-tests: Moved from ../.
66580         * modules/crypto/md4: Moved from ../.
66581         * modules/crypto/md4-tests: Moved from ../.
66582         * modules/crypto/md5: Moved from ../.
66583         * modules/crypto/md5-tests: Moved from ../.
66584         * modules/crypto/memxor: Moved from ../.
66585         * modules/crypto/rijndael: Moved from ../.
66586         * modules/crypto/rijndael-tests: Moved from ../.
66587         * modules/crypto/sha1: Moved from ../.
66588
66589 2007-03-30  James Youngman  <jay@gnu.org>
66590
66591         * tests/test-stat-time.c (prepare_test): use chmod() rather than
66592         rename() to change the ctime of a file (because ctime is unaffected
66593         by rename on jfs2 on AIX 5.1).
66594         (main): Start by doing cleanup, in case a previous run failed leaving
66595         test files behind.
66596
66597 2007-03-31  Bruno Haible  <bruno@clisp.org>
66598
66599         Support old proprietary implementations of iconv.
66600         * modules/iconv_open: New file.
66601         * lib/iconv_.h: New file.
66602         * m4/iconv_h.m4: New file.
66603         * lib/iconv_open.c: New file.
66604         * lib/iconv_open-aix.gperf: New file.
66605         * lib/iconv_open-hpux.gperf: New file.
66606         * lib/iconv_open-irix.gperf: New file.
66607         * lib/iconv_open-osf.gperf: New file.
66608         * m4/iconv_open.m4: New file.
66609         * modules/linebreak (Depends-on): Add iconv_open.
66610         * modules/striconv (Depends-on): Likewise.
66611         * modules/striconveh (Depends-on): Likewise.
66612         * modules/unicodeio (Depends-on): Likewise.
66613         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
66614         (iconv_t)(-1).
66615         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
66616         conversion if cd is (iconv_t)(-1).
66617         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
66618         is not possible.
66619
66620 2007-03-31  Bruno Haible  <bruno@clisp.org>
66621
66622         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
66623         work on Solaris either. Protect also second use of "autodetect_jp".
66624
66625 2007-03-31  Bruno Haible  <bruno@clisp.org>
66626
66627         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
66628         the function is not present.
66629
66630 2007-03-31  Bruno Haible  <bruno@clisp.org>
66631
66632         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
66633         the function is not present.
66634
66635 2007-03-31  Bruno Haible  <bruno@clisp.org>
66636
66637         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
66638         a bug in HP-UX iconv_open().
66639
66640 2007-03-31  Bruno Haible  <bruno@clisp.org>
66641
66642         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
66643         (Mathematics <math.h>): New section, add fpieee.
66644         (Input/output <stdio.h>): Add fseterr.
66645         (Mathematics <math.h>): New section, add printf-frexp.
66646         (Container data structures): Add sublist.
66647         (Core language properties): Add fpucw, inline.
66648         (Functions for greatest-width integer types <inttypes.h>): Add
66649         imaxabs, imaxdiv, inttypes.
66650         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
66651         isnanl-nolibm, ldexp.
66652         (Mathematics <math.h>): New section, add printf-frexpl.
66653         (Support for systems lacking POSIX:2001): Add fprintf-posix,
66654         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
66655         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
66656         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
66657         (Unicode string functions): Add unistr/u*-mbtoucr.
66658         (Java): Add javacomp-script, javaexec-script.
66659         (C#): Add csharpcomp-script, csharpexec-script.
66660         (Support for building libraries and executables): Add havelib,
66661         relocatable-*.
66662         (Support for maintaining and releasing projects): Renamed from
66663         'Support for maintaining and release projects'. Add announce-gen.
66664
66665 2007-03-31  Bruno Haible  <bruno@clisp.org>
66666
66667         * README: Talk primarily about git.
66668         (git and CVS): Renamed from CVS.
66669         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
66670         gnulib is available through git.
66671         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
66672
66673 2007-03-30  Bruno Haible  <bruno@clisp.org>
66674
66675         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
66676         * lib/poll_.h: Likewise.
66677         * lib/stat_.h: Likewise.
66678         * lib/sys_time_.h: Likewise.
66679         * lib/sysexit_.h: Likewise.
66680         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
66681         * lib/stdbool_.h: Likewise.
66682         * lib/byteswap_.h: Add double-inclusion guard.
66683
66684 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
66685
66686         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
66687
66688 2007-03-30  Karl Berry  <karl@gnu.org>
66689
66690         * config/srclist-update: double space after USA in the license
66691         substitution, since that's how it's usually (?) written.
66692
66693 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
66694
66695         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
66696         reported by Bruno Haible.
66697
66698 2007-03-29  Bruno Haible  <bruno@clisp.org>
66699
66700         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
66701         a bug in AIX iconv().
66702
66703 2007-03-29  Bruno Haible  <bruno@clisp.org>
66704
66705         * modules/ldexpl-tests: New file.
66706         * tests/test-ldexpl.c: New file.
66707
66708 2007-03-29  Bruno Haible  <bruno@clisp.org>
66709
66710         * lib/ldexpl.c: Include fpucw.h.
66711         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
66712         multiplication.
66713         * modules/ldexpl (Depends-on): Add fpucw.
66714
66715 2007-03-29  Bruno Haible  <bruno@clisp.org>
66716
66717         * modules/ldexpl: New file.
66718         * m4/ldexpl.m4: New file.
66719         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
66720         set.
66721         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
66722         REPLACE_LDEXPL.
66723         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
66724         REPLACE_LDEXPL.
66725         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66726         gl_FUNC_LDEXPL_WORKS.
66727         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
66728         * modules/mathl (Files): Remove lib/ldexpl.c.
66729         (Depends-on): Add ldexpl.
66730
66731 2007-03-29  Bruno Haible  <bruno@clisp.org>
66732
66733         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
66734
66735 2007-03-29  Bruno Haible  <bruno@clisp.org>
66736
66737         * tests/test-striconveh.c (main): Don't assume that a direct conversion
66738         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
66739         and possibly also HP-UX.
66740         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
66741         work on AIX, IRIX, HP-UX, OSF/1.
66742         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
66743         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
66744         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
66745         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
66746         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
66747         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
66748
66749 2007-03-29  Bruno Haible  <bruno@clisp.org>
66750
66751         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
66752
66753 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66754
66755         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
66756         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
66757
66758 2007-03-29  Eric Blake  <ebb9@byu.net>
66759
66760         * lib/acl-internal.h: Remove redundant include.
66761         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
66762         Cygwin when a file is locked.
66763
66764 2007-03-29  Bruno Haible  <bruno@clisp.org>
66765
66766         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
66767         file.
66768         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
66769
66770 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66771
66772         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
66773         try to remove a parent directory if the child couldn't be removed
66774         (except for the first rmdir, which could fail because the child
66775         doesn't exist).  Problem reported by Jeff Blaine in
66776         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
66777
66778 2007-03-28  Bruno Haible  <bruno@clisp.org>
66779
66780         * lib/striconveh.c (utf8conv_carefully): New function.
66781         (mem_cd_iconveh_internal): Invoke it.
66782
66783 2007-03-28  Bruno Haible  <bruno@clisp.org>
66784
66785         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
66786         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
66787         input.
66788         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
66789         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
66790         unistr/u8-uctomb.
66791
66792 2007-03-28  Bruno Haible  <bruno@clisp.org>
66793
66794         * modules/unistr/u8-mbtoucr: New file.
66795         * lib/unistr/u8-mbtoucr.c: New file.
66796         * modules/unistr/u16-mbtoucr: New file.
66797         * lib/unistr/u16-mbtoucr.c: New file.
66798         * modules/unistr/u16-mbtoucr: New file.
66799         * lib/unistr/u16-mbtoucr.c: New file.
66800         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
66801
66802 2007-03-27  Simon Josefsson  <simon@josefsson.org>
66803             Bruno Haible  <bruno@clisp.org>
66804
66805         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
66806         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
66807         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
66808
66809         * m4/stdio_h.m4: Add stubs for vasprintf too.
66810
66811         * modules/stdio: Support vasprintf in sed command.
66812
66813         * modules/vasprintf: Depend on stdio for prototypes.  Remove
66814         vasprintf.h.  Add stdio module indicator.
66815
66816         * lib/stdio_.h: Declare asprintf and vasprintf, based on
66817         vasprintf.h.
66818
66819         * lib/vasprintf.h: File removed.
66820
66821         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
66822         * lib/vasprintf.c: Ditto.
66823         * lib/xvasprintf.c: Ditto.
66824         * tests/test-vasprintf-posix.c: Ditto.
66825         * tests/test-vasprintf.c: Ditto.
66826
66827 2007-03-27  Bruno Haible  <bruno@clisp.org>
66828
66829         Make vasnprintf multithread-safe.
66830         * lib/vasnprintf.c (decimal_point_char): New function.
66831         (VASNPRINTF): Use it.
66832         Suggested by Simon Josefsson.
66833
66834 2007-03-27  Eric Blake  <ebb9@byu.net>
66835
66836         Support sub-second birthtime on cygwin.
66837         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
66838         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
66839         (get_stat_birthtime): Also work with st_birthtim.
66840
66841 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
66842
66843         * lib/stat-time.h (USE_BIRTHTIME): Remove.
66844         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
66845         (get_stat_birthtime_ns): Do not try to use "spare" fields.
66846         (get_stat_birthtime_ns): Simplify compile-time tests.
66847         (get_stat_birthtime): Change the API to look like
66848         get_stat_mtime etc., except return a negative tv_nsec on error.
66849         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
66850         Don't check for "spare" fields.
66851         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
66852         or for struct stat.st_birthtime, as these tests aren't used.
66853         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
66854
66855 2007-03-27  Bruno Haible  <bruno@clisp.org>
66856
66857         * lib/stat-time.h: Include <sys/stat.h>.
66858
66859 2007-03-27  James Youngman  <jay@gnu.org>
66860
66861         * lib/stat-time.h (get_stat_birthtime): New function for
66862           retrieving st_birthtime as provided by UFS2 (hence *BSD).
66863         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
66864           and its variants.
66865         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
66866         * modules/stat-time-test: New file.
66867         * tests/test-stat-time.c: New test, devised by Bruno Haible.
66868
66869 2007-03-26  Bruno Haible  <bruno@clisp.org>
66870
66871         Better support of signalling NaNs.
66872         * lib/atanl.c: Include isnanl.h.
66873         (atanl): Perform test for NaN at the beginning of the function and
66874         through a call to isnanl.
66875         * lib/cosl.c: Include isnanl.h.
66876         (cosl): Perform test for NaN at the beginning of the function and
66877         through a call to isnanl.
66878         * lib/ldexpl.c: Include isnanl.h.
66879         (ldexpl): Perform test for NaN through a call to isnanl.
66880         * lib/logl.c: Include isnanl.h.
66881         (logl): Perform test for NaN at the beginning of the function and
66882         through a call to isnanl.
66883         * lib/sinl.c: Include isnanl.h.
66884         (sinl): Perform test for NaN at the beginning of the function and
66885         through a call to isnanl.
66886         * lib/sqrtl.c: Include isnanl.h.
66887         (sqrtl): Perform test for NaN at the beginning of the function and
66888         through a call to isnanl.
66889         * lib/tanl.c: Include isnanl.h.
66890         (tanl): Perform test for NaN at the beginning of the function and
66891         through a call to isnanl.
66892         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
66893         * modules/mathl (Depends-on): Add isnanl.
66894
66895 2007-03-26  Eric Blake  <ebb9@byu.net>
66896
66897         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
66898         regression in logic sense of previous patch.
66899
66900 2007-03-26  Bruno Haible  <bruno@clisp.org>
66901
66902         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
66903         unportable shell command "if ! ...".
66904         Reported by Ralf Wildenhues.
66905
66906 2007-03-25  Bruno Haible  <bruno@clisp.org>
66907
66908         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
66909         <sysexits.h> file, and only add EX_CONFIG.
66910         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
66911         absolute file name and whether it is sufficient. Substitute also
66912         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
66913         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
66914         ABSOLUTE_SYSEXITS_H into sysexits.h.
66915
66916 2007-03-25  Bruno Haible  <bruno@clisp.org>
66917
66918         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
66919         hints is NULL.
66920
66921 2007-03-25  Bruno Haible  <bruno@clisp.org>
66922
66923         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
66924         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
66925
66926 2007-03-25  Bruno Haible  <bruno@clisp.org>
66927
66928         * lib/vasnprintf.c: Include langinfo.h.
66929         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
66930         multithread-safe.
66931         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
66932         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
66933         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66934         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66935         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66936         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66937         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66938         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
66939         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66940         Reported by Simon Josefsson.
66941
66942 2007-03-25  Bruno Haible  <bruno@clisp.org>
66943
66944         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
66945         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
66946         * modules/vasnprintf (Depends-on): Add stdint.
66947
66948 2007-03-25  Bruno Haible  <bruno@clisp.org>
66949
66950         * modules/fpieee: New file.
66951         * m4/fpieee.m4: New file.
66952         * modules/isnan-nolibm (Depends-on): Add fpieee.
66953         * modules/isnanl-nolibm (Depends-on): Add fpieee.
66954         * modules/isnanl (Depends-on): Add fpieee.
66955
66956 2007-03-25  Bruno Haible  <bruno@clisp.org>
66957
66958         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
66959
66960 2007-03-25  Bruno Haible  <bruno@clisp.org>
66961
66962         Avoid test failures on IRIX 6.5.
66963         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
66964         (main): Use it.
66965         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
66966         macros.
66967         (main): Use them.
66968
66969 2007-03-25  Bruno Haible  <bruno@clisp.org>
66970
66971         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
66972         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
66973         exists but doesn't work.
66974         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
66975         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
66976         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
66977         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
66978         math.h.
66979
66980 2007-03-25  Bruno Haible  <bruno@clisp.org>
66981
66982         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
66983         returns inf. Needed on IRIX 6.5.
66984
66985 2007-03-25  Bruno Haible  <bruno@clisp.org>
66986
66987         * tests/test-frexpl.c: Include isnanl-nolibm.h.
66988         (main): Use isnanl instead of x != x idiom.
66989         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
66990
66991         * tests/test-frexp.c: Include isnan.h.
66992         (main): Use isnan instead of x != x idiom.
66993         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
66994
66995 2007-03-25  Bruno Haible  <bruno@clisp.org>
66996
66997         * tests/test-frexp.c (NaN): New function/macro.
66998         (main): Use it instead of 0.0 / 0.0.
66999         * tests/test-isnan.c (NaN): New function/macro.
67000         (main): Use it instead of 0.0 / 0.0.
67001         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
67002         (test_function): Use it instead of 0.0 / 0.0.
67003         * tests/test-vasprintf-posix.c (NaN): New function/macro.
67004         (test_function): Use it instead of 0.0 / 0.0.
67005         * tests/test-snprintf-posix.h (NaN): New function/macro.
67006         (test_function): Use it instead of 0.0 / 0.0.
67007         * tests/test-sprintf-posix.h (NaN): New function/macro.
67008         (test_function): Use it instead of 0.0 / 0.0.
67009         * tests/test-fprintf-posix.h (NaN): New function/macro.
67010         (test_function): Use it instead of 0.0 / 0.0.
67011         * tests/test-printf-posix.h (NaN): New function/macro.
67012         (test_function): Use it instead of 0.0 / 0.0.
67013
67014         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
67015
67016 2007-03-25  Bruno Haible  <bruno@clisp.org>
67017
67018         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
67019
67020 2007-03-25  Bruno Haible  <bruno@clisp.org>
67021
67022         * lib/regexec.c (merge_state_with_log): Make static.
67023
67024 2007-03-25  Bruno Haible  <bruno@clisp.org>
67025
67026         * lib/trigl.c (kernel_rem_pio2): Make static.
67027
67028 2007-03-25  Bruno Haible  <bruno@clisp.org>
67029
67030         * lib/sincosl.c (sincosl_table): Make static.
67031
67032 2007-03-25  Bruno Haible  <bruno@clisp.org>
67033
67034         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
67035         if the compiler does not support C99.
67036
67037 2007-03-25  Bruno Haible  <bruno@clisp.org>
67038
67039         * modules/time (Makefile.am): Ensure all rule action lines start with a
67040         tab.
67041
67042 2007-03-24  Bruno Haible  <bruno@clisp.org>
67043
67044         * modules/tsearch-tests: New file.
67045         * tests/test-tsearch.sh: New file.
67046         * tests/test-tsearch.c: New file, mostly copied from glibc.
67047
67048         * modules/search-tests: New file.
67049         * tests/test-search.c: New file.
67050
67051         * modules/search: New file.
67052         * lib/search_.h: New file, incorporating lib/tsearch.h.
67053         * m4/search_h.m4: New file.
67054         * lib/tsearch.h: Remove file.
67055         * lib/tsearch.c: Include search.h instead of tsearch.h.
67056         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
67057         HAVE_TSEARCH.
67058         * modules/tsearch (Files): Remove lib/tsearch.h.
67059         (Depends-on): Add search.
67060         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
67061         (Include): Change tsearch.h into search.h.
67062
67063 2007-03-24  Bruno Haible  <bruno@clisp.org>
67064
67065         * modules/fpucw: New file.
67066         * lib/fpucw.h: New file.
67067         * lib/frexp.c: Include fpucw.h.
67068         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67069         (FUNC): Use them.
67070         * lib/printf-frexp.c: Include fpucw.h.
67071         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67072         (FUNC): Use them.
67073         * lib/vasnprintf.c: Include fpucw.h.
67074         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
67075         'long double' calculations.
67076         * tests/test-frexpl.c: Include fpucw.h.
67077         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67078         * tests/test-printf-frexpl.c: Include fpucw.h.
67079         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67080         * modules/frexpl (Depends-on): Add fpucw.
67081         * modules/printf-frexpl (Depends-on): Likewise.
67082         * modules/fprintf-posix (Depends-on): Likewise.
67083         * modules/snprintf-posix (Depends-on): Likewise.
67084         * modules/sprintf-posix (Depends-on): Likewise.
67085         * modules/vasnprintf-posix (Depends-on): Likewise.
67086         * modules/vasprintf-posix (Depends-on): Likewise.
67087         * modules/vfprintf-posix (Depends-on): Likewise.
67088         * modules/vsnprintf-posix (Depends-on): Likewise.
67089         * modules/vsprintf-posix (Depends-on): Likewise.
67090         * modules/frexpl-tests (Depends-on): Likewise.
67091         * modules/printf-frexpl-tests (Depends-on): Likewise.
67092
67093 2007-03-24  Bruno Haible  <bruno@clisp.org>
67094
67095         * lib/float+.h: New file.
67096         * lib/isnan.c: Include float+.h.
67097         (SIZE): New macro.
67098         (FUNC): Compare only SIZE bytes of the value.
67099         * lib/vasnprintf.c: Include float+.h.
67100         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
67101         SIZEOF_LDBL or SIZEOF_DBL bytes.
67102         * modules/isnan-nolibm (Files): Add lib/float+.h.
67103         * modules/isnanl-nolibm (Files): Add lib/float+.h.
67104         * modules/isnanl (Files): Add lib/float+.h.
67105         * modules/vasnprintf (Files): Add lib/float+.h.
67106
67107 2007-03-24  Bruno Haible  <bruno@clisp.org>
67108
67109         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
67110         include isnanl-nolibm.h.
67111
67112 2007-03-24  Bruno Haible  <bruno@clisp.org>
67113
67114         * tests/test-read-file.c (main): Don't produce spurious output for
67115         expected situations. Make the test fail if it encountered unexpected
67116         results.
67117
67118 2007-03-24  Bruno Haible  <bruno@clisp.org>
67119
67120         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
67121         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
67122
67123 2007-03-24  Bruno Haible  <bruno@clisp.org>
67124
67125         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
67126
67127 2007-03-24  Bruno Haible  <bruno@clisp.org>
67128
67129         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
67130         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
67131
67132         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
67133         * modules/utf8-ucs4: Turn into a symbolic link to module
67134         unistr/u8-mbtouc.
67135
67136         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
67137         utf8-ucs4-unsafe.
67138         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
67139         unistr/u8-mbtouc-unsafe.
67140
67141         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
67142         * modules/utf16-ucs4: Turn into a symbolic link to module
67143         unistr/u16-mbtouc.
67144
67145         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
67146         utf16-ucs4-unsafe.
67147         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
67148         unistr/u16-mbtouc-unsafe.
67149
67150         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
67151         * modules/ucs4-utf8: Turn into a symbolic link to module
67152         unistr/u8-ubtomb.
67153
67154         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
67155         * modules/ucs4-utf16: Turn into a symbolic link to module
67156         unistr/u16-ubtomb.
67157
67158 2007-03-24  Bruno Haible  <bruno@clisp.org>
67159
67160         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
67161         Enable the function only if HAVE_INLINE.
67162         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
67163         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67164         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
67165         Enable the function only if HAVE_INLINE.
67166         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
67167         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67168         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
67169         Enable the function only if HAVE_INLINE.
67170         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
67171         Enable the function only if HAVE_INLINE.
67172         * modules/utf8-ucs4: Update.
67173         * modules/utf8-ucs4-unsafe: Update.
67174         * modules/utf16-ucs4: Update.
67175         * modules/utf16-ucs4-unsafe: Update.
67176         * modules/ucs4-utf8: Update.
67177         * modules/ucs4-utf16: Update.
67178
67179 2007-03-24  Bruno Haible  <bruno@clisp.org>
67180
67181         * lib/utf8-ucs4.h: Remove file.
67182         * lib/utf8-ucs4-unsafe.h: Remove file.
67183         * lib/utf16-ucs4.h: Remove file.
67184         * lib/utf16-ucs4-unsafe.h: Remove file.
67185         * lib/ucs4-utf8.h: Remove file.
67186         * lib/ucs4-utf16.h: Remove file.
67187         * lib/unistr.h: Include their previous contents.
67188         * m4/utf-ucs4.m4: Remove file.
67189         * m4/ucs4-utf.m4: Remove file.
67190         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
67191         (Depends-on): Add unistr/base.
67192         (configure.ac): Remove gl_UTF_UCS4.
67193         (Makefile.am): Update.
67194         (Include): Change to unistr.h.
67195         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
67196         (Depends-on): Add unistr/base.
67197         (configure.ac): Remove gl_UTF_UCS4.
67198         (Makefile.am): Update.
67199         (Include): Change to unistr.h.
67200         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
67201         (Depends-on): Add unistr/base.
67202         (configure.ac): Remove gl_UTF_UCS4.
67203         (Makefile.am): Update.
67204         (Include): Change to unistr.h.
67205         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
67206         (Depends-on): Add unistr/base.
67207         (configure.ac): Remove gl_UTF_UCS4.
67208         (Makefile.am): Update.
67209         (Include): Change to unistr.h.
67210         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
67211         (Depends-on): Add unistr/base.
67212         (configure.ac): Remove gl_UCS4_UTF.
67213         (Makefile.am): Update.
67214         (Include): Change to unistr.h.
67215         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
67216         (Depends-on): Add unistr/base.
67217         (configure.ac): Remove gl_UCS4_UTF.
67218         (Makefile.am): Update.
67219         (Include): Change to unistr.h.
67220         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
67221         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
67222         utf8-ucs4-unsafe.h.
67223         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
67224         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
67225         utf16-ucs4-unsafe.h.
67226         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
67227         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
67228         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
67229         * lib/unistr/u8-strchr.c: Likewise.
67230         * lib/unistr/u8-strrchr.c: Likewise.
67231         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
67232         * lib/unistr/u16-strchr.c: Likewise.
67233         * lib/unistr/u16-strrchr.c: Likewise.
67234         * lib/striconveh.c: Update.
67235         * lib/linebreak.c: Update.
67236
67237 2007-03-24  Bruno Haible  <bruno@clisp.org>
67238
67239         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
67240         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
67241
67242 2007-03-22  Bruno Haible  <bruno@clisp.org>
67243
67244         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
67245
67246 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
67247
67248         * MODULES.html.sh (File system functions): New module write-any-file.
67249         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
67250         * m4/write-any-file.m4: New files.
67251
67252 2007-03-23  Eric Blake  <ebb9@byu.net>
67253
67254         * gnulib-tool: Rearrange space-tab sequences, since some editors
67255         like to eat them.
67256
67257 2007-03-23  Eric Blake  <ebb9@byu.net>
67258
67259         * lib/version-etc.c (version_etc_va): Update license wording to
67260         be more concise.  Recommended by Richard Stallman.
67261
67262 2007-03-22  Bruno Haible  <bruno@clisp.org>
67263
67264         * lib/poll.c (MSG_PEEK): New fallback definition.
67265
67266 2007-03-22  Bruno Haible  <bruno@clisp.org>
67267
67268         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
67269         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
67270         (main): Update.
67271         Fixes a compilation error on BeOS.
67272
67273 2007-03-22  Bruno Haible  <bruno@clisp.org>
67274
67275         * modules/frexpl-tests: New file.
67276         * tests/test-frexpl.c: New file.
67277
67278         * modules/frexpl: New file.
67279         * m4/frexpl.m4: New file.
67280         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
67281         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
67282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
67283         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
67284         (Depends-on): Add frexpl. Remove isnanl-nolibm.
67285         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
67286
67287 2007-03-22  Bruno Haible  <bruno@clisp.org>
67288
67289         * lib/frexpl.c: Share code with lib/frexp.c.
67290         * modules/mathl (Files): Add lib/frexp.c.
67291         (Depends-on): Add isnanl-nolibm.
67292
67293 2007-03-22  Bruno Haible  <bruno@clisp.org>
67294
67295         * modules/printf-frexp (Files): Add m4/frexp.m4.
67296         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
67297         only if the found frexp function actually works.
67298
67299 2007-03-22  Bruno Haible  <bruno@clisp.org>
67300
67301         * lib/frexp.c: Remove older implementation that uses divisions.
67302
67303 2007-03-21  Bruno Haible  <bruno@clisp.org>
67304
67305         * modules/frexp-tests: New file.
67306         * tests/test-frexp.c: New file.
67307
67308         * modules/frexp: New file.
67309         * lib/frexp.c: New file.
67310         * m4/frexp.m4: New file.
67311         * lib/math_.h (frexp): New declaration.
67312         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
67313         REPLACE_FREXP.
67314         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
67315
67316 2007-03-21  Bruno Haible  <bruno@clisp.org>
67317
67318         * modules/isnanl-tests: New file.
67319         * tests/test-isnanl.c: New file.
67320
67321         * modules/isnanl: New file.
67322         * lib/isnanl.h: New file.
67323         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
67324         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
67325         gl_FUNC_ISNANL_WORKS.
67326         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
67327         New macros.
67328
67329 2007-03-21  Bruno Haible  <bruno@clisp.org>
67330
67331         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
67332         lib/isnanl.h.
67333         (Include): Update.
67334         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
67335         * lib/vasnprintf.c: Update.
67336         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
67337         tests/test-isnanl.h, remove tests/test-isnanl.c.
67338         (Makefile.am): Update.
67339         * tests/test-isnanl-nolibm.c: New file.
67340         * tests/test-isnanl.h: New file.
67341         * tests/test-isnanl.c: Remove file.
67342
67343 2007-03-21  Jim Meyering  <jim@meyering.net>
67344
67345         When trying to open ".", treat ESTALE like EACCES.
67346         * lib/savewd.c (savewd_save): Resort to forking not just upon
67347         failure with EACCES, but also when errno is ESTALE.
67348
67349 2007-03-20  Bruno Haible  <bruno@clisp.org>
67350
67351         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
67352         Needed on AIX 5.1. Reported by Matthew Woehlke.
67353
67354 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67355
67356         Suggestions by Bruno Haible:
67357         * lib/acl-internal.h: Include "gettext.h" rather than rolling
67358         our own.
67359         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
67360         * modules/acl (Depends-on): Add gettext.
67361
67362 2007-03-19  Bruno Haible  <bruno@clisp.org>
67363
67364         * modules/iconvme: Remove file.
67365         * lib/iconvme.h: Remove file.
67366         * lib/iconvme.c: Remove file.
67367         * m4/iconvme.m4: Remove file.
67368
67369 2007-03-19  Bruno Haible  <bruno@clisp.org>
67370
67371         * doc/relocatable-maint.texi: Break long shell script line.
67372         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67373
67374 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67375
67376         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
67377         handle file_has_acl.
67378         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
67379         * lib/acl.c: Move header inclusions and related macro defns into
67380         lib/acl-internal.h.
67381         (S_ISLNK): Remove defn, since that's now done for us.
67382         (file_has_acl): Move to lib/file-has-acl.c.
67383         Call acl_trivial if available.  This is the crucial part of the fix.
67384         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
67385         shared within the library.  Rewrite a bit, partly to make it compatible
67386         with the GNU coding style.
67387         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
67388         Remove unnecessary double-quotes.
67389         Don't test for acl_to_text; the build will catch that.
67390         Replace acl_entries if it doesn't exist and it is needed.
67391         Check for -lsec and acl_trivial (as used on Solaris 10).
67392         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
67393         lib/file-has-acl.c.
67394         (Depends-on): Add sys_stat, for S_ISLNK.
67395
67396 2007-03-19  Ben Pfaff  <blp@gnu.org>
67397
67398         * doc/gnulib.texi: Fix typos.
67399         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67400
67401 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67402
67403         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
67404         If size is zero here, buf must be zero.
67405
67406 2007-03-19  Simon Josefsson  <simon@josefsson.org>
67407
67408         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
67409         <bruno@clisp.org>.
67410
67411 2007-03-18  Bruno Haible  <bruno@clisp.org>
67412
67413         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
67414         Suggested by Eric Blake.
67415
67416 2007-03-18  Ben Pfaff  <blp@gnu.org>
67417
67418         * doc/relocatable.texi: Recommend using as prefix a directory
67419         that does not exist and will never be created.  Based on
67420         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
67421         and others.
67422
67423 2007-03-17  Bruno Haible  <bruno@clisp.org>
67424
67425         * lib/fchownat.c: Include lchown.h.
67426
67427 2007-03-17  Bruno Haible  <bruno@clisp.org>
67428
67429         Fix endless loop when the given allocated size was > INT_MAX.
67430         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
67431         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
67432         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
67433         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
67434         * lib/sprintf.c (sprintf): Likewise.
67435
67436 2007-03-17  Bruno Haible  <bruno@clisp.org>
67437
67438         * tests/test-argp-2.sh (func_compare): Output a context diff.
67439
67440 2007-03-17  Bruno Haible  <bruno@clisp.org>
67441
67442         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
67443         locale's decimal-point character.
67444
67445 2007-03-17  Bruno Haible  <bruno@clisp.org>
67446
67447         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
67448         before comparing it. Needed because on some platforms (e.g. x86) a
67449         'long double' occupies less bytes than sizeof (long double).
67450
67451 2007-03-17  Bruno Haible  <bruno@clisp.org>
67452
67453         * tests/test-crc.c (main): Make printf statements 64-bit clean.
67454         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
67455         * tests/test-getaddrinfo.c (simple): Likewise.
67456         * tests/test-read-file.c (main): Likewise.
67457
67458 2007-03-17  Bruno Haible  <bruno@clisp.org>
67459
67460         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
67461
67462 2007-03-17  Bruno Haible  <bruno@clisp.org>
67463
67464         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
67465         unused variable.
67466
67467 2007-03-17  Bruno Haible  <bruno@clisp.org>
67468
67469         * tests/test-c-strcasecmp.c: Include c-strcase.h.
67470         * tests/test-c-strncasecmp.c: Likewise.
67471
67472 2007-03-17  Bruno Haible  <bruno@clisp.org>
67473
67474         * modules/stdlib (Depends-on): Add unistd.
67475         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
67476         Needed for MacOS X 10.3.
67477
67478 2007-03-17  Bruno Haible  <bruno@clisp.org>
67479
67480         * lib/unistr/u-strdup.h: Include <stdlib.h>.
67481
67482 2007-03-17  Bruno Haible  <bruno@clisp.org>
67483
67484         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
67485
67486 2007-03-17  Bruno Haible  <bruno@clisp.org>
67487
67488         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
67489         to reflect files copied from gnulib (with or without modifications).
67490         Suggested by Jim Meyering.
67491
67492 2007-03-17  Eric Blake  <ebb9@byu.net>
67493
67494         * NEWS: Document stdlib change from 2007-02-18.
67495
67496 2007-03-17  Jim Meyering  <jim@meyering.net>
67497
67498         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
67499         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
67500         someone uses a name containing shell meta-characters.
67501         Reported by Alfred M. Szmidt.
67502
67503         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
67504
67505 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
67506
67507         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
67508         and copy gettext configuration files only if configure.ac contains
67509         a use of AM_GNU_GETTEXT_VERSION.
67510
67511 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
67512
67513         * build-aux/bootstrap (gnulib_name): New variable.
67514         (gnulib_tool_options): Use it.
67515
67516 2007-03-13  Simon Josefsson  <simon@josefsson.org>
67517
67518         * tests/test-des.c: Use new namespace.
67519
67520 2007-03-15  Bruno Haible  <bruno@clisp.org>
67521
67522         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
67523         Reported by James Youngman <jay@gnu.org>.
67524
67525 2007-03-15  Bruno Haible  <bruno@clisp.org>
67526
67527         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
67528         declared prototype. Needed with cc on OSF/1 5.1.
67529
67530 2007-03-15  Bruno Haible  <bruno@clisp.org>
67531
67532         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
67533         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
67534         (struct gl_list_implementation): Add dispose_fn argument to the
67535         'create_empty', 'create' methods.
67536         (struct gl_list_impl_base): Add field 'dispose_fn'.
67537         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
67538         argument.
67539         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
67540         dispose_fn argument.
67541         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
67542         dispose_fn on the dropped values.
67543         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
67544         dispose_fn argument.
67545         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
67546         dropped values.
67547         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
67548         (gl_tree_remove_node): Call dispose_fn on the dropped value.
67549         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
67550         (gl_tree_remove_node): Call dispose_fn on the dropped value.
67551         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
67552         argument.
67553         (gl_tree_list_free): Call dispose_fn on the dropped values.
67554         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
67555         the dropped values.
67556         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
67557         Add dispose_fn argument.
67558         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
67559         Call dispose_fn on the dropped values.
67560         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
67561         Add dispose_fn argument.
67562         (gl_sublist_create): Initialize the 'dispose_fn' field.
67563         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
67564         * tests/test-array_list.c (main): Update.
67565         * tests/test-carray_list.c (main): Update.
67566         * tests/test-avltree_list.c (main): Update.
67567         * tests/test-rbtree_list.c (main): Update.
67568         * tests/test-avltreehash_list.c (main): Update.
67569         * tests/test-rbtreehash_list.c (main): Update.
67570         * tests/test-linked_list.c (main): Update.
67571         * tests/test-linkedhash_list.c (main): Update.
67572         * tests/test-array_oset.c (main): Update.
67573
67574 2007-03-15  Bruno Haible  <bruno@clisp.org>
67575
67576         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
67577         (gl_oset_create_empty): Add dispose_fn argument.
67578         (struct gl_oset_implementation): Add dispose_fn argument to
67579         'create_empty' method.
67580         (struct gl_oset_impl_base): Add dispose_fn field.
67581         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
67582         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
67583         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
67584         values.
67585         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
67586         (gl_tree_oset_free): Call dispose_fn on the dropped values.
67587         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
67588         dropped value.
67589         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
67590         dropped value.
67591         * tests/test-array_oset.c (main): Update.
67592         * tests/test-avltree_oset.c (main): Update.
67593         * tests/test-rbtree_oset.c (main): Update.
67594         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
67595
67596 2007-03-13  Bruno Haible  <bruno@clisp.org>
67597
67598         * tests/test-stdbool.c (i): Update after last patch.
67599
67600 2007-03-12  Bruno Haible  <bruno@clisp.org>
67601
67602         * lib/quotearg.c: Include <wctype.h> early, before the definition of
67603         the iswprint macro. Needed on Solaris 2.5.1.
67604
67605 2007-03-12  Bruno Haible  <bruno@clisp.org>
67606
67607         * tests/test-printf-frexp.c (main): Declare x as volatile.
67608
67609 2007-03-12  Simon Josefsson  <simon@josefsson.org>
67610
67611         * doc/gnulib.texi (Build robot for gnulib): New section.
67612
67613 2007-03-12  Jim Meyering  <jim@meyering.net>
67614
67615         * build-aux/bootstrap: New file.
67616         * build-aux/bootstrap.conf: New file, from coreutils.
67617
67618 2007-03-11  Bruno Haible  <bruno@clisp.org>
67619
67620         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
67621
67622 2007-03-12  Simon Josefsson  <simon@josefsson.org>
67623
67624         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
67625         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
67626         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
67627
67628 2007-03-11  Bruno Haible  <bruno@clisp.org>
67629
67630         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
67631         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
67632
67633 2007-03-11  Bruno Haible  <bruno@clisp.org>
67634
67635         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
67636         formula. Needed for SunPRO C 5.0.
67637
67638 2007-03-11  Bruno Haible  <bruno@clisp.org>
67639
67640         * modules/long-options (Depends-on): Add getopt.
67641
67642 2007-03-11  Bruno Haible  <bruno@clisp.org>
67643
67644         * modules/modechange (Depends-on): Add stdbool.
67645
67646 2007-03-11  Bruno Haible  <bruno@clisp.org>
67647
67648         * modules/i-ring (Depends-on): Add stdbool.
67649
67650 2007-03-11  Bruno Haible  <bruno@clisp.org>
67651
67652         * modules/gc-des (Depends-on): Add stdbool.
67653
67654 2007-03-11  Bruno Haible  <bruno@clisp.org>
67655
67656         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
67657
67658 2007-03-11  Bruno Haible  <bruno@clisp.org>
67659
67660         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
67661
67662 2007-03-11  Bruno Haible  <bruno@clisp.org>
67663
67664         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
67665
67666 2007-03-11  Bruno Haible  <bruno@clisp.org>
67667
67668         * lib/vasnprintf.c (sprintf): Undefine.
67669
67670 2007-03-11  Bruno Haible  <bruno@clisp.org>
67671
67672         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
67673         initializers in SunPRO C and Compaq C compilers.
67674
67675 2007-03-11  Bruno Haible  <bruno@clisp.org>
67676
67677         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
67678         decrementing code ANSI C compliant.
67679
67680 2007-03-11  Bruno Haible  <bruno@clisp.org>
67681
67682         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
67683         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
67684
67685 2007-03-11  Bruno Haible  <bruno@clisp.org>
67686
67687         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
67688         <stdbool.h> substitute doesn't pass.
67689
67690 2007-03-11  Bruno Haible  <bruno@clisp.org>
67691
67692         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
67693
67694 2007-03-11  Bruno Haible  <bruno@clisp.org>
67695
67696         * gnulib-tool (func_create_megatestdir): Create also an autobuild
67697         script, for submission to autobuild.josefsson.org.
67698
67699 2007-03-10  Bruno Haible  <bruno@clisp.org>
67700
67701         * modules/canonicalize-lgpl-tests: New file.
67702         * tests/test-canonicalize-lgpl.sh: New file.
67703         * tests/test-canonicalize-lgpl.c: New file.
67704
67705         * modules/c-strcase-tests: New file.
67706         * tests/test-c-strcase.sh: New file.
67707         * tests/test-c-strcasecmp.c: New file.
67708         * tests/test-c-strncasecmp.c: New file.
67709
67710         * modules/atexit-tests: New file.
67711         * tests/test-atexit.sh: New file.
67712         * tests/test-atexit.c: New file.
67713
67714 2007-03-10  Bruno Haible  <bruno@clisp.org>
67715
67716         * tests/test-binary-io.sh: Use temporary filenames that are not so
67717         likely to clash with those of other tests (in a parallel make).
67718         * tests/test-binary-io.c: Likewise.
67719
67720 2007-03-10  Bruno Haible  <bruno@clisp.org>
67721
67722         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
67723         fallback; use #error instead.
67724         Suggested by Simon Josefsson.
67725
67726 2007-03-10  Bruno Haible  <bruno@clisp.org>
67727
67728         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
67729         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
67730         first and the last.
67731
67732 2007-03-10  Bruno Haible  <bruno@clisp.org>
67733
67734         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
67735
67736 2007-03-10  Bruno Haible  <bruno@clisp.org>
67737
67738         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
67739         "make distcheck".
67740         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
67741         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
67742         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
67743
67744 2007-03-10  Bruno Haible  <bruno@clisp.org>
67745
67746         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
67747         variable.
67748         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
67749         variable.
67750
67751 2007-03-09  Eric Blake  <ebb9@byu.net>
67752         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
67753
67754         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
67755         types are not being provided by gnulib.
67756         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
67757         types are supported.
67758
67759 2007-03-10  Bruno Haible  <bruno@clisp.org>
67760
67761         * lib/stdio_.h (__attribute__): New macro.
67762         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
67763         vsprintf): Specify __attribute__ __format__ for GCC.
67764         Suggested by Eric Blake.
67765
67766 2007-03-09  Bruno Haible  <bruno@clisp.org>
67767
67768         * modules/printf-posix-tests: New file.
67769         * tests/test-printf-posix.sh: New file.
67770         * tests/test-printf-posix.c: New file.
67771
67772         * modules/printf-posix: New file.
67773         * lib/printf.c: New file.
67774         * m4/printf-posix-rpl.m4: New file.
67775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
67776         REPLACE_PRINTF.
67777         * lib/stdio_.h (printf): New declaration.
67778         (format, __format__, ____printf____, ____scanf____, ____strftime____,
67779         ____strfmon____): New macros.
67780         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
67781         REPLACE_PRINTF.
67782
67783 2007-03-09  Bruno Haible  <bruno@clisp.org>
67784
67785         * tests/test-vasnprintf-posix2.sh: New file.
67786         * tests/test-vasnprintf-posix2.c: New file.
67787         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
67788         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
67789         (Makefile.am): Activate test-vasnprintf-posix2.sh.
67790
67791         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
67792         a locale dependent decimal point, rather than always '.'.
67793
67794 2007-03-09  Eric Blake  <ebb9@byu.net>
67795
67796         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
67797         spite of platforms like Tandem/NSK that define it to -1.
67798
67799 2007-03-08  Bruno Haible  <bruno@clisp.org>
67800
67801         * modules/vprintf-posix-tests: New file.
67802         * tests/test-vprintf-posix.sh: New file.
67803         * tests/test-vprintf-posix.c: New file.
67804         * tests/test-printf-posix.h: New file.
67805
67806         * modules/vprintf-posix: New file.
67807         * lib/vprintf.c: New file.
67808         * m4/vprintf-posix.m4: New file.
67809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
67810         REPLACE_VPRINTF.
67811         * lib/stdio_.h (vprintf): New declaration.
67812         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
67813         REPLACE_VPRINTF.
67814
67815 2007-03-08  Bruno Haible  <bruno@clisp.org>
67816
67817         * modules/fprintf-posix-tests: New file.
67818         * tests/test-fprintf-posix.sh: New file.
67819         * tests/test-fprintf-posix.c: New file.
67820
67821         * modules/fprintf-posix: New file.
67822         * lib/fprintf.c: New file.
67823         * m4/fprintf-posix.m4: New file.
67824         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
67825         REPLACE_FPRINTF.
67826         * lib/stdio_.h (fprintf): New declaration.
67827         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
67828         REPLACE_FPRINTF.
67829
67830 2007-03-08  Bruno Haible  <bruno@clisp.org>
67831
67832         * modules/vfprintf-posix-tests: New file.
67833         * tests/test-vfprintf-posix.sh: New file.
67834         * tests/test-vfprintf-posix.c: New file.
67835         * tests/test-fprintf-posix.h: New file.
67836         * tests/test-fprintf-posix.out: New file.
67837
67838         * modules/vfprintf-posix: New file.
67839         * lib/vfprintf.c: New file.
67840         * m4/vfprintf-posix.m4: New file.
67841         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
67842         REPLACE_VFPRINTF.
67843         * lib/stdio_.h (vfprintf): New declaration.
67844         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
67845         REPLACE_VFPRINTF.
67846
67847 2007-03-08  Bruno Haible  <bruno@clisp.org>
67848
67849         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
67850
67851 2007-03-08  Bruno Haible  <bruno@clisp.org>
67852
67853         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
67854         instead of 'expr' invocations.
67855         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67856         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67857         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67858         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67859         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67860         Suggested by Paul Eggert.
67861
67862 2007-03-08  Bruno Haible  <bruno@clisp.org>
67863
67864         * modules/fseterr-tests: New file.
67865         * tests/test-fseterr.c: New file.
67866
67867         * modules/fseterr: New file.
67868         * lib/fseterr.h: New file.
67869         * lib/fseterr.c: New file.
67870
67871 2007-03-08  Bruno Haible  <bruno@clisp.org>
67872
67873         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
67874         * lib/getopt_.h: Likewise.
67875         * lib/mbswidth.h: Likewise.
67876         * lib/setenv.h: Likewise.
67877         * lib/vasnprintf.h: Likewise.
67878         * lib/vasprintf.h: Likewise.
67879         * lib/verror.h: Likewise.
67880         * lib/xsetenv.h: Likewise.
67881         * lib/xvasprintf.h: Likewise.
67882
67883 2007-03-08  Jim Meyering  <jim@meyering.net>
67884
67885         * users.txt: Add parted.
67886
67887         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
67888
67889 2007-03-07  Bruno Haible  <bruno@clisp.org>
67890
67891         * m4/printf.m4: Make the shell script snippets copy&pastable.
67892
67893 2007-03-02  Bruno Haible  <bruno@clisp.org>
67894
67895         * lib/netinet_in_.h: New file.
67896         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
67897         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
67898         * modules/netinet_in (Files): Add lib/netinet_in_.h.
67899         (Depends-on): Add absolute-header.
67900         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
67901         into netinet/in.h.
67902
67903 2007-03-03  Bruno Haible  <bruno@clisp.org>
67904
67905         * lib/sys_select_.h: New file.
67906         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
67907         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
67908         * modules/sys_select (Files): Add lib/sys_select_.h.
67909         (Depends-on): Add absolute-header.
67910         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
67911         into sys/select.h.
67912
67913 2007-03-02  Bruno Haible  <bruno@clisp.org>
67914
67915         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
67916         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
67917         values.
67918         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
67919         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
67920         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
67921         * modules/sys_socket (Depends-on): Add absolute-header.
67922         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
67923         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
67924         (Include): Remove requirement of inclusion of <sys/types.h>.
67925
67926 2007-03-02  Bruno Haible  <bruno@clisp.org>
67927
67928         * lib/byteswap_.h (bswap_32): Fix formula.
67929
67930 2007-03-06  Bruno Haible  <bruno@clisp.org>
67931
67932         * modules/sprintf-posix-tests: New file.
67933         * tests/test-sprintf-posix.c: New file.
67934
67935         * modules/sprintf-posix: New file.
67936         * lib/sprintf.c: New file.
67937         * m4/sprintf-posix.m4: New file.
67938         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
67939         REPLACE_SPRINTF.
67940         * lib/stdio_.h (sprintf): New declaration.
67941         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
67942         REPLACE_SPRINTF.
67943
67944 2007-03-06  Bruno Haible  <bruno@clisp.org>
67945
67946         * modules/vsprintf-posix-tests: New file.
67947         * tests/test-vsprintf-posix.c: New file.
67948         * tests/test-sprintf-posix.h: New file.
67949
67950         * modules/vsprintf-posix: New file.
67951         * lib/vsprintf.c: New file.
67952         * m4/vsprintf-posix.m4: New file.
67953         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
67954         REPLACE_VSPRINTF.
67955         * lib/stdio_.h (vsprintf): New declaration.
67956         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
67957         REPLACE_VSPRINTF.
67958
67959 2007-03-06  Bruno Haible  <bruno@clisp.org>
67960
67961         * modules/vsnprintf (Depend-on): Remove minmax.
67962
67963 2007-03-06  Bruno Haible  <bruno@clisp.org>
67964
67965         * modules/snprintf-posix-tests: New file.
67966         * tests/test-snprintf-posix.c: New file.
67967
67968         * modules/snprintf-posix: New file.
67969         * m4/snprintf-posix.m4: New file.
67970         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
67971         gl_FUNC_SNPRINTF.
67972         (gl_FUNC_SNPRINTF): Invoke it.
67973         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
67974         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
67975         is set.
67976         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
67977
67978 2007-03-06  Bruno Haible  <bruno@clisp.org>
67979
67980         * modules/vsnprintf-posix-tests: New file.
67981         * tests/test-vsnprintf-posix.c: New file.
67982         * tests/test-snprintf-posix.h: New file.
67983
67984         * modules/vsnprintf-posix: New file.
67985         * m4/vsnprintf-posix.m4: New file.
67986         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
67987         gl_FUNC_VSNPRINTF.
67988         (gl_FUNC_VSNPRINTF): Invoke it.
67989         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
67990         * lib/stdio_.h (vsnprintf): Define as a replacement if
67991         REPLACE_VSNPRINTF is set.
67992         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
67993
67994 2007-03-06  Bruno Haible  <bruno@clisp.org>
67995
67996         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
67997         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
67998
67999 2007-03-06  Bruno Haible  <bruno@clisp.org>
68000
68001         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
68002         (asinl): Declare also if HAVE_DECL_ASINL is set.
68003         (atanl): Declare also if HAVE_DECL_ATANL is set.
68004         (ceill): Declare also if HAVE_DECL_CEILL is set.
68005         (cosl): Declare also if HAVE_DECL_COSL is set.
68006         (expl): Declare also if HAVE_DECL_EXPL is set.
68007         (floorl): Declare also if HAVE_DECL_FLOORL is set.
68008         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
68009         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
68010         (logl): Declare also if HAVE_DECL_LOGL is set.
68011         (sinl): Declare also if HAVE_DECL_SINL is set.
68012         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
68013         (tanl): Declare also if HAVE_DECL_TANL is set.
68014         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
68015         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
68016         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
68017         declaration of frexpl, ldexpl.
68018         * modules/printf-frexpl (Depends-on): Add math.
68019         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
68020
68021 2007-03-05  Bruno Haible  <bruno@clisp.org>
68022
68023         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
68024         frexpl and ldexpl are declared.
68025         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
68026
68027 2007-03-05  Bruno Haible  <bruno@clisp.org>
68028
68029         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
68030         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
68031
68032 2007-03-05  Bruno Haible  <bruno@clisp.org>
68033
68034         * lib/stdio_.h: Include <stddef.h>.
68035
68036 2007-03-05  Bruno Haible  <bruno@clisp.org>
68037
68038         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
68039
68040 2007-03-05  Bruno Haible  <bruno@clisp.org>
68041
68042         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
68043         NetBSD 4, from Ralf Wildenhues.
68044
68045 2007-03-04  Bruno Haible  <bruno@clisp.org>
68046
68047         * lib/vasprintf.h: Update #if logic for the case when the functions
68048         exist but are overridden.
68049
68050 2007-03-04  Bruno Haible  <bruno@clisp.org>
68051
68052         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
68053         implementations: glibc-2.4 and MacOS X 10.3.
68054         * tests/test-vasnprintf-posix.c (test_function): Test also the case
68055         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
68056         * tests/test-vasprintf-posix.c (test_function): Likewise.
68057
68058 2007-03-04  Bruno Haible  <bruno@clisp.org>
68059
68060         * modules/vasprintf-posix-tests: New file.
68061         * tests/test-vasprintf-posix.c: New file.
68062
68063         * modules/vasprintf-posix: New file.
68064         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
68065         defined.
68066         * m4/vasprintf-posix.m4: New file.
68067         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
68068         gl_FUNC_VASPRINTF.
68069         (gl_FUNC_VASPRINTF): Invoke it.
68070         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
68071         here.
68072         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
68073
68074 2007-03-04  Bruno Haible  <bruno@clisp.org>
68075
68076         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
68077         REPLACE_GETTIMEOFDAY.
68078         * modules/sys_time (Makefile.am): Likewise.
68079         * m4/sys_time_h.m4: Likewise.
68080         * m4/gettimeofday.m4: Likewise.
68081
68082 2007-03-04  Bruno Haible  <bruno@clisp.org>
68083
68084         * modules/vasnprintf-posix-tests: New file.
68085         * tests/test-vasnprintf-posix.c: New file.
68086
68087         * modules/vasnprintf-posix: New file.
68088         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
68089         printf-frexpl.h.
68090         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
68091         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
68092         REPLACE_VASNPRINTF is defined.
68093         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
68094         gl_FUNC_VASNPRINTF.
68095         (gl_FUNC_VASNPRINTF): Invoke it.
68096         * m4/vasnprintf-posix.m4: New file.
68097         * m4/printf.m4: New file.
68098
68099 2007-03-04  Bruno Haible  <bruno@clisp.org>
68100
68101         Compile progreloc.c only if --enable-relocatable is specified.
68102         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
68103         if --enable-relocatable was specified.
68104         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
68105         lib_SOURCES.
68106
68107 2007-03-04  Jim Meyering  <jim@meyering.net>
68108
68109         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
68110         Use it consistently, rather than enumerating errno constants.
68111
68112 2007-03-04  Bruno Haible  <bruno@clisp.org>
68113
68114         * modules/xvasprintf-tests: New file.
68115         * tests/test-xvasprintf.c: New file.
68116
68117         * modules/vasprintf-tests: New file.
68118         * tests/test-vasprintf.c: New file.
68119
68120         * modules/vasnprintf-tests: New file.
68121         * tests/test-vasnprintf.c: New file.
68122
68123         * modules/vsnprintf-tests: New file.
68124         * tests/test-vsnprintf.c: New file.
68125
68126         * modules/snprintf-tests: New file.
68127         * tests/test-snprintf.c: New file.
68128
68129 2007-03-04  Bruno Haible  <bruno@clisp.org>
68130
68131         Compile relocatable.c only if --enable-relocatable is specified.
68132         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
68133         gl_RELOCATABLE_LIBRARY.
68134         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
68135         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
68136         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
68137         gl_RELOCATABLE_LIBRARY.
68138         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
68139         (Makefile.am): Remove lib_SOURCES.
68140         * modules/relocatable-lib-lgpl (configure.ac): Invoke
68141         gl_RELOCATABLE_LIBRARY.
68142         (Makefile.am): Remove lib_SOURCES.
68143         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
68144         always.
68145         * modules/relocatable-prog-wrapper (configure.ac): Invoke
68146         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
68147
68148 2007-03-04  Bruno Haible  <bruno@clisp.org>
68149
68150         * modules/argmatch-tests: New file.
68151         * tests/test-argmatch.c: New file.
68152
68153         * tests/test-allocsa.c (main): Halve the number of loop runs.
68154
68155         * modules/alloca-opt-tests: New file.
68156         * tests/test-alloca-opt.c: New file.
68157
68158 2007-03-04  Jim Meyering  <jim@meyering.net>
68159
68160         Work around difference between Linux ACLs and Solaris 10 ZFS.
68161         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
68162         for EINVAL.
68163
68164 2007-03-03  Bruno Haible  <bruno@clisp.org>
68165
68166         * modules/relocatable-prog (Depends-on): Add back progreloc's
68167         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
68168
68169 2007-03-03  Bruno Haible  <bruno@clisp.org>
68170
68171         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
68172         * modules/relocatable-lib: New file.
68173
68174 2007-03-03  Bruno Haible  <bruno@clisp.org>
68175
68176         * modules/relocatable-prog: Renamed from modules/relocatable.
68177         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
68178
68179 2007-03-03  Bruno Haible  <bruno@clisp.org>
68180
68181         * modules/relocatable-script (Files): Add doc/relocatable.texi,
68182         m4/relocatable-lib.m4.
68183         (Depends-on): Remove 'relocatable'.
68184         (configure.ac): Add gl_RELOCATABLE_NOP.
68185
68186 2007-03-03  Bruno Haible  <bruno@clisp.org>
68187
68188         * modules/relocatable-prog-wrapper: New file.
68189         * modules/relocatable (Depends-on): Add it. Remove all other
68190         dependencies except progname.
68191         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
68192
68193         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
68194         (gl_FUNC_STRERROR): Nop.
68195         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
68196
68197         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
68198         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
68199
68200         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
68201         (gl_FUNC_READLINK): Update.
68202
68203         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
68204
68205 2007-03-03  Bruno Haible  <bruno@clisp.org>
68206
68207         * lib/xreadlink.c: Include <unistd.h> unconditionally.
68208         * modules/xreadlink (Depends-on): Add unistd.
68209         * modules/xreadlink-with-size (Depends-on): Likewise.
68210
68211 2007-03-03  Bruno Haible  <bruno@clisp.org>
68212
68213         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
68214         extracted from gt_FUNC_SETENV.
68215         (gt_FUNC_SETENV): Remove macro.
68216         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
68217         remove gt_FUNC_SETENV.
68218
68219 2007-03-03  Bruno Haible  <bruno@clisp.org>
68220
68221         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
68222         ENABLE_RELOCATABLE here.
68223         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
68224
68225 2007-03-03  Bruno Haible  <bruno@clisp.org>
68226
68227         * modules/rbtreehash-list-tests (Depends-on): Add progname.
68228         * tests/test-rbtreehash_list.c: Include progname.h.
68229         (main): Call set_program_name.
68230
68231         * modules/rbtree-oset-tests (Depends-on): Add progname.
68232         * tests/test-rbtree_oset.c: Include progname.h.
68233         (main): Call set_program_name.
68234
68235         * modules/rbtree-list-tests (Depends-on): Add progname.
68236         * tests/test-rbtree_list.c: Include progname.h.
68237         (main): Call set_program_name.
68238
68239         * modules/linked-list-tests (Depends-on): Add progname.
68240         * tests/test-linked_list.c: Include progname.h.
68241         (main): Call set_program_name.
68242
68243 2007-03-03  Bruno Haible  <bruno@clisp.org>
68244
68245         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
68246         All uses of __restrict changed to _Restrict_.
68247         * lib/glob_.h (__restrict): Remove macro.
68248
68249 2007-03-02  Bruno Haible  <bruno@clisp.org>
68250
68251         * modules/gettext (configure.ac): Require gettext infrastructure
68252         from version 0.16.1.
68253
68254 2007-03-02  Bruno Haible  <bruno@clisp.org>
68255
68256         * modules/linkedhash-list-tests (Depends-on): Add progname.
68257         * tests/test-linkedhash_list.c: Include progname.h.
68258         (main): Call set_program_name.
68259
68260         * modules/carray-list-tests (Depends-on): Add progname.
68261         * tests/test-carray_list.c: Include progname.h.
68262         (main): Call set_program_name.
68263
68264         * modules/avltreehash-list-tests (Depends-on): Add progname.
68265         * tests/test-avltreehash_list.c: Include progname.h.
68266         (main): Call set_program_name.
68267
68268         * modules/avltree-oset-tests (Depends-on): Add progname.
68269         * tests/test-avltree_oset.c: Include progname.h.
68270         (main): Call set_program_name.
68271
68272         * modules/avltree-list-tests (Depends-on): Add progname.
68273         * tests/test-avltree_list.c: Include progname.h.
68274         (main): Call set_program_name.
68275
68276         * modules/array-oset-tests (Depends-on): Add progname.
68277         * tests/test-array_oset.c: Include progname.h.
68278         (main): Call set_program_name.
68279
68280         * modules/array-list-tests (Depends-on): Add progname.
68281         * tests/test-array_list.c: Include progname.h.
68282         (main): Call set_program_name.
68283
68284         * modules/argp-tests (Depends-on): Add progname.
68285         * tests/test-argp.c: Include argp.h first. Include progname.h.
68286         (main): Call set_program_name.
68287
68288 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
68289
68290         * doc/gnulib-tool.texi (Initial import): Reword description of
68291         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
68292         limited effect even if defined after the first system include.
68293
68294 2007-03-01  Bruno Haible  <bruno@clisp.org>
68295
68296         * build-aux/config.libpath: Update to libtool-1.5.22.
68297         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
68298
68299 2007-03-01  Bruno Haible  <bruno@clisp.org>
68300
68301         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
68302         foo_CFLAGS.
68303         Reported by Ralf Wildenhues.
68304
68305 2007-03-01  Bruno Haible  <bruno@clisp.org>
68306
68307         * build-aux/install-reloc: Remove object files left over by some
68308         compilers.
68309         Reported by Ralf Wildenhues.
68310
68311 2007-03-01  Bruno Haible  <bruno@clisp.org>
68312
68313         * build-aux/install-reloc: Break long lines.
68314
68315 2007-03-01  Bruno Haible  <bruno@clisp.org>
68316
68317         * doc/relocatable.texi: Document that it may not work on OpenBSD.
68318         Reported by Ralf Wildenhues.
68319
68320 2007-03-01  Bruno Haible  <bruno@clisp.org>
68321
68322         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
68323         include ordering constraints.
68324
68325 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68326
68327         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
68328         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
68329         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
68330         as another example.
68331         * lib/time_.h: Fix misspelling.
68332         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68333         Require gl_HEADER_TIME_H_DEFAULTS.
68334         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
68335         * m4/time_r.m4 (gl_TIME_R): Likewise.
68336         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
68337
68338 2007-03-01  Bruno Haible  <bruno@clisp.org>
68339
68340         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
68341         * m4/utimens.m4 (gl_UTIMENS): Likewise.
68342
68343 2007-03-01  Jim Meyering  <jim@meyering.net>
68344
68345         * modules/xreadlink (Maintainer): Add my name.
68346         * modules/xreadlink-with-size (Depends-on): Alphabetize.
68347
68348 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
68349             Bruno Haible  <bruno@clisp.org>
68350
68351         * build-aux/install-reloc: Compile also c-ctype.c.
68352         * build-aux/relocatable.sh.in: New file.
68353         * doc/relocatable.texi: New file.
68354         * doc/relocatable-maint.texi: New file.
68355         * doc/gnulib.texi: Include relocatable-maint.texi.
68356         * lib/progreloc.c: Include unistd.h unconditionally.
68357         * lib/relocwrapper.c: Include unistd.h unconditionally.
68358         Include c-ctype.h.
68359         (add_dotbin): Use c_tolower.
68360         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
68361         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
68362         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
68363         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
68364         to m4/relocatable-lib.m4.
68365         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
68366         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
68367         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
68368         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
68369         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
68370         * modules/relocatable: New file.
68371         * modules/relocatable-lib: New file.
68372         * modules/relocatable-script: New file.
68373
68374 2007-02-28  Bruno Haible  <bruno@clisp.org>
68375
68376         Import --enable-relocatable infrastructure.
68377         * build-aux/config.libpath: New file, from GNU gettext.
68378         * build-aux/install-reloc: New file, from GNU gettext.
68379         * build-aux/reloc-ldflags: New file, from GNU gettext.
68380         * lib/relocatable.h: New file, from GNU gettext.
68381         * lib/relocatable.c: New file, from GNU gettext.
68382         * lib/relocwrapper.c: New file, from GNU gettext.
68383         * m4/relocatable.m4: New file, from GNU gettext.
68384
68385 2007-02-28  Bruno Haible  <bruno@clisp.org>
68386
68387         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
68388
68389         * modules/xreadlink: New file, from GNU gettext with modifications.
68390         * lib/xreadlink.c: New file, from GNU gettext.
68391         * lib/xreadlink.h: Add comments.
68392         (xreadlink): New declaration.
68393
68394         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
68395         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
68396         lib/xreadlink-with-size.c.
68397         (configure.ac): Remove gl_XREADLINK invocation.
68398         (Makefile.am): Augment lib_SOURCES.
68399         * m4/xreadlink.m4: Remove file.
68400         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
68401         (xreadlink_with_size): Renamed from xreadink.
68402         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
68403         * modules/canonicalize (Depends-on): Replace xreadlink with
68404         xreadlink-with-size.
68405         * lib/canonicalize.c (canonicalize_filename_mode): Update.
68406
68407 2007-02-25  Jim Meyering  <jim@meyering.net>
68408
68409         * build-aux/announce-gen: When complaining about excess arguments,
68410         list them.
68411
68412 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68413
68414         * README: Document signed integer overflow situation more
68415         accurately.
68416
68417 2007-02-25  Bruno Haible  <bruno@clisp.org>
68418
68419         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
68420         'a' or 'A' conversion.
68421
68422 2007-02-25  Bruno Haible  <bruno@clisp.org>
68423
68424         * modules/filename: Renamed from modules/pathname.
68425         (Files): Replace lib/pathname.h with lib/filename.h. Replace
68426         lib/concatpath.c with lib/concat-filename.c.
68427         (Makefile.am): Update.
68428         (Include): Replace pathname.h with filename.h.
68429         * lib/filename.h: Renamed from lib/pathname.h.
68430         (concatenated_filename): Renamed from concatenated_pathname.
68431         * lib/concat-filename.c: Renamed from lib/concatpath.c.
68432         (concatenated_filename): Renamed from concatenated_pathname.
68433         * lib/findprog.c: Include filename.h instead of pathname.h.
68434         (find_in_path): Update.
68435         * lib/javacomp.c: Include filename.h instead of pathname.h.
68436         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
68437         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
68438         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
68439         is_oldgcj_14_13_usable, is_javac_usable): Update.
68440         * lib/javaexec.c: Include filename.h instead of pathname.h.
68441         (execute_java_class): Update.
68442         * modules/findprog: Update.
68443         * modules/javacomp: Update.
68444         * modules/javaexec: Update.
68445         * MODULES.html.sh (File system functions): Add 'filename', remove
68446         'pathname'.
68447
68448 2007-02-25  Bruno Haible  <bruno@clisp.org>
68449
68450         * modules/printf-frexpl-tests: New file.
68451         * tests/test-printf-frexpl.c: New file.
68452
68453         * modules/printf-frexpl: New file.
68454         * lib/printf-frexpl.h: New file.
68455         * lib/printf-frexpl.c: New file.
68456         * m4/printf-frexpl.m4: New file.
68457
68458 2007-02-25  Bruno Haible  <bruno@clisp.org>
68459
68460         * modules/printf-frexp-tests: New file.
68461         * tests/test-printf-frexp.c: New file.
68462
68463         * modules/printf-frexp: New file.
68464         * lib/printf-frexp.h: New file.
68465         * lib/printf-frexp.c: New file.
68466         * m4/printf-frexp.m4: New file.
68467
68468 2007-02-25  Bruno Haible  <bruno@clisp.org>
68469
68470         Assume automake >= 1.10 for the tests.
68471         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
68472         * modules/arctwo-tests: Likewise.
68473         * modules/argp-tests: Likewise.
68474         * modules/avltree-list-tests: Likewise.
68475         * modules/avltree-oset-tests: Likewise.
68476         * modules/avltreehash-list-tests: Likewise.
68477         * modules/carray-list-tests: Likewise.
68478         * modules/crc-tests: Likewise.
68479         * modules/des-tests: Likewise.
68480         * modules/gc-arcfour-tests: Likewise.
68481         * modules/gc-arctwo-tests: Likewise.
68482         * modules/gc-des-tests: Likewise.
68483         * modules/gc-hmac-md5-tests: Likewise.
68484         * modules/gc-hmac-sha1-tests: Likewise.
68485         * modules/gc-md2-tests: Likewise.
68486         * modules/gc-md4-tests: Likewise.
68487         * modules/gc-md5-tests: Likewise.
68488         * modules/gc-pbkdf2-sha1-tests: Likewise.
68489         * modules/gc-rijndael-tests: Likewise.
68490         * modules/gc-sha1-tests: Likewise.
68491         * modules/gc-tests: Likewise.
68492         * modules/getaddrinfo-tests: Likewise.
68493         * modules/hmac-md5-tests: Likewise.
68494         * modules/hmac-sha1-tests: Likewise.
68495         * modules/linked-list-tests: Likewise.
68496         * modules/linkedhash-list-tests: Likewise.
68497         * modules/lock-tests: Likewise.
68498         * modules/md2-tests: Likewise.
68499         * modules/md4-tests: Likewise.
68500         * modules/md5-tests: Likewise.
68501         * modules/rbtree-list-tests: Likewise.
68502         * modules/rbtree-oset-tests: Likewise.
68503         * modules/rbtreehash-list-tests: Likewise.
68504         * modules/read-file-tests: Likewise.
68505         * modules/rijndael-tests: Likewise.
68506         * modules/stdint-tests: Likewise.
68507         * modules/tls-tests: Likewise.
68508
68509 2007-02-24  Bruno Haible  <bruno@clisp.org>
68510
68511         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
68512         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
68513         function; instead check whether isnan with a double argument links.
68514         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
68515         function; instead check whether isnan with a 'long double' argument
68516         links.
68517         Reported by Eric Blake <ebb9@byu.net>.
68518
68519 2007-02-24  Bruno Haible  <bruno@clisp.org>
68520
68521         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
68522         defined.
68523         * lib/isnanl.c: Remove all code. Just include isnan.c.
68524         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
68525
68526 2007-02-25  Jim Meyering  <jim@meyering.net>
68527
68528         Avoid conflicting types for 'unsetenv' on FreeBSD.
68529         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
68530         conflicting with FreeBSD's (5.0 and 6.1) function declaration
68531         in stdlib.h.
68532
68533 2007-02-24  Bruno Haible  <bruno@clisp.org>
68534
68535         * modules/isnanl-nolibm-tests: New file.
68536         * tests/test-isnanl.c: New file.
68537
68538         * modules/isnanl-nolibm: New file.
68539         * lib/isnanl.h: New file.
68540         * lib/isnanl.c: New file.
68541         * m4/isnanl.m4: New file.
68542
68543 2007-02-24  Bruno Haible  <bruno@clisp.org>
68544
68545         * modules/isnan-nolibm-tests: New file.
68546         * tests/test-isnan.c: New file.
68547
68548         * modules/isnan-nolibm: New file.
68549         * lib/isnan.h: New file.
68550         * lib/isnan.c: New file.
68551         * m4/isnan.m4: New file.
68552
68553 2007-02-24  Bruno Haible  <bruno@clisp.org>
68554
68555         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
68556         assume that an exponent fits in 20 bits.
68557
68558 2007-02-24  Jim Meyering  <jim@meyering.net>
68559
68560         * m4/regex.m4: Update the description of the configure-time option,
68561         --without-included-regex, to state accurately what the defaults are,
68562         and perhaps to give people an idea why using this option is risky.
68563
68564 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
68565
68566         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
68567         loops on small arguments.  This attempts to avoid the problem
68568         Bruno Haible reported for AIX 4.3.2 in
68569         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
68570
68571 2007-02-23  Bruno Haible  <bruno@clisp.org>
68572
68573         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
68574         Needed for help2man.
68575
68576 2007-02-23  Karl Berry  <karl@gnu.org>
68577
68578         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
68579         exists, foo.h should be cvs-ignored, not committed.
68580
68581 2007-02-23  Eric Blake  <ebb9@byu.net>
68582
68583         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
68584         * lib/stat-time.h (includes): Likewise.
68585         * lib/utimecmp.c (includes): Likewise.
68586         * lib/utimens.h (includes): Likewise.
68587         * lib/getdate.y (includes): Also include "timespec.h" for use
68588         internal to the module.
68589         * modules/utimens (Depends-on): Revert yesterday's patch.
68590         * modules/nanosleep (Depends-on): Add missing dependency.
68591
68592 2007-02-22  Bruno Haible  <bruno@clisp.org>
68593
68594         * lib/glob.c: Don't include getlogin_r.h.
68595
68596 2007-02-22  Jim Meyering  <jim@meyering.net>
68597
68598         * modules/utimens (Depends-on): Add timespec, required for
68599         utimens.h's inclusion of timespec.h.
68600
68601 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
68602
68603         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
68604         long unreadable paths in GNU/Linux.  Problem reported by Andreas
68605         Schwab in
68606         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
68607         I'll try to think of a better way to fix the Solaris problem.
68608
68609         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
68610         like glibc; on Solaris 10, it fails with errno == EINVAL.
68611         POSIX says the behavior is unspecified if the first argument is NULL,
68612         so play it safe and never pass NULL to the system getcwd.
68613
68614 2007-02-21  Jim Meyering  <jim@meyering.net>
68615
68616         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
68617         of gettimeofday.  It would conflict with the one now always
68618         provided via sys_time_.h.  Reported by Matthew Woehlke, as
68619         an IRIX 6.5 build failure.
68620
68621 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
68622
68623         Minor fixups to port to Solaris 10 with Sun C 5.8.
68624         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
68625         * modules/getcwd (Depends-on): Add dirfd.
68626         * lib/putenv.c (putenv): #undef it.
68627         (rpl_putenv): New decl.
68628         (malloc, free): Include <stdlib.h> rather than prototyping separately.
68629
68630 2007-02-20  Bruno Haible  <bruno@clisp.org>
68631
68632         * modules/stdio-tests: New file.
68633         * tests/test-stdio.c: New file.
68634
68635         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
68636         (Depends-on): Add stdio.
68637         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68638         (Include): Use <stdio.h> instead of vsnprintf.h.
68639         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68640         HAVE_DECL_VSNPRINTF.
68641         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
68642
68643         * modules/snprintf (Files): Remove lib/snprintf.h.
68644         (Depends-on): Add stdio.
68645         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68646         (Include): Use <stdio.h> instead of snprintf.h.
68647         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68648         HAVE_DECL_SNPRINTF.
68649         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
68650         * lib/getaddrinfo.c: Likewise.
68651
68652         * modules/stdio: New file.
68653         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
68654         * lib/snprintf.h: Remove file.
68655         * lib/vsnprintf.h: Remove file.
68656         * lib/.cppi-disable: Remove snprintf.h.
68657         * m4/stdio_h.m4: New file.
68658         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
68659
68660 2007-02-20  Jim Meyering  <jim@meyering.net>
68661
68662         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
68663         used by e.g., mingw.  From Bruno Haible.
68664
68665 2007-02-19  Bruno Haible  <bruno@clisp.org>
68666
68667         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
68668         warnings.
68669         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68670
68671 2007-02-19  Bruno Haible  <bruno@clisp.org>
68672
68673         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
68674         from mingw users.
68675
68676 2007-02-19  Bruno Haible  <bruno@clisp.org>
68677
68678         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
68679         warnings.
68680         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
68681
68682 2007-02-19  Jim Meyering  <jim@meyering.net>
68683
68684         Don't use FD after a successful "fdopendir (fd)".
68685         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
68686         Reset it by calling dirfd on the just-obtained DIR*.
68687
68688         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
68689         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
68690
68691 2007-02-18  Bruno Haible  <bruno@clisp.org>
68692
68693         * lib/readlink.c: Include <unistd.h>.
68694         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
68695         HAVE_READLINK.
68696         * modules/readlink (Depends-on): Add unistd.
68697         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68698         (Include): Add <unistd.h>.
68699
68700         * lib/getlogin_r.h: Remove file.
68701         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
68702         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
68703         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
68704         HAVE_DECL_GETLOGIN_R.
68705         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
68706         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68707         (Include): Use <unistd.h> instead of getlogin_r.h.
68708
68709         * lib/getcwd.h: Remove file.
68710         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
68711         * lib/xgetcwd.c: Likewise.
68712         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
68713         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
68714         * modules/getcwd (Files): Remove lib/getcwd.h.
68715         (Depends-on): Add unistd.
68716         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68717         (Include): Use <unistd.h> instad of getcwd.h.
68718
68719         * lib/ftruncate.c: Include <unistd.h> first.
68720         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
68721         Set HAVE_FTRUNCATE.
68722         * modules/ftruncate (Depends-on): Add unistd.
68723         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68724
68725         * lib/fchdir.c: Include <unistd.h> first.
68726         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
68727         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
68728         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
68729         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68730         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
68731
68732         * lib/dup2.c: Include <unistd.h> first.
68733         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
68734         HAVE_DUP2.
68735         * modules/dup2 (Depends-on): Add unistd.
68736         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68737
68738         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
68739         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
68740         REPLACE_CHOWN. Don't define chown as a macro here.
68741         * modules/chown (Depends-on): Add unistd.
68742         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68743
68744         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
68745         Add definition for GL_LINK_WARNING.
68746         (chown, dup2): New declarations.
68747         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
68748         link warning.
68749         (ftruncate): New declaration.
68750         (getcwd): New declaration, taken from old getcwd.h.
68751         (getlogin_r): New declaration, taken from old getlogin_r.h.
68752         (readlink): New declaration.
68753         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
68754         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
68755         (gl_PREREQ_UNISTD): Remove macro.
68756         (gl_UNISTD_MODULE_INDICATOR): New macro.
68757         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
68758         many new variables. Don't set UNISTD_H.
68759         * modules/unistd (Description): Change.
68760         (Depends-on): Add link-warning.
68761         (configure.ac): Update.
68762         (Makefile.am): Create unistd.h always. Substitute many new variables
68763         into it.
68764
68765 2007-02-18  Bruno Haible  <bruno@clisp.org>
68766
68767         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
68768         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
68769         HAVE_GETSUBOPT.
68770         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
68771         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
68772         * lib/getsubopt.h: Remove file.
68773         * modules/getsubopt (Files): Remove lib/getsubopt.h.
68774         (Depends-on): Add stdlib.
68775         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68776         (Includes): Use <stdlib.h> instead of getsubopt.h.
68777         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
68778         Set HAVE_GETSUBOPT.
68779         * lib/getsubopt.c: Don't include getsubopt.h.
68780
68781 2007-02-18  Bruno Haible  <bruno@clisp.org>
68782
68783         * modules/fchdir (Depends-on): Add dup2.
68784
68785 2007-02-18  Bruno Haible  <bruno@clisp.org>
68786
68787         * lib/stdlib_.h: Handle glibc's special invocation convention
68788         specially.
68789
68790 2007-02-18  Bruno Haible  <bruno@clisp.org>
68791
68792         * modules/stdlib-tests: New file.
68793         * tests/test-stdlib.c: New file.
68794
68795         * modules/mkstemp (Files): Remove lib/mkstemp.h.
68796         (Depends-on): Add stdlib.
68797         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68798         (Includes): Use <stdlib.h> instead of mkstemp.h.
68799         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68800         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
68801         * lib/mkstemp.c: Don't include mkstemp.h.
68802         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
68803         * lib/stdlib--.h: Don't include mkstemp.h.
68804
68805         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
68806         (Depends-on): Add stdlib.
68807         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68808         (Includes): Use <stdlib.h> instead of mkdtemp.h.
68809         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68810         HAVE_MKDTEMP.
68811         * lib/mkdtemp.c: Don't include mkdtemp.h.
68812         * lib/clean-temp.c: Don't include mkdtemp.h.
68813
68814         * modules/exit (Files): Remove lib/exit.h.
68815         (Depends-on): Add stdlib.
68816         (Makefile.am): Remove lib_SOURCES.
68817         (Include): Use <stdlib.h> instead of exit.h.
68818         * lib/argmatch.c: Don't include exit.h.
68819         * lib/execute.c: Likewise.
68820         * lib/pagealign_alloc.c: Likewise.
68821         * lib/pipe.c: Likewise.
68822         * lib/wait-process.c: Likewise.
68823         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
68824         * lib/exitfail.c: Likewise.
68825         * lib/savewd.c: Likewise.
68826         * lib/xsetenv.c: Likewise.
68827
68828         * modules/stdlib: New file.
68829         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
68830         and extra comments about mkstemp().
68831         * lib/exit.h: Remove file.
68832         * lib/mkdtemp.h: Remove file.
68833         * lib/mkstemp.h: Remove file.
68834         * m4/stdlib_h.m4: New file.
68835         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
68836
68837 2007-02-18  Bruno Haible  <bruno@clisp.org>
68838
68839         * modules/math-tests: New file.
68840         * tests/test-math.c: New file.
68841
68842         * modules/math: New file.
68843         * modules/mathl (Files): Remove lib/mathl.h.
68844         (Depends-on): Add math.
68845         (Makefile.am): Don't mention mathl.h.
68846         (Include): Use <math.h> instead of mathl.h.
68847         * lib/math_.h: New file.
68848         * lib/mathl.h: Remove file.
68849         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
68850         mathl.h.
68851         * lib/asinl.c: Likewise.
68852         * lib/atanl.c: Likewise.
68853         * lib/ceill.c: Likewise.
68854         * lib/cosl.c: Likewise.
68855         * lib/expl.c: Likewise.
68856         * lib/floorl.c: Likewise.
68857         * lib/frexpl.c: Likewise.
68858         * lib/ldexpl.c: Likewise.
68859         * lib/logl.c: Likewise.
68860         * lib/sincosl.c: Likewise.
68861         * lib/sinl.c: Likewise.
68862         * lib/sqrtl.c: Likewise.
68863         * lib/tanl.c: Likewise.
68864         * lib/trigl.c: Likewise.
68865         * m4/math_h.m4: New file.
68866         * MODULES.html.sh (Mathematics): Add math.
68867
68868 2007-02-17  Bruno Haible  <bruno@clisp.org>
68869
68870         * modules/wctype-tests: New file.
68871         * tests/test-wctype.c: New file.
68872
68873         * modules/wchar-tests: New file.
68874         * tests/test-wchar.c: New file.
68875
68876         * modules/unistd-tests: New file.
68877         * tests/test-unistd.c: New file.
68878
68879         * modules/time-tests: New file.
68880         * tests/test-time.c: New file.
68881
68882         * modules/sysexits-tests: New file.
68883         * tests/test-sysexits.c: New file.
68884
68885         * modules/sys_time-tests: New file.
68886         * tests/test-sys_time.c: New file.
68887
68888         * modules/sys_stat-tests: New file.
68889         * tests/test-sys_stat.c: New file.
68890
68891         * modules/sys_socket-tests: New file.
68892         * tests/test-sys_socket.c: New file.
68893
68894         * modules/sys_select-tests: New file.
68895         * tests/test-sys_select.c: New file.
68896
68897         * modules/string-tests: New file.
68898         * tests/test-string.c: New file.
68899
68900         * modules/stdbool-tests: New file.
68901         * tests/test-stdbool.c: New file.
68902
68903         * modules/netinet_in-tests: New file.
68904         * tests/test-netinet_in.c: New file.
68905
68906         * modules/inttypes-tests: New file.
68907         * tests/test-inttypes.c: New file.
68908
68909         * modules/fcntl-tests: New file.
68910         * tests/test-fcntl.c: New file.
68911
68912         * modules/byteswap-tests: New file.
68913         * tests/test-byteswap.c: New file.
68914
68915         * modules/arpa_inet-tests: New file.
68916         * tests/test-arpa_inet.c: New file.
68917
68918 2007-02-17  Bruno Haible  <bruno@clisp.org>
68919
68920         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
68921         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
68922         if the corresponding module is not enabled. Emit link warnings if
68923         the function is used nevertheless.
68924         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
68925         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
68926         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
68927         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
68928         * modules/inttypes (Depends-on): Add link-warning.
68929         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68930         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
68931         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
68932         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
68933         * modules/imaxdiv (configure.ac): Likewise.
68934         * modules/strtoimax (configure.ac): Likewise.
68935         * modules/strtoumax (configure.ac): Likewise.
68936
68937 2007-02-17  Bruno Haible  <bruno@clisp.org>
68938
68939         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
68940         gl_STRING_MODULE_INDICATOR_DEFAULTS.
68941         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
68942         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
68943
68944 2007-02-17  Bruno Haible  <bruno@clisp.org>
68945
68946         * modules/link-warning: New file.
68947         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
68948         * lib/string_.h (GL_LINK_WARNING): Remove definition.
68949         * modules/string (Depends-on): Add link-warning.
68950         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68951         string.h.
68952         * MODULES.html.sh (Support for building libraries and executables): Add
68953         link-warning.
68954
68955 2007-02-17  Bruno Haible  <bruno@clisp.org>
68956
68957         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
68958         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
68959         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
68960         long lines.
68961
68962 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
68963             Bruno Haible  <bruno@clisp.org>
68964
68965         * modules/tmpfile: New file.
68966         * lib/tmpfile.c: New file.
68967         * m4/tmpfile.m4: New file.
68968         * MODULES.html.sh (func_all_modules): New section "Input/output".
68969
68970 2007-02-15  Bruno Haible  <bruno@clisp.org>
68971
68972         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
68973         (supports_delete_on_close): New function.
68974         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
68975
68976 2007-02-14  Bruno Haible  <bruno@clisp.org>
68977
68978         * modules/mbspcasecmp-tests: New file.
68979         * tests/test-mbspcasecmp.sh: New file.
68980         * tests/test-mbspcasecmp.c: New file.
68981
68982         New module mbspcasecmp.
68983         * modules/mbspcasecmp: New file.
68984         * lib/mbspcasecmp.c: New file.
68985         * lib/string_.h (strncasecmp): Change warning message.
68986         (mbspcasecmp): New declaration.
68987         * m4/mbspcasecmp.m4: New file.
68988         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68989         GNULIB_MBSPCASECMP.
68990         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
68991         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
68992
68993 2007-02-14  Bruno Haible  <bruno@clisp.org>
68994
68995         * modules/mbsncasecmp-tests: New file.
68996         * tests/test-mbsncasecmp.sh: New file.
68997         * tests/test-mbsncasecmp.c: New file.
68998
68999         New module mbsncasecmp.
69000         * modules/mbsncasecmp: New file.
69001         * lib/mbsncasecmp.c: New file.
69002         * lib/string_.h (mbsncasecmp): New declaration.
69003         * m4/mbsncasecmp.m4: New file.
69004         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69005         GNULIB_MBSNCASECMP.
69006         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
69007         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
69008
69009 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
69010
69011         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
69012         Verify that it doesn't overlap with our flags.
69013         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
69014         do not have the desired effect in multibyte locales; instead, use
69015         mbscasecmp.
69016         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
69017         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
69018         we don't require GNU fnmatch ourselves (if our users require it, they
69019         should do so explicitly).
69020
69021         Fix regex code so it doesn't rely on strcasecmp.
69022         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
69023         Otherwise, include gnulib's langinfo.h.
69024         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
69025         undesirable behavior in non-C locales.  Instead, rely on localecharset.
69026         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
69027         * modules/regex (FILES): Remove m4/codeset.m4.
69028         (Depends-on): Add localcharset.  Remove strcase.
69029
69030 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69031
69032         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
69033         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
69034
69035 2007-02-13  Bruno Haible  <bruno@clisp.org>
69036
69037         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
69038         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69039
69040 2007-02-12  Bruno Haible  <bruno@clisp.org>
69041
69042         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
69043         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
69044         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
69045         time warning rather than a link error.
69046
69047 2007-02-12  Bruno Haible  <bruno@clisp.org>
69048
69049         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
69050         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
69051         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69052
69053 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69054
69055         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
69056         args, not 2.
69057
69058 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69059
69060         New module 'time', so that apps can include <time.h> as per
69061         POSIX and GNU instead of separate include files like time_r.h
69062         and timegm.h.  This implementation tries out a simpler approach
69063         for replacing decls in standard include files (as compared to
69064         the string module), somewhat as an experiment.
69065
69066         * config/srclist.txt: Comment out mktime.c for now.
69067         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
69068         since it doesn't apply any more.  Use generic wording instead.
69069         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
69070         'time'.
69071         * lib/time_.h, m4/time_h.m4, modules/time: New files.
69072         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
69073         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
69074         Don't include <sys/types.h>; no longer needed since we assume C89.
69075         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
69076         * lib/strftime.c: Likewise.
69077         * lib/time_r.c: Likewise.
69078         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
69079         * lib/nanosleep.c: Include <time.h> first, to check interface.
69080         * lib/strptime.c: Likewise.
69081         * lib/time_r.c: Likewise.
69082         * lib/timegm.c: Likewise.
69083         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
69084         needed.
69085         * lib/timegm.c: Don't include timegm.h; no longer needed.
69086         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
69087         time.h now handles any problems in that area.
69088         (struct timespec, nanosleep): Remove; time.h now arranges for these.
69089         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
69090         that time.h defines struct timespec.
69091         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
69092         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
69093         handles that.
69094         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
69095         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
69096         needed.  Set REPLACE_LOCALTIME.
69097         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
69098         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
69099         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
69100         nanosleep; time_h.m4 now does that.  Don't require
69101         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
69102         module handles this now.
69103         * modules/getdate (Depends-on): Remove timespec.  Add time.
69104         * modules/nanosleep (Depends-on): Likewise.
69105         * modules/stat-time (Depends-on): Likewise.
69106         * modules/nanosleep (Include): Include time.h, not timespec.h.
69107         * modules/strptime (Files): Remove lib/strptime.h.
69108         (Depends-on): Add extensions, time.
69109         (Include): Include time.h, not strptime.h.
69110         * modules/time_r (Files): Remove lib/time_r.h.
69111         (Depends-on): Add time.
69112         (Include): Include time.h, not time_r.h.
69113         * modules/timegm: Likewise.
69114         * modules/timespec (Description): Now does timespec-related decls
69115         of our own, instead of struct timespec itself.
69116         (Depends-on): Add time; remove extensions.
69117         (Maintainer): Add self.
69118         * modules/utimecmp (Depends-on): Add time; remove timespec.
69119         * modules/utimens (Depends-on): Likewise.
69120         * modules/xnanosleep (Depends-on): Likewise.
69121
69122 2007-02-11  Bruno Haible  <bruno@clisp.org>
69123
69124         * lib/c-strstr.c: Include allocsa.h.
69125         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69126         * lib/c-strcasestr.c: Include allocsa.h.
69127         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69128         * lib/strcasestr.c: Include allocsa.h.
69129         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69130         * lib/mbsstr.c: Include allocsa.h.
69131         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69132         allocsa/freesa instead of malloc/free.
69133         * lib/mbscasestr.c: Include allocsa.h.
69134         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69135         allocsa/freesa instead of malloc/free.
69136         * modules/c-strstr (Depends-on): Add allocsa.
69137         * modules/c-strcasestr (Depends-on): Likewise.
69138         * modules/strcasestr (Depends-on): Likewise.
69139         * modules/mbsstr (Depends-on): Likewise.
69140         * modules/mbscasestr (Depends-on): Likewise.
69141
69142 2007-02-11  Bruno Haible  <bruno@clisp.org>
69143
69144         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
69145
69146         * modules/mbsspn-tests: New file.
69147         * tests/test-mbsspn.sh: New file.
69148         * tests/test-mbsspn.c: New file.
69149
69150 2007-02-11  Bruno Haible  <bruno@clisp.org>
69151
69152         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
69153
69154         * modules/mbspbrk-tests: New file.
69155         * tests/test-mbspbrk.sh: New file.
69156         * tests/test-mbspbrk.c: New file.
69157
69158 2007-02-11  Bruno Haible  <bruno@clisp.org>
69159
69160         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
69161         unneeded cast.
69162
69163         * modules/mbscspn-tests: New file.
69164         * tests/test-mbscspn.sh: New file.
69165         * tests/test-mbscspn.c: New file.
69166
69167 2007-02-11  Bruno Haible  <bruno@clisp.org>
69168
69169         * modules/mbscasecmp-tests: New file.
69170         * tests/test-mbscasecmp.sh: New file.
69171         * tests/test-mbscasecmp.c: New file.
69172
69173 2007-02-11  Bruno Haible  <bruno@clisp.org>
69174
69175         Ensure O(n) worst-case complexity of mbscasestr.
69176         * lib/mbscasestr.c: Include stdbool.h.
69177         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69178         functions.
69179         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
69180         the bookkeeping indicates that it's worth it.
69181         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
69182
69183         * modules/mbscasestr-tests: New file.
69184         * tests/test-mbscasestr1.c: New file.
69185         * tests/test-mbscasestr2.sh: New file.
69186         * tests/test-mbscasestr2.c: New file.
69187         * tests/test-mbscasestr3.sh: New file.
69188         * tests/test-mbscasestr3.c: New file.
69189         * tests/test-mbscasestr4.sh: New file.
69190         * tests/test-mbscasestr4.c: New file.
69191         * m4/locale-tr.m4: New file.
69192
69193 2007-02-11  Bruno Haible  <bruno@clisp.org>
69194
69195         Ensure O(n) worst-case complexity of mbsstr.
69196         * lib/mbsstr.c: Include stdbool.h.
69197         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69198         functions.
69199         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
69200         bookkeeping indicates that it's worth it.
69201         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
69202
69203         * modules/mbsstr-tests: New file.
69204         * tests/test-mbsstr1.c: New file.
69205         * tests/test-mbsstr2.sh: New file.
69206         * tests/test-mbsstr2.c: New file.
69207         * tests/test-mbsstr3.sh: New file.
69208         * tests/test-mbsstr3.c: New file.
69209         * m4/locale-fr.m4: New file.
69210
69211 2007-02-11  Bruno Haible  <bruno@clisp.org>
69212
69213         * lib/mbsrchr.c (mbsrchr): Fix bug.
69214
69215         * modules/mbsrchr-tests: New file.
69216         * tests/test-mbsrchr.sh: New file.
69217         * tests/test-mbsrchr.c: New file.
69218
69219 2007-02-11  Bruno Haible  <bruno@clisp.org>
69220
69221         * lib/mbschr.c (mbschr): Fix bug.
69222
69223         * modules/mbschr-tests: New file.
69224         * tests/test-mbschr.sh: New file.
69225         * tests/test-mbschr.c: New file.
69226         * m4/locale-zh.m4: New file.
69227
69228 2007-02-11  Bruno Haible  <bruno@clisp.org>
69229
69230         Support for copying multibyte string iterators.
69231         * lib/mbiter.h: Include <string.h>.
69232         (mbiter_multi_copy): New function.
69233         (mbi_copy): New macro.
69234         * lib/mbuiter.h: Include <string.h>.
69235         (mbuiter_multi_copy): New function.
69236         (mbui_copy): New macro.
69237
69238 2007-02-11  Bruno Haible  <bruno@clisp.org>
69239
69240         New module mbslen.
69241         * modules/mbslen: New file.
69242         * lib/mbslen.c: New file.
69243         * lib/string_.h (mbslen): New declaration.
69244         * m4/mbslen.m4: New file.
69245         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69246         GNULIB_MBSLEN.
69247         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
69248         * MODULES.html.sh (Internationalization functions): Add mbslen.
69249
69250 2007-02-11  Bruno Haible  <bruno@clisp.org>
69251
69252         Ensure O(n) worst-case complexity of strcasestr substitute.
69253         * lib/strcasestr.c: Include stdbool.h.
69254         (knuth_morris_pratt): New function.
69255         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69256         bookkeeping indicates that it's worth it.
69257         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
69258
69259         * modules/strcasestr-tests: New file.
69260         * tests/test-strcasestr.c: New file.
69261
69262 2007-02-11  Bruno Haible  <bruno@clisp.org>
69263
69264         Ensure O(n) worst-case complexity of c_strcasestr.
69265         * lib/c-strcasestr.c: Include stdbool.h, string.h.
69266         (knuth_morris_pratt): New function.
69267         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
69268         the bookkeeping indicates that it's worth it.
69269         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
69270
69271         * modules/c-strcasestr-tests: New file.
69272         * tests/test-c-strcasestr.c: New file.
69273
69274 2007-02-11  Bruno Haible  <bruno@clisp.org>
69275
69276         Ensure O(n) worst-case complexity of c_strstr.
69277         * lib/c-strstr.c: Include stdbool.h, string.h.
69278         (knuth_morris_pratt): New function.
69279         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69280         bookkeeping indicates that it's worth it.
69281         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
69282
69283         * lib/c-strstr.c: Complete rewrite for maintainability.
69284
69285         * modules/c-strstr-tests: New file.
69286         * tests/test-c-strstr.c: New file.
69287
69288 2007-02-11  Bruno Haible  <bruno@clisp.org>
69289
69290         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
69291         5.2.1 and earlier, whereby \055 was treated just like the range
69292         delimiter '-'.
69293         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
69294
69295 2007-02-08  Bruno Haible  <bruno@clisp.org>
69296
69297         * modules/regex (Depends-on): Add stdbool.
69298         Reported by Dalibor Topic <robilad@kaffe.org>.
69299
69300 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
69301
69302         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
69303         Prefer returning from main to exiting from it.
69304         Remove unnecessary parens after sizeof.
69305
69306 2007-02-05  Bruno Haible  <bruno@clisp.org>
69307
69308         New module mbssep.
69309         * modules/mbssep: New file.
69310         * lib/mbssep.c: New file.
69311         * lib/string_.h (strsep): Add a conditional link warning.
69312         (mbssep): New declaration.
69313         * m4/mbssep.m4: New file.
69314         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69315         GNULIB_MBSSEP.
69316         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
69317         * MODULES.html.sh (Internationalization functions): Add mbssep.
69318
69319 2007-02-05  Bruno Haible  <bruno@clisp.org>
69320
69321         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
69322         Optimize search in case of 1 delimiter.
69323
69324 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69325
69326         * lib/acl.h: Include sys/types.h before sys/acl.h.
69327
69328 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69329
69330         Merge upstream fix for glibc bugzilla #3957:
69331
69332         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
69333
69334         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
69335         bit for RE_HAT_LISTS_NOT_NEWLINE.
69336         (build_charclass_op): Remove bogus comment.
69337
69338 2007-02-05  Simon Josefsson  <simon@josefsson.org>
69339
69340         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
69341
69342 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69343
69344         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
69345         * lib/memmem.c [!defined _LIBC]: Include config.h.
69346
69347 2007-02-04  Bruno Haible  <bruno@clisp.org>
69348
69349         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
69350         warning message.
69351
69352 2007-02-04  Bruno Haible  <bruno@clisp.org>
69353
69354         New module mbstok_r.
69355         * modules/mbstok_r: New file.
69356         * lib/mbstok_r.c: New file.
69357         * lib/string_.h (strtok_r): Change argument names to match the
69358         comments. Add a conditional link warning.
69359         (mbstok_r): New declaration.
69360         * m4/mbstok_r.m4: New file.
69361         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69362         GNULIB_MBSTOK_R.
69363         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
69364         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
69365
69366 2007-02-04  Bruno Haible  <bruno@clisp.org>
69367
69368         New module mbsspn.
69369         * modules/mbsspn: New file.
69370         * lib/mbsspn.c: New file.
69371         * lib/string_.h (strspn): Add a conditional link warning.
69372         (mbsspn): New declaration.
69373         * m4/mbsspn.m4: New file.
69374         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69375         GNULIB_MBSSPN.
69376         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
69377         * MODULES.html.sh (Internationalization functions): Add mbsspn.
69378
69379 2007-02-04  Bruno Haible  <bruno@clisp.org>
69380
69381         New module mbspbrk.
69382         * modules/mbspbrk: New file.
69383         * lib/mbspbrk.c: New file.
69384         * lib/string_.h (strpbrk): Add a conditional link warning.
69385         (mbspbrk): New declaration.
69386         * m4/mbspbrk.m4: New file.
69387         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69388         GNULIB_MBSPBRK.
69389         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
69390         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
69391
69392 2007-02-04  Bruno Haible  <bruno@clisp.org>
69393
69394         New module mbscspn.
69395         * modules/mbscspn: New file.
69396         * lib/mbscspn.c: New file.
69397         * lib/string_.h (strcspn): Add a conditional link warning.
69398         (mbscspn): New declaration.
69399         * m4/mbscspn.m4: New file.
69400         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69401         GNULIB_MBSCSPN.
69402         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
69403         * MODULES.html.sh (Internationalization functions): Add mbscspn.
69404
69405 2007-02-04  Bruno Haible  <bruno@clisp.org>
69406
69407         New module mbscasestr, reduced goal of strcasestr.
69408         * modules/mbscasestr: New file.
69409         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
69410         (mbscasestr): Renamed from strcasestr.
69411         * lib/strcasestr.c: Don't include mbuiter.h.
69412         (strcasestr): Remove support for multibyte locales.
69413         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
69414         Change the conditional link warning.
69415         (mbscasestr): New declaration.
69416         * m4/mbscasestr.m4: New file.
69417         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
69418         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
69419         REPLACE_STRCASESTR.
69420         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
69421         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69422         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69423         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
69424         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
69425         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69426         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
69427         (Depends-on): Remove mbuiter.
69428         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
69429
69430 2007-02-04  Bruno Haible  <bruno@clisp.org>
69431
69432         Simplify handling of strncasecmp.
69433         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
69434         the conditional link warning.
69435         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69436         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
69437         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
69438         * modules/strcase (configure.ac): Don't invoke
69439         gl_STRING_MODULE_INDICATOR.
69440         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
69441
69442 2007-02-04  Bruno Haible  <bruno@clisp.org>
69443
69444         New module mbscasecmp, reduced goal of strcasecmp.
69445         * modules/mbscasecmp: New file.
69446         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
69447         (mbscasecmp): Renamed from strcasecmp.
69448         * lib/strcasecmp.c: Don't include mbuiter.h.
69449         (strcasecmp): Remove support for multibyte locales.
69450         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
69451         Change the conditional link warning.
69452         (mbscasecmp): New declaration.
69453         * m4/mbscasecmp.m4: New file.
69454         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
69455         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
69456         REPLACE_STRCASECMP.
69457         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
69458         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69459         GNULIB_MBSCASECMP.
69460         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
69461         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
69462         * modules/strcase (Files): Remove m4/mbrtowc.m4.
69463         (Depends-on): Remove mbuiter.
69464         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
69465
69466 2007-02-04  Bruno Haible  <bruno@clisp.org>
69467
69468         New module mbsstr. Remove module strstr.
69469         * modules/mbsstr: New file.
69470         * modules/strstr: Remove file.
69471         * lib/mbsstr.c: Renamed from lib/strstr.c.
69472         (mbsstr): Renamed from strstr.
69473         * lib/string_.h (strstr): Remove declaration. Change the conditional
69474         link warning.
69475         (mbsstr): New declaration.
69476         * m4/mbsstr.m4: New file.
69477         * m4/strstr.m4: Remove file.
69478         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
69479         REPLACE_STRSTR.
69480         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
69481         Don't initialize GNULIB_STRSTR.
69482         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
69483         substitute GNULIB_STRSTR and REPLACE_STRSTR.
69484         * MODULES.html.sh (Internationalization functions): Add mbsstr.
69485         (Support for systems lacking ANSI C 89): Remove strstr.
69486
69487 2007-02-04  Bruno Haible  <bruno@clisp.org>
69488
69489         New module mbsrchr.
69490         * modules/mbsrchr: New file.
69491         * lib/mbsrchr.c: New file.
69492         * lib/string_.h (strrchr): Add a conditional link warning.
69493         (mbsrchr): New declaration.
69494         * m4/mbsrchr.m4: New file.
69495         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69496         GNULIB_MBSRCHR.
69497         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
69498         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
69499
69500 2007-02-04  Bruno Haible  <bruno@clisp.org>
69501
69502         New module mbschr.
69503         * modules/mbschr: New file.
69504         * lib/mbschr.c: New file.
69505         * lib/string_.h (strchr): Add a conditional link warning.
69506         (mbschr): New declaration.
69507         * m4/mbschr.m4: New file.
69508         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69509         GNULIB_MBSCHR.
69510         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
69511         * MODULES.html.sh (Internationalization functions): Add mbschr.
69512
69513 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69514
69515         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
69516
69517         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
69518
69519 2007-02-04  Bruno Haible  <bruno@clisp.org>
69520
69521         New module description section 'configure.ac-early'.
69522         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
69523         (func_get_autoconf_early_snippet): New function.
69524         (func_import, func_create_testdir): Use it. Remove special cases for
69525         modules 'extensions' and 'lock'.
69526         * modules/extensions (configure.ac-early): Require
69527         gl_USE_SYSTEM_EXTENSIONS.
69528         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
69529
69530 2007-02-04  Bruno Haible  <bruno@clisp.org>
69531
69532         Make use of gcj-4.3's -fsource and -ftarget option.
69533         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
69534         and if so try the options -fsource and -ftarget.
69535         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
69536         source_version, ftarget_option, target_version arguments.
69537         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
69538         (is_envjavac_oldgcj_14_14_usable): Renamed from
69539         is_envjavac_gcj_14_14_usable.
69540         (is_envjavac_oldgcj_14_13_usable): Renamed from
69541         is_envjavac_gcj_14_13_usable.
69542         (is_gcj_present): Update.
69543         (is_gcj_43, is_gcj43_usable): New functions.
69544         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
69545         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
69546         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
69547         try the options -fsource and -ftarget.
69548
69549 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69550
69551         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
69552         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
69553         larger value.
69554
69555 2007-02-03  Jim Meyering  <jim@meyering.net>
69556
69557         Give tools a better chance to allocate space for very large buffers.
69558         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
69559
69560         Make pwd and readlink work also when run with an unreadable parent dir
69561         on systems with openat support.
69562         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
69563         provided getcwd function, even when we have openat support.
69564         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
69565
69566 2007-02-02  Bruno Haible  <bruno@clisp.org>
69567
69568         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
69569         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
69570         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
69571         portability problems if one of these functions is only used on specific
69572         platforms.
69573         Reported by Paul Eggert.
69574
69575 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
69576
69577         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
69578         is causing more trouble than it's curing.
69579         * lib/regex_internal.h (__mempcpy): Remove.
69580         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
69581         (and make the code a tad smaller to boot).
69582         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
69583
69584 2007-02-02  Jim Meyering  <jim@meyering.net>
69585
69586         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
69587         section, not in the Makefile.am: one.
69588
69589 2007-02-02  Eric Blake  <ebb9@byu.net>
69590
69591         * lib/strchrnul.c: Always include config.h first.
69592
69593         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
69594         gnulib strstr is not necessary here.
69595
69596 2007-02-02  Simon Josefsson  <simon@josefsson.org>
69597
69598         * m4/socklen.m4: Fix typo.
69599
69600 2007-02-02  Eric Blake  <ebb9@byu.net>
69601
69602         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
69603         * modules/netinet_in (Makefile.am): Likewise.
69604
69605 2007-02-01  Bruno Haible  <bruno@clisp.org>
69606
69607         * lib/string_.h (GL_LINK_WARNING): New macro.
69608         (strcasecmp, strstr, strcasestr): If provided by the system,
69609         conditionally define as a macro that leads to a warning instead of to
69610         an error.
69611         (strncasecmp): Conditionally define as a macro that leads to a warning.
69612
69613 2007-02-01  Karl Berry  <karl@gnu.org>
69614
69615         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
69616
69617 2007-02-01  Bruno Haible  <bruno@clisp.org>
69618
69619         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
69620         renamings.
69621
69622 2007-02-01  Eric Blake  <ebb9@byu.net>
69623
69624         * modules/regex (Depends-on): Revert dependence on mempcpy.
69625         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
69626         module's definition of mempcpy.
69627         Reported by Paul Eggert.
69628
69629 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
69630
69631         * lib/string_.h: If the gnulib module XYZ is not present, undefine
69632         the symbol XYZ before redefining it.  This fixes a problem with
69633         programs that don't use XYZ, when compiled on systems that define
69634         XYZ to something else.
69635
69636 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
69637
69638         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
69639         occurs when "mkdir -m foo" creates a setgid directory that is (1)
69640         writeable to group or other and (2) is intended to have a special
69641         mode bit that is set or cleared.  In such a case, the directory
69642         should be neither group- nor other-writeable until the special
69643         mode bits are right.
69644
69645 2007-01-31  Eric Blake  <ebb9@byu.net>
69646
69647         * modules/mountlist (Depends-on): Add strstr.
69648
69649         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
69650         bug.
69651         * modules/string (Makefile.am): Remove redundant replacement.
69652         * modules/regex (Depends-on): Add mempcpy.
69653
69654 2007-01-31  Bruno Haible  <bruno@clisp.org>
69655
69656         New module description field 'Link'.
69657         * gnulib-tool (func_usage): Document --extract-link-directive.
69658         (sed_extract_prog): Recognize 'Link' directive.
69659         (func_get_link_directive): New function.
69660         (func_import): Show summary of link directives.
69661         Handle --extract-link-directive option.
69662         * modules/acl (Link): New section.
69663         * modules/clock-time (Link): New section.
69664         * modules/euidaccess (Link): New section.
69665         * modules/gettext (Link): New section.
69666         * modules/iconv (Link): New section.
69667         * modules/lock (Link): New section.
69668         * modules/nanosleep (Link): New section.
69669         * modules/readline (Link): New section.
69670
69671 2007-01-27  Bruno Haible  <bruno@clisp.org>
69672
69673         Enforce the use of gnulib modules for unportable <string.h> functions.
69674         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
69675         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
69676         (gl_HEADER_STRING_H_BODY): Require it.
69677         * lib/string_.h: If the gnulib module XYZ is not present, redefine
69678         the symbol XYZ to one that gives a link error.
69679         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
69680         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
69681         * modules/mempcpy (configure.ac): Likewise.
69682         * modules/memrchr (configure.ac): Likewise.
69683         * modules/stpcpy (configure.ac): Likewise.
69684         * modules/stpncpy (configure.ac): Likewise.
69685         * modules/strcase (configure.ac): Likewise.
69686         * modules/strcasestr (configure.ac): Likewise.
69687         * modules/strchrnul (configure.ac): Likewise.
69688         * modules/strdup (configure.ac): Likewise.
69689         * modules/strndup (configure.ac): Likewise.
69690         * modules/strnlen (configure.ac): Likewise.
69691         * modules/strpbrk (configure.ac): Likewise.
69692         * modules/strsep (configure.ac): Likewise.
69693         * modules/strstr (configure.ac): Likewise.
69694         * modules/strtok_r (configure.ac): Likewise.
69695
69696 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
69697
69698         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
69699
69700 2007-01-30  Jim Meyering  <jim@meyering.net>
69701
69702         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
69703
69704 2007-01-29  Bruno Haible  <bruno@clisp.org>
69705
69706         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
69707         * lib/execute.c: Likewise.
69708         * lib/pipe.c: Likewise.
69709         * lib/printf-args.h: Likewise.
69710         * lib/printf-args.c: Likewise.
69711         * lib/printf-parse.c: Likewise.
69712         * lib/vasnprintf.c: Likewise.
69713
69714 2007-01-29  Eric Blake  <ebb9@byu.net>
69715
69716         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
69717         declaration.
69718
69719 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
69720
69721         * lib/strptime.h (strptime): Use 'restrict' for args where
69722         POSIX requires this.
69723         * lib/strptime.c (strptime): Likewise.
69724         Change license notice from LGPL to GPL, since gnulib-tool will
69725         change this as needed.
69726         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
69727         defined.
69728         Include "strptime.h" first, to check interface.
69729         Do not #undef _LIBC and _NL_CURRENT.
69730         Do not include <stdlib.h>; no longer needed.
69731         Include "time_r.h" and declare ptime_locale_status
69732         only if _LIBC is not defined.
69733         (__P): Remove unused macro.
69734         (match_string): Bring back glibc version, but use it only if _LIBC
69735         is defined.
69736         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
69737         Remove unnecessary assertion and abort() call.
69738         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
69739         * m4/strptime.m4: Fix serial number comment.
69740         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
69741         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
69742         (Depends-on): Add time_r.
69743
69744 2007-01-29  Bruno Haible  <bruno@clisp.org>
69745
69746         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69747         strptime.
69748         * modules/strptime (Depends-on): Add stdbool.
69749         * lib/strptime.h: Include <time.h> always. Add comments.
69750
69751 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69752
69753         * modules/strptime: New file.
69754         * lib/strptime.h: New file.
69755         * lib/strptime.c: New file.
69756         * m4/strptime.m4: New file.
69757
69758 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69759
69760         * MODULES.html.sh: New module mpsort.
69761         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
69762
69763         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
69764         a circularity problem with HP-UX ia64 reported by Bob Proulx in
69765         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
69766         All uses changed.
69767         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
69768         All uses changed.
69769         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
69770         to _Restrict_.
69771         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
69772         the parameter matches the prototype.
69773
69774 2007-01-28  Jim Meyering  <jim@meyering.net>
69775
69776         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
69777         sys/time.h here, reverting that part of the previous patch:
69778         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
69779
69780 2007-01-28  Bruno Haible  <bruno@clisp.org>
69781
69782         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
69783         value of $(SYS_TIME_H).
69784         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
69785         remove it conditionally, too. [added by Jim Meyering]
69786         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
69787         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
69788         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
69789         GETTIMEOFDAY_REPLACEMENT to 1.
69790
69791 2007-01-28  Bruno Haible  <bruno@clisp.org>
69792
69793         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
69794         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
69795         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
69796         Set UNISTD_H instead of UNISTD_H2.
69797         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
69798
69799 2007-01-28  Bruno Haible  <bruno@clisp.org>
69800
69801         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
69802         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
69803
69804 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69805
69806         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
69807         (func_create_testdir): Ensure C locale for `grep' and `tr'
69808         character ranges.
69809         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
69810         ACLOCAL_AMFLAGS parsing state machine.
69811
69812 2007-01-27  Bruno Haible  <bruno@clisp.org>
69813
69814         * modules/unistr/base: Update.
69815
69816 2007-01-27  Bruno Haible  <bruno@clisp.org>
69817
69818         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
69819         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
69820         * modules/unistr/u32-mbtouc-unsafe: Renamed from
69821         modules/unistr/u32-mbtouc.
69822         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
69823         * lib/unistr.h: Update.
69824         * lib/linebreak.c: Update.
69825         * modules/unistr/u32-mbtouc: Renamed from
69826         modules/unistr/u32-mbtouc-safe.
69827         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
69828         * lib/unistr.h: Update.
69829         * lib/unistr/u32-to-u8.c: Update.
69830         * lib/unistr/u32-to-u16.c: Update.
69831
69832 2007-01-27  Bruno Haible  <bruno@clisp.org>
69833
69834         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
69835         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
69836         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
69837         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
69838         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
69839         * modules/unistr/u16-mbtouc-unsafe: Renamed from
69840         modules/unistr/u16-mbtouc.
69841         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
69842         * lib/unistr.h: Update.
69843         * lib/linebreak.c: Update.
69844         * modules/linebreak: Update.
69845         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
69846         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
69847         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
69848         * modules/unistr/u16-mbtouc: Renamed from
69849         modules/unistr/u16-mbtouc-safe.
69850         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
69851         * lib/unistr.h: Update.
69852         * lib/unistr/u16-to-u8.c: Update.
69853         * modules/unistr/u16-to-u8: Update.
69854         * lib/unistr/u16-to-u32.c: Update.
69855         * modules/unistr/u16-to-u32: Update.
69856
69857 2007-01-27  Bruno Haible  <bruno@clisp.org>
69858
69859         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
69860         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
69861         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
69862         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
69863         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
69864         * modules/unistr/u8-mbtouc-unsafe: Renamed from
69865         modules/unistr/u8-mbtouc.
69866         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
69867         * lib/unistr.h: Update.
69868         * lib/striconveh.c: Update.
69869         * modules/striconveh: Update.
69870         * lib/linebreak.c: Update.
69871         * modules/linebreak: Update.
69872         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
69873         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
69874         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
69875         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
69876         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
69877         * lib/unistr.h: Update.
69878         * lib/striconveh.c: Update.
69879         * modules/striconveh: Update.
69880         * lib/unistr/u8-to-u16.c: Update.
69881         * modules/unistr/u8-to-u16: Update.
69882         * lib/unistr/u8-to-u32.c: Update.
69883         * modules/unistr/u8-to-u32: Update.
69884
69885 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69886
69887         Sync from Libtool.
69888         * lib/argz.c: Do not include strings.h nor memory.h, include
69889         string.h unconditionally.  Patch by Simon Josefsson.
69890
69891 2007-01-27  Bruno Haible  <bruno@clisp.org>
69892
69893         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
69894         from gl_HEADER_STRING_H_BODY.
69895         (gl_HEADER_STRING_H_BODY): Require it.
69896         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
69897         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
69898         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
69899         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
69900         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69901         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
69902         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
69903         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
69904         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
69905         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
69906         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
69907         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
69908         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
69909         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
69910         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69911
69912 2007-01-27  Bruno Haible  <bruno@clisp.org>
69913
69914         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
69915         check_PROGRAMS into noinst_PROGRAMS.
69916         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
69917         check_PROGRAMS in this case.
69918         (func_import): Set for_test to false.
69919         (func_create_testdir): Set for_test to true.
69920
69921 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69922             Bruno Haible  <bruno@clisp.org>
69923
69924         * modules/strcasestr (Files): Remove lib/strcasestr.h.
69925         (Depends-on): Add string.
69926         (Includes): Use <string.h> instead of strcasestr.h.
69927         * modules/string (Makefile.am): Also substitute the value of
69928         REPLACE_STRCASESTR.
69929         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
69930         assume strcasestr is declared in <string.h> not <strings.h>. Also
69931         set REPLACE_STRCASESTR.
69932         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
69933         REPLACE_STRCASESTR.
69934         * lib/strcasestr.h: Remove file.
69935         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
69936         * lib/string_.h (strcasestr): New declaration.
69937
69938 2007-01-27  Bruno Haible  <bruno@clisp.org>
69939
69940         * lib/string_.h: Use 'extern'.
69941
69942 2007-01-27  Jim Meyering  <jim@meyering.net>
69943
69944         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
69945         of set-but-not-used local, "q".
69946
69947         * lib/mempcpy.c: Include <config.h> before <string.h>.
69948         This fixes a compilation error on HP-UX, due to the system's
69949         "restrict"-using mempcpy prototype.
69950
69951 2007-01-26  Bruno Haible  <bruno@clisp.org>
69952
69953         Small optimization.
69954         * lib/javacomp.c: Include c-strstr.h.
69955          (is_envjavac_gcj): Use c_strstr instead of strstr.
69956         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
69957
69958 2007-01-26  Bruno Haible  <bruno@clisp.org>
69959
69960         * MODULES.html.sh (Unicode string functions): Add the new modules.
69961
69962         * modules/uniconv/u32-strconv-to-locale: New file.
69963         * lib/uniconv/u32-strconv-to-locale.c: New file.
69964
69965         * modules/uniconv/u16-strconv-to-locale: New file.
69966         * lib/uniconv/u16-strconv-to-locale.c: New file.
69967
69968         * modules/uniconv/u8-strconv-to-locale: New file.
69969         * lib/uniconv/u8-strconv-to-locale.c: New file.
69970
69971         * modules/uniconv/u32-strconv-from-locale: New file.
69972         * lib/uniconv/u32-strconv-from-locale.c: New file.
69973
69974         * modules/uniconv/u16-strconv-from-locale: New file.
69975         * lib/uniconv/u16-strconv-from-locale.c: New file.
69976
69977         * modules/uniconv/u8-strconv-from-locale: New file.
69978         * lib/uniconv/u8-strconv-from-locale.c: New file.
69979
69980         * modules/uniconv/u32-strconv-to-enc: New file.
69981         * lib/uniconv/u32-strconv-to-enc.c: New file.
69982         * modules/uniconv/u32-strconv-to-enc-tests: New file.
69983         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
69984
69985         * modules/uniconv/u16-strconv-to-enc: New file.
69986         * lib/uniconv/u16-strconv-to-enc.c: New file.
69987         * lib/uniconv/u-strconv-to-enc.h: New file.
69988         * modules/uniconv/u16-strconv-to-enc-tests: New file.
69989         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
69990
69991         * modules/uniconv/u8-strconv-to-enc: New file.
69992         * lib/uniconv/u8-strconv-to-enc.c: New file.
69993         * modules/uniconv/u8-strconv-to-enc-tests: New file.
69994         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
69995
69996         * modules/uniconv/u32-strconv-from-enc: New file.
69997         * lib/uniconv/u32-strconv-from-enc.c: New file.
69998         * modules/uniconv/u32-strconv-from-enc-tests: New file.
69999         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
70000
70001         * modules/uniconv/u16-strconv-from-enc: New file.
70002         * lib/uniconv/u16-strconv-from-enc.c: New file.
70003         * modules/uniconv/u16-strconv-from-enc-tests: New file.
70004         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
70005
70006         * modules/uniconv/u8-strconv-from-enc: New file.
70007         * lib/uniconv/u8-strconv-from-enc.c: New file.
70008         * lib/uniconv/u-strconv-from-enc.h: New file.
70009         * modules/uniconv/u8-strconv-from-enc-tests: New file.
70010         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
70011
70012         * modules/uniconv/u32-conv-from-enc: New file.
70013         * lib/uniconv/u32-conv-from-enc.c: New file.
70014         * modules/uniconv/u32-conv-from-enc-tests: New file.
70015         * tests/uniconv/test-u32-conv-from-enc.c: New file.
70016
70017         * modules/uniconv/u16-conv-from-enc: New file.
70018         * lib/uniconv/u16-conv-from-enc.c: New file.
70019         * lib/uniconv/u-conv-from-enc.h: New file.
70020         * modules/uniconv/u16-conv-from-enc-tests: New file.
70021         * tests/uniconv/test-u16-conv-from-enc.c: New file.
70022
70023         * modules/uniconv/u8-conv-from-enc: New file.
70024         * lib/uniconv/u8-conv-from-enc.c: New file.
70025         * modules/uniconv/u8-conv-from-enc-tests: New file.
70026         * tests/uniconv/test-u8-conv-from-enc.c: New file.
70027
70028         * modules/uniconv/base: New file.
70029         * lib/uniconv.h: New file.
70030
70031 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
70032
70033         * doc/gnulib-tool.texi (Initial import): Update to match current
70034         behavior with strdup module.
70035         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
70036         * lib/memmem.h: Remove; all uses removed.  This is now done
70037         by <string.h>.
70038         * lib/mempcpy.h: Likewise.
70039         * lib/memrchr.h: Likewise.
70040         * lib/stpcpy.h: Likewise.
70041         * lib/stpncpy.h: Likewise.
70042         * lib/strcase.h: Likewise.
70043         * lib/strchrnul.h: Likewise.
70044         * lib/strdup.h: Likewise.
70045         * lib/strndup.h: Likewise.
70046         * lib/strnlen.h: Likewise.
70047         * lib/strpbrk.h: Likewise.
70048         * lib/strsep.h: Likewise.
70049         * lib/strstr.h: Likewise.
70050         * lib/strtok_r.h: Likewise.
70051         * lib/string_.h: New file.
70052         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
70053         Rely on <string.h> instead.
70054         * lib/canon-host.c: Likewise.
70055         * lib/chdir-long.c: Likewise.
70056         * lib/concatpath.c: Likewise.
70057         * lib/exclude.c: Likewise.
70058         * lib/fchdir.c: Likewise.
70059         * lib/getaddrinfo.c: Likewise.
70060         * lib/getcwd.c: Likewise.
70061         * lib/getsubopt.c: Likewise.
70062         * lib/glob.c: Likewise.
70063         * lib/hard-locale.c: Likewise.
70064         * lib/iconvme.c: Likewise.
70065         * lib/javacomp.c: Likewise.
70066         * lib/mempcpy.c: Likewise.
70067         * lib/memrchr.c: Likewise.
70068         * lib/regex_internal.h: Likewise.
70069         * lib/stpncpy.c: Likewise.
70070         * lib/strcasecmp.c: Likewise.
70071         * lib/strchrnul.c: Likewise.
70072         * lib/strdup.c: Likewise.
70073         * lib/striconv.c: Likewise.
70074         * lib/striconveh.c: Likewise.
70075         * lib/striconveha.c: Likewise.
70076         * lib/strncasecmp.c: Likewise.
70077         * lib/strndup.c: Likewise.
70078         * lib/strnlen.c: Likewise.
70079         * lib/strsep.c: Likewise.
70080         * lib/strstr.c: Likewise.
70081         * lib/strtok_r.c: Likewise.
70082         * lib/userspec.c: Likewise.
70083         * lib/w32spawn.h: Likewise.
70084         * lib/xstrndup.c: Likewise.
70085         * lib/mountlist.c (strstr): Remove decl.
70086         * m4/string_h.m4: New file.
70087         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
70088         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
70089         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
70090         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
70091         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
70092         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
70093         Set REPLACE_STRCASECMP if necessary.
70094         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
70095         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
70096         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
70097         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
70098         HAVE_DECL_STRDUP if necessary.
70099         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
70100         since gl_FUNC_STRNDUP does that now.
70101         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
70102         Check for decl here...
70103         (gl_PREREQ_STRNLEN): ... not here.
70104         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
70105         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
70106         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
70107         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
70108         necessary.
70109         * modules/string: New file.
70110         * modules/memmem (Files): Remove special-purpose include file.
70111         (Depends-on): Add string.
70112         (Include): Include <string.h>, not the removed file.
70113         * modules/mempcpy: Likewise.
70114         * modules/memrchr: Likewise.
70115         * modules/stpcpy: Likewise.
70116         * modules/stpncpy: Likewise.
70117         * modules/strcase: Likewise.
70118         * modules/strchrnul: Likewise.
70119         * modules/strdup: Likewise.
70120         * modules/strndup: Likewise.
70121         * modules/strnlen: Likewise.
70122         * modules/strpbrk: Likewise.
70123         * modules/strsep: Likewise.
70124         * modules/strstr: Likewise.
70125         * modules/strtok_r: Likewise.
70126         * tests/test-dirname.c: Don't include "strdup.h", since
70127         <string.h> now suffices.
70128         * tests/test-memmem.c: Don't include "memmem.h", since
70129         <string.h> now suffices.
70130
70131 2007-01-25  Bruno Haible  <bruno@clisp.org>
70132
70133         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
70134         *resultp is 0.
70135
70136         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
70137         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
70138         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
70139         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
70140
70141         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
70142         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
70143         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
70144         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
70145         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
70146         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
70147
70148 2007-01-24  Bruno Haible  <bruno@clisp.org>
70149
70150         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
70151         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
70152         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
70153         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
70154         gl_FUNC_FTS_CORE.
70155         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
70156         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
70157         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70158         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
70159         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
70160         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
70161         gl_FUNC_FCHOWNAT.
70162         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
70163         gl_FUNC_STRFTIME.
70164         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
70165         Reported by Ralf Wildenhues.
70166
70167 2007-01-24  Bruno Haible  <bruno@clisp.org>
70168
70169         Drop AC_REQUIRE calls that are redundant with the module dependencies.
70170         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
70171         gl_GETADDRINFO.
70172         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
70173         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
70174         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
70175
70176 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
70177
70178         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
70179         Don't use 'exit'; just return from 'main'.
70180         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
70181
70182         * lib/fnmatch_.h: Readjust white space and comments to match
70183         glibc, to avoid spurious diffs.
70184
70185 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70186
70187         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
70188         2004-12-01 change by Jakub Jelinek, since this code won't compile
70189         if !LIBC.  Problem reported by Bob Proulx.
70190
70191 2007-01-23  Bruno Haible  <bruno@clisp.org>
70192
70193         * lib/striconveh.c: Include c-strcaseeq.h.
70194         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
70195         * modules/striconveh (Depends-on): Add c-strcaseeq.
70196
70197 2007-01-23  Bruno Haible  <bruno@clisp.org>
70198
70199         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
70200
70201         * modules/c-strcaseeq: New file.
70202         * lib/c-strcaseeq.h: New file.
70203
70204         * modules/streq: New file.
70205         * lib/streq.h: New file.
70206
70207 2007-01-23  Bruno Haible  <bruno@clisp.org>
70208
70209         * modules/striconveha-tests: New file.
70210         * tests/test-striconveha.c: New file.
70211
70212         * lib/striconveha.h: Include <stdbool.h>.
70213         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
70214         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
70215         (mem_iconveha_notranslit): Renamed from mem_iconveha.
70216         (mem_iconveha): New function.
70217         (str_iconveha_notranslit): Renamed from str_iconveha.
70218         (str_iconveha): New function.
70219         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
70220         c-strcase.
70221
70222 2007-01-23  Bruno Haible  <bruno@clisp.org>
70223
70224         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
70225         encodings without forgiving before trying any encoding with handler.
70226         (str_iconveha): Try all encodings without forgiving before trying any
70227         encoding with handler.
70228
70229 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70230
70231         Import the following changes from libc.
70232
70233         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
70234
70235         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
70236
70237         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
70238
70239         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
70240         normal_bracket label.
70241
70242         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
70243
70244         [BZ #361]
70245         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
70246         to normal_bracket after fetching the next character.
70247
70248 2007-01-22  Bruno Haible  <bruno@clisp.org>
70249
70250         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
70251         argument.
70252         * lib/striconveh.c (iconv_carefully_1): New function.
70253         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
70254         argument.
70255         (str_cd_iconveh): Update.
70256         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
70257         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
70258         * tests/test-striconveh.c (MAGIC): New macro.
70259         (new_offsets): New function.
70260         (main): Test call with and without offsets.
70261
70262 2007-01-22  Bruno Haible  <bruno@clisp.org>
70263
70264         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
70265         * modules/sys_select (Makefile.am): Likewise.
70266         * modules/sys_socket (Makefile.am): Likewise.
70267         * modules/sys_time (Makefile.am): Likewise.
70268
70269 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
70270
70271         * modules/gettimeofday (License): Change from GPL to LGPL, since
70272         gettimeofday is a library function.
70273
70274 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70275
70276         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
70277
70278 2007-01-21  Bruno Haible  <bruno@clisp.org>
70279
70280         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
70281
70282 2007-01-21  Bruno Haible  <bruno@clisp.org>
70283
70284         * modules/striconveha: New file.
70285         * lib/striconveha.h: New file.
70286         * lib/striconveha.c: New file.
70287         * MODULES.html.sh (Internationalization functions): Add striconveha.
70288         * lib/striconv.c (str_iconv): Optimize the case of an empty input
70289         string.
70290         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
70291
70292 2007-01-21  Bruno Haible  <bruno@clisp.org>
70293
70294         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
70295         * lib/striconveh.c (str_iconveh): Likewise.
70296
70297 2007-01-21  Bruno Haible  <bruno@clisp.org>
70298
70299         * lib/striconveh.h (mem_iconveh): New declaration.
70300         * lib/striconveh.c (mem_iconveh): New function.
70301         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
70302
70303 2007-01-21  Bruno Haible  <bruno@clisp.org>
70304
70305         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
70306
70307         * lib/striconveh.h (mem_cd_iconveh): Change specification.
70308         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
70309         original result buffer.
70310         (str_cd_iconveh): Update.
70311         * tests/test-striconveh.c (main): Update.
70312
70313         * lib/striconv.h (mem_cd_iconv): Change specification.
70314         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
70315         result buffer.
70316         (str_cd_iconv): Update.
70317         * tests/test-striconv.c (main): Update.
70318
70319 2007-01-21  Bruno Haible  <bruno@clisp.org>
70320
70321         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
70322
70323 2007-01-20  Jim Meyering  <jim@meyering.net>
70324
70325         * lib/userspec.c (parse_with_separator): If a user or group string
70326         starts with "+", skip the corresponding name-to-ID look-up, since
70327         such a look-up must fail: user and group names may not include "+".
70328
70329 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
70330
70331         * lib/poll.c: Include sys/time.h and time.h unconditionally,
70332         since we now assume the sys_time module.
70333         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
70334         check for sys/time.h; no longer needed.
70335         * modules/poll (Depends-on): Depend on sys_time.
70336
70337 2007-01-18  Bruno Haible  <bruno@clisp.org>
70338
70339         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
70340         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70341
70342         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
70343         gettimeofday.
70344
70345         * tests/test-gettimeofday.c: Include <time.h>.
70346         (dummy): Remove variable.
70347
70348         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
70349         gl_HEADER_SYS_TIME_H.
70350         (gl_HEADER_SYS_TIME_H): New macro.
70351
70352         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
70353         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70354         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
70355         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
70356         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70357         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
70358         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
70359         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70360         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
70361         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
70362         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70363
70364         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
70365         last change; it caused a compilation error when cross-compiling to
70366         Cygwin.
70367
70368 2007-01-18  Jim Meyering  <jim@meyering.net>
70369
70370         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
70371         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
70372         than the race-prone "test -d sys || mkdir sys".
70373         (configure.ac): Use AC_PROG_MKDIR_P.
70374         * modules/sys_select: Likewise.
70375         * modules/sys_socket: Likewise.
70376         * modules/sys_time: Likewise.
70377
70378 2007-01-18  Eric Blake  <ebb9@byu.net>
70379
70380         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
70381         replace gettimeofday.
70382         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
70383         name, to avoid infinite recursion.
70384
70385 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
70386
70387         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
70388         module sys_time.
70389         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
70390         assume timespec.h defines struct timeval.
70391         * lib/settime.c: Likewise.
70392         * lib/utimens.c: Likewise.
70393         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
70394         since we now assume the gettimeofday module.
70395         * lib/tempname.c (__gen_tempname): Likewise.
70396         * lib/gettimeofday.h: Remove.
70397         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
70398         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
70399         Include <time.h>, for 'time()'.
70400         (localtime_buffer_addr): Also use this workaround if
70401         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
70402         to simplify the uses.  All uses changed.
70403         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
70404         that #undef is inside {}, and 'const' follows type name consistently.
70405         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
70406         (gettimeofday): Do not use the maximum possible value for
70407         tv->tv_usec, since that might break usages other than ls.c.
70408         Instead, we'll leave ls.c alone.  This undoes today's patch
70409         by Bruno.  Add a compile-time warning for 1s-clock resolution;
70410         we've never observed the problem but might as well keep the
70411         canary.
70412         * lib/nanosleep.c: Include timespec.h first, for interface check.
70413         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
70414         now assume the sys_time module.
70415         * lib/tempname.c: Likewise.
70416         * lib/timespec.h: Likewise.
70417         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
70418         needed.
70419         * lib/strftime.c: Likewise.
70420         * lib/timespec.h: Likewise.
70421         * lib/posixtm.c: Include posixtm.h first, for interface check.
70422         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
70423         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
70424         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
70425         * lib/sys_time_.h: New file.
70426         * lib/timespec.h (struct timespec): Use long int, not long.
70427         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70428         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
70429         Remove obsolescent call to AC_HEADER_TIME.
70430         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
70431         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
70432         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70433         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
70434         Likewise.
70435         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
70436         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
70437         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
70438         into the sys_time module.  Check for gettimeofday just once.
70439         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
70440         for gettimeofday signature to just check the signature.  Merely
70441         compile it, since linking doesn't test signature.  Improve test for
70442         whether gettimeofday.o is actually needed.
70443         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
70444         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
70445         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
70446         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70447         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
70448         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
70449         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
70450         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
70451         than worrying about sys/time.h.
70452         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
70453         Don't bother worrying about TIME_WITH_SYS_TIME.
70454         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
70455         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
70456         * m4/sys_time_h.m4: New file.
70457         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
70458         Don't include sys/time.h.  Return from main rather than exiting.
70459         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
70460         all uses changed.
70461         * modules/gethrxtime (Depends-on): Add sys_time.
70462         * modules/gettime (Depends-on): Likewise.
70463         * modules/gettimeofday (Depends-on): Likewise.
70464         * modules/nanosleep (Depends-on): Likewise.
70465         * modules/settime (Depends-on): Likewise.
70466         * modules/tempname (Depends-on): Likewise.
70467         * modules/utimens (Depends-on): Likewise.
70468         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
70469         (Include): Change back to <sys/time.h>.
70470         (Maintainer): Add self.
70471         * modules/sys_time: New file.
70472         * modules/tempname (Depends-on): Add gettimeofday.
70473         * tests/test-gettimeofday.c: Include <sys/time.h>
70474         rather than gettimeofday.h.
70475
70476 2007-01-17  Bruno Haible  <bruno@clisp.org>
70477
70478         * gnulib-tool (func_get_license): Revert last patch. Instead, let
70479         the license default to GPL.
70480         (func_create_testdir): Don't complain if a module is LGPL and its
70481         tests module depends on GPLed modules.
70482
70483 2007-01-17  Bruno Haible  <bruno@clisp.org>
70484
70485         * lib/gettimeofday.c (gettimeofday): Add code for the case
70486         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
70487         maximum possible value for tv->tv_usec, rather than the minimum one.
70488
70489 2005-10-08  Martin Lambers  <marlam@marlam.de>
70490 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70491 2007-01-16  Bruno Haible  <bruno@clisp.org>
70492
70493         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
70494         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
70495         gl_FUNC_GETTIMEOFDAY.
70496         (Include): Add gettimeofday.h.
70497         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
70498         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
70499         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
70500         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
70501         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
70502         * lib/gettimeofday.h: New file.
70503         * lib/gettimeofday.c: Include <sys/timeb.h>.
70504         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
70505         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70506         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
70507         fall back on time().
70508
70509         * tests/test-gettimeofday.c: New file.
70510         * modules/gettimeofday-tests: New file.
70511
70512 2007-01-16  Eric Blake  <ebb9@byu.net>
70513
70514         * modules/fnmatch (Depends-on): Depend on wchar.
70515         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
70516         * m4/fnmatch.m4: Likewise.
70517         * modules/mbchar (Makefile.am): Assume <wchar.h>.
70518         * m4/mbchar.m4: Likewise.
70519         * modules/mbswidth (Depends-on): Depend on wchar.
70520         * lib/mbswidth.c: Assume <wchar.h>.
70521         * m4/mbswidth.m4: Likewise.
70522         * modules/quotearg (Depends-on): Depend on wchar.
70523         * lib/quotearg.c: Assume <wchar.h>.
70524         * m4/quotearg.m4: Likewise.
70525         * modules/regex (Depends-on): Depend on wchar.
70526         * lib/regex_internal.h: Assume <wchar.h>.
70527         * m4/regex.m4: Likewise.
70528         * modules/stdint (Depends-on): Depend on wchar.
70529         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
70530         * m4/stdint.m4: Likewise.
70531         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
70532         * modules/strftime (Depends-on): Depend on wchar.
70533         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
70534         * modules/strtol (Depends-on): Depend on wchar.
70535         * lib/strtol.c: Assume <wchar.h>.
70536         * modules/wcwidth (Depends-on): Depend on wchar.
70537         * lib/wcwidth.h: Assume <wchar.h>.
70538         * m4/wcwidth.m4: Likewise.
70539
70540 2007-01-16  Bruno Haible  <bruno@clisp.org>
70541
70542         * modules/csharpexec-script: New, created from...
70543         * modules/csharpexec: ... this.
70544
70545 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
70546
70547         * modules/javaexec-script: New, created from...
70548         * modules/javaexec: ... this.
70549
70550 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70551
70552         * modules/poll (Dependencies): Add sys_select.
70553
70554 2007-01-15  Jim Meyering  <jim@meyering.net>
70555
70556         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
70557         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
70558         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
70559         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
70560
70561 2007-01-15  Bruno Haible  <bruno@clisp.org>
70562
70563         * modules/striconveh: New file.
70564         * lib/striconveh.h: New file.
70565         * lib/striconveh.c: New file.
70566         * MODULES.html.sh (Internationalization functions): Add striconveh.
70567
70568         * modules/striconveh-tests: New file.
70569         * tests/test-striconveh.c: New file.
70570
70571 2007-01-15  Bruno Haible  <bruno@clisp.org>
70572
70573         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
70574         not from GNU libiconv or GNU libc.
70575
70576 2007-01-15  Bruno Haible  <bruno@clisp.org>
70577
70578         * doc/gnulib-intro.texi (Copyright): Explain the different license
70579         terms for module descriptions, autoconf macros, tests, documentation.
70580
70581 2007-01-14  Bruno Haible  <bruno@clisp.org>
70582
70583         * modules/striconv-tests: New file.
70584         * tests/test-striconv.c: New file.
70585
70586 2007-01-14  Bruno Haible  <bruno@clisp.org>
70587
70588         * modules/iconv-tests: New file.
70589         * tests/test-iconv.c: New file.
70590
70591 2007-01-14  Bruno Haible  <bruno@clisp.org>
70592
70593         * gnulib-tool (func_get_license): For test modules, use the license of
70594         the main module.
70595
70596 2007-01-14  Bruno Haible  <bruno@clisp.org>
70597
70598         * modules/iconv (Include): Clarify that <iconv.h> can only be included
70599         if iconv is found to exist.
70600
70601 2007-01-14  Bruno Haible  <bruno@clisp.org>
70602
70603         * modules/c-ctype-tests: New file.
70604         * tests/test-c-ctype.c: New file.
70605
70606 2007-01-14  Bruno Haible  <bruno@clisp.org>
70607
70608         * modules/binary-io-tests: New file.
70609         * tests/test-binary-io.sh: New file.
70610         * tests/test-binary-io.c: New file.
70611
70612 2007-01-14  Bruno Haible  <bruno@clisp.org>
70613
70614         * modules/array-oset-tests: New file.
70615         * tests/test-array_oset.c: New file.
70616
70617 2007-01-14  Bruno Haible  <bruno@clisp.org>
70618
70619         * modules/array-list-tests: New file.
70620         * tests/test-array_list.c: New file.
70621
70622 2007-01-14  Bruno Haible  <bruno@clisp.org>
70623
70624         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
70625         and make.
70626         Reported by Simon Josefsson in
70627         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
70628
70629 2007-01-14  Bruno Haible  <bruno@clisp.org>
70630
70631         * modules/allocsa-tests: New file.
70632         * tests/test-allocsa.c: New file.
70633
70634 2007-01-14  Bruno Haible  <bruno@clisp.org>
70635
70636         * modules/fchdir (Depends-on): Add absolute-header.
70637         * modules/unistd (Depends-on): Likewise.
70638
70639 2006-12-30  Bruno Haible  <bruno@clisp.org>
70640
70641         * modules/fchdir: New file.
70642         * modules/unistd (Files): Add lib/unistd_.h.
70643         (Makefile.am): Generate unistd.h from unistd_.h.
70644         * lib/fchdir.c: New file.
70645         * lib/dirent_.h: New file.
70646         * lib/unistd_.h: New file.
70647         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
70648         * m4/fchdir.m4: New file.
70649         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
70650         (gl_HEADER_UNISTD): Invoke it.
70651         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
70652         function.
70653         * lib/backupfile.c (opendir, closedir): Undefine.
70654         * lib/chown.c (open, close): Undefine.
70655         * lib/clean-temp.c (open, close): Undefine.
70656         * lib/copy-file.c (open, close): Undefine.
70657         * lib/execute.c (open, close): Undefine.
70658         * lib/fsusage.c (open, close): Undefine.
70659         * lib/gc-gnulib.c (open, close): Undefine.
70660         * lib/getcwd.c (opendir, closedir): Undefine.
70661         * lib/glob.c (opendir, closedir): Undefine.
70662         * lib/javacomp.c (open, close): Undefine.
70663         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
70664         * lib/openat-proc.c (open, close): Undefine.
70665         * lib/pagealign_alloc.c (open, close): Undefine.
70666         * lib/pipe.c (open, close): Undefine.
70667         * lib/progreloc.c (open, close): Undefine.
70668         * lib/savedir.c (opendir, closedir): Undefine.
70669         * lib/utime.c (open, close): Undefine.
70670         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
70671
70672 2007-01-10  Bruno Haible  <bruno@clisp.org>
70673
70674         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
70675
70676 2007-01-12  Eric Blake  <ebb9@byu.net>
70677
70678         Provide a robust <wchar.h>.  Further simplifications are now
70679         possible in other modules, but not included here.
70680         * modules/wchar: New module.
70681         * m4/wchar.m4: New file.
70682         * lib/wchar_.h: Likewise.
70683         * modules/mbchar (Depends-on): Depend on wchar, as the first use
70684         of the new module.
70685         * MODULES.html.sh (Extended multibyte and wide character utilities):
70686         New section.
70687
70688 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
70689
70690         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
70691         to a reasonable default for memory allocation.
70692         (xreadlink): Don't allocate a huge buffer, to work around a buggy
70693         file system that reports garbage st_size values for symlinks.
70694         Problem reported by Liyang Hu.
70695
70696 2007-01-11  Simon Josefsson  <simon@josefsson.org>
70697
70698         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
70699         Emacs .#* auto-save files).
70700
70701 2007-01-11  Bruno Haible  <bruno@clisp.org>
70702
70703         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
70704         directory.
70705
70706 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70707
70708         Use @...@ consistently in lib/wctype_.h.
70709         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
70710         on it being set to 1 or 0.
70711         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
70712         go back to AC_SUBSTing it.
70713         * modules/wctype (Makefile.am): Undo previous change.
70714
70715 2007-01-10  Eric Blake  <ebb9@byu.net>
70716
70717         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
70718         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
70719         * modules/wctype (Makefile.am): Likewise.
70720         Reported by Chris McGuire.
70721
70722 2007-01-10  Jim Meyering  <jim@meyering.net>
70723
70724         fts.c: a small readability/maintainability improvement
70725         * lib/fts.c (fts_read): Make this code slightly more readable and
70726         maintainable by hoisting the "sp->fts_cur = p" assignments to
70727         immediately follow the statements that set P.  Derived from
70728         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
70729
70730 2007-01-10  Eric Blake  <ebb9@byu.net>
70731
70732         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
70733         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
70734         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
70735         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70736         Reported by Chris McGuire.
70737
70738 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70739
70740         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
70741         in sed script.
70742
70743 2007-01-09  Bruno Haible  <bruno@clisp.org>
70744
70745         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
70746         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
70747         variables.
70748         (func_module): Use them.
70749
70750 2007-01-09  Bruno Haible  <bruno@clisp.org>
70751
70752         * modules/unistr/base: New file.
70753         * lib/unistr.h: New file.
70754
70755         * modules/unistr/u8-to-u16: New file.
70756         * lib/unistr/u8-to-u16.c: New file.
70757
70758         * modules/unistr/u8-to-u32: New file.
70759         * lib/unistr/u8-to-u32.c: New file.
70760
70761         * modules/unistr/u16-to-u8: New file.
70762         * lib/unistr/u16-to-u8.c: New file.
70763
70764         * modules/unistr/u16-to-u32: New file.
70765         * lib/unistr/u16-to-u32.c: New file.
70766
70767         * modules/unistr/u32-to-u8: New file.
70768         * lib/unistr/u32-to-u8.c: New file.
70769
70770         * modules/unistr/u32-to-u16: New file.
70771         * lib/unistr/u32-to-u16.c: New file.
70772
70773         * modules/unistr/u8-check: New file.
70774         * modules/unistr/u16-check: New file.
70775         * modules/unistr/u32-check: New file.
70776         * lib/unistr/u8-check.c: New file.
70777         * lib/unistr/u16-check.c: New file.
70778         * lib/unistr/u32-check.c: New file.
70779
70780         * modules/unistr/u8-chr: New file.
70781         * modules/unistr/u16-chr: New file.
70782         * modules/unistr/u32-chr: New file.
70783         * lib/unistr/u8-chr.c: New file.
70784         * lib/unistr/u16-chr.c: New file.
70785         * lib/unistr/u32-chr.c: New file.
70786
70787         * modules/unistr/u8-cmp: New file.
70788         * modules/unistr/u16-cmp: New file.
70789         * modules/unistr/u32-cmp: New file.
70790         * lib/unistr/u8-cmp.c: New file.
70791         * lib/unistr/u16-cmp.c: New file.
70792         * lib/unistr/u32-cmp.c: New file.
70793
70794         * modules/unistr/u8-cpy: New file.
70795         * modules/unistr/u16-cpy: New file.
70796         * modules/unistr/u32-cpy: New file.
70797         * lib/unistr/u8-cpy.c: New file.
70798         * lib/unistr/u16-cpy.c: New file.
70799         * lib/unistr/u32-cpy.c: New file.
70800         * lib/unistr/u-cpy.h: New file.
70801
70802         * modules/unistr/u8-cpy-alloc: New file.
70803         * modules/unistr/u16-cpy-alloc: New file.
70804         * modules/unistr/u32-cpy-alloc: New file.
70805         * lib/unistr/u8-cpy-alloc.c: New file.
70806         * lib/unistr/u16-cpy-alloc.c: New file.
70807         * lib/unistr/u32-cpy-alloc.c: New file.
70808         * lib/unistr/u-cpy-alloc.h: New file.
70809
70810         * modules/unistr/u8-endswith: New file.
70811         * modules/unistr/u16-endswith: New file.
70812         * modules/unistr/u32-endswith: New file.
70813         * lib/unistr/u8-endswith.c: New file.
70814         * lib/unistr/u16-endswith.c: New file.
70815         * lib/unistr/u32-endswith.c: New file.
70816         * lib/unistr/u-endswith.h: New file.
70817
70818         * modules/unistr/u8-mblen: New file.
70819         * modules/unistr/u16-mblen: New file.
70820         * modules/unistr/u32-mblen: New file.
70821         * lib/unistr/u8-mblen.c: New file.
70822         * lib/unistr/u16-mblen.c: New file.
70823         * lib/unistr/u32-mblen.c: New file.
70824
70825         * modules/unistr/u8-mbtouc: New file.
70826         * modules/unistr/u16-mbtouc: New file.
70827         * modules/unistr/u32-mbtouc: New file.
70828         * lib/unistr/u8-mbtouc.c: New file.
70829         * lib/unistr/u16-mbtouc.c: New file.
70830         * lib/unistr/u32-mbtouc.c: New file.
70831
70832         * modules/unistr/u8-mbtouc-safe: New file.
70833         * modules/unistr/u16-mbtouc-safe: New file.
70834         * modules/unistr/u32-mbtouc-safe: New file.
70835         * lib/unistr/u8-mbtouc-safe.c: New file.
70836         * lib/unistr/u16-mbtouc-safe.c: New file.
70837         * lib/unistr/u32-mbtouc-safe.c: New file.
70838
70839         * modules/unistr/u8-move: New file.
70840         * modules/unistr/u16-move: New file.
70841         * modules/unistr/u32-move: New file.
70842         * lib/unistr/u8-move.c: New file.
70843         * lib/unistr/u16-move.c: New file.
70844         * lib/unistr/u32-move.c: New file.
70845         * lib/unistr/u-move.h: New file.
70846
70847         * modules/unistr/u8-next: New file.
70848         * modules/unistr/u16-next: New file.
70849         * modules/unistr/u32-next: New file.
70850         * lib/unistr/u8-next.c: New file.
70851         * lib/unistr/u16-next.c: New file.
70852         * lib/unistr/u32-next.c: New file.
70853
70854         * modules/unistr/u8-prev: New file.
70855         * modules/unistr/u16-prev: New file.
70856         * modules/unistr/u32-prev: New file.
70857         * lib/unistr/u8-prev.c: New file.
70858         * lib/unistr/u16-prev.c: New file.
70859         * lib/unistr/u32-prev.c: New file.
70860
70861         * modules/unistr/u8-set: New file.
70862         * modules/unistr/u16-set: New file.
70863         * modules/unistr/u32-set: New file.
70864         * lib/unistr/u8-set.c: New file.
70865         * lib/unistr/u16-set.c: New file.
70866         * lib/unistr/u32-set.c: New file.
70867         * lib/unistr/u-set.h: New file.
70868
70869         * modules/unistr/u8-startswith: New file.
70870         * modules/unistr/u16-startswith: New file.
70871         * modules/unistr/u32-startswith: New file.
70872         * lib/unistr/u8-startswith.c: New file.
70873         * lib/unistr/u16-startswith.c: New file.
70874         * lib/unistr/u32-startswith.c: New file.
70875         * lib/unistr/u-startswith.h: New file.
70876
70877         * modules/unistr/u8-stpcpy: New file.
70878         * modules/unistr/u16-stpcpy: New file.
70879         * modules/unistr/u32-stpcpy: New file.
70880         * lib/unistr/u8-stpcpy.c: New file.
70881         * lib/unistr/u16-stpcpy.c: New file.
70882         * lib/unistr/u32-stpcpy.c: New file.
70883         * lib/unistr/u-stpcpy.h: New file.
70884
70885         * modules/unistr/u8-stpncpy: New file.
70886         * modules/unistr/u16-stpncpy: New file.
70887         * modules/unistr/u32-stpncpy: New file.
70888         * lib/unistr/u8-stpncpy.c: New file.
70889         * lib/unistr/u16-stpncpy.c: New file.
70890         * lib/unistr/u32-stpncpy.c: New file.
70891         * lib/unistr/u-stpncpy.h: New file.
70892
70893         * modules/unistr/u8-strcat: New file.
70894         * modules/unistr/u16-strcat: New file.
70895         * modules/unistr/u32-strcat: New file.
70896         * lib/unistr/u8-strcat.c: New file.
70897         * lib/unistr/u16-strcat.c: New file.
70898         * lib/unistr/u32-strcat.c: New file.
70899         * lib/unistr/u-strcat.h: New file.
70900
70901         * modules/unistr/u8-strchr: New file.
70902         * modules/unistr/u16-strchr: New file.
70903         * modules/unistr/u32-strchr: New file.
70904         * lib/unistr/u8-strchr.c: New file.
70905         * lib/unistr/u16-strchr.c: New file.
70906         * lib/unistr/u32-strchr.c: New file.
70907
70908         * modules/unistr/u8-strcmp: New file.
70909         * modules/unistr/u16-strcmp: New file.
70910         * modules/unistr/u32-strcmp: New file.
70911         * lib/unistr/u8-strcmp.c: New file.
70912         * lib/unistr/u16-strcmp.c: New file.
70913         * lib/unistr/u32-strcmp.c: New file.
70914
70915         * modules/unistr/u8-strcpy: New file.
70916         * modules/unistr/u16-strcpy: New file.
70917         * modules/unistr/u32-strcpy: New file.
70918         * lib/unistr/u8-strcpy.c: New file.
70919         * lib/unistr/u16-strcpy.c: New file.
70920         * lib/unistr/u32-strcpy.c: New file.
70921         * lib/unistr/u-strcpy.h: New file.
70922
70923         * modules/unistr/u8-strcspn: New file.
70924         * modules/unistr/u16-strcspn: New file.
70925         * modules/unistr/u32-strcspn: New file.
70926         * lib/unistr/u8-strcspn.c: New file.
70927         * lib/unistr/u16-strcspn.c: New file.
70928         * lib/unistr/u32-strcspn.c: New file.
70929         * lib/unistr/u-strcspn.h: New file.
70930
70931         * modules/unistr/u8-strdup: New file.
70932         * modules/unistr/u16-strdup: New file.
70933         * modules/unistr/u32-strdup: New file.
70934         * lib/unistr/u8-strdup.c: New file.
70935         * lib/unistr/u16-strdup.c: New file.
70936         * lib/unistr/u32-strdup.c: New file.
70937         * lib/unistr/u-strdup.h: New file.
70938
70939         * modules/unistr/u8-strlen: New file.
70940         * modules/unistr/u16-strlen: New file.
70941         * modules/unistr/u32-strlen: New file.
70942         * lib/unistr/u8-strlen.c: New file.
70943         * lib/unistr/u16-strlen.c: New file.
70944         * lib/unistr/u32-strlen.c: New file.
70945         * lib/unistr/u-strlen.h: New file.
70946
70947         * modules/unistr/u8-strmblen: New file.
70948         * modules/unistr/u16-strmblen: New file.
70949         * modules/unistr/u32-strmblen: New file.
70950         * lib/unistr/u8-strmblen.c: New file.
70951         * lib/unistr/u16-strmblen.c: New file.
70952         * lib/unistr/u32-strmblen.c: New file.
70953
70954         * modules/unistr/u8-strmbtouc: New file.
70955         * modules/unistr/u16-strmbtouc: New file.
70956         * modules/unistr/u32-strmbtouc: New file.
70957         * lib/unistr/u8-strmbtouc.c: New file.
70958         * lib/unistr/u16-strmbtouc.c: New file.
70959         * lib/unistr/u32-strmbtouc.c: New file.
70960
70961         * modules/unistr/u8-strncat: New file.
70962         * modules/unistr/u16-strncat: New file.
70963         * modules/unistr/u32-strncat: New file.
70964         * lib/unistr/u8-strncat.c: New file.
70965         * lib/unistr/u16-strncat.c: New file.
70966         * lib/unistr/u32-strncat.c: New file.
70967         * lib/unistr/u-strncat.h: New file.
70968
70969         * modules/unistr/u8-strncmp: New file.
70970         * modules/unistr/u16-strncmp: New file.
70971         * modules/unistr/u32-strncmp: New file.
70972         * lib/unistr/u8-strncmp.c: New file.
70973         * lib/unistr/u16-strncmp.c: New file.
70974         * lib/unistr/u32-strncmp.c: New file.
70975
70976         * modules/unistr/u8-strncpy: New file.
70977         * modules/unistr/u16-strncpy: New file.
70978         * modules/unistr/u32-strncpy: New file.
70979         * lib/unistr/u8-strncpy.c: New file.
70980         * lib/unistr/u16-strncpy.c: New file.
70981         * lib/unistr/u32-strncpy.c: New file.
70982         * lib/unistr/u-strncpy.h: New file.
70983
70984         * modules/unistr/u8-strnlen: New file.
70985         * modules/unistr/u16-strnlen: New file.
70986         * modules/unistr/u32-strnlen: New file.
70987         * lib/unistr/u8-strnlen.c: New file.
70988         * lib/unistr/u16-strnlen.c: New file.
70989         * lib/unistr/u32-strnlen.c: New file.
70990         * lib/unistr/u-strnlen.h: New file.
70991
70992         * modules/unistr/u8-strpbrk: New file.
70993         * modules/unistr/u16-strpbrk: New file.
70994         * modules/unistr/u32-strpbrk: New file.
70995         * lib/unistr/u8-strpbrk.c: New file.
70996         * lib/unistr/u16-strpbrk.c: New file.
70997         * lib/unistr/u32-strpbrk.c: New file.
70998         * lib/unistr/u-strpbrk.h: New file.
70999
71000         * modules/unistr/u8-strrchr: New file.
71001         * modules/unistr/u16-strrchr: New file.
71002         * modules/unistr/u32-strrchr: New file.
71003         * lib/unistr/u8-strrchr.c: New file.
71004         * lib/unistr/u16-strrchr.c: New file.
71005         * lib/unistr/u32-strrchr.c: New file.
71006
71007         * modules/unistr/u8-strspn: New file.
71008         * modules/unistr/u16-strspn: New file.
71009         * modules/unistr/u32-strspn: New file.
71010         * lib/unistr/u8-strspn.c: New file.
71011         * lib/unistr/u16-strspn.c: New file.
71012         * lib/unistr/u32-strspn.c: New file.
71013         * lib/unistr/u-strspn.h: New file.
71014
71015         * modules/unistr/u8-strstr: New file.
71016         * modules/unistr/u16-strstr: New file.
71017         * modules/unistr/u32-strstr: New file.
71018         * lib/unistr/u8-strstr.c: New file.
71019         * lib/unistr/u16-strstr.c: New file.
71020         * lib/unistr/u32-strstr.c: New file.
71021         * lib/unistr/u-strstr.h: New file.
71022
71023         * modules/unistr/u8-strtok: New file.
71024         * modules/unistr/u16-strtok: New file.
71025         * modules/unistr/u32-strtok: New file.
71026         * lib/unistr/u8-strtok.c: New file.
71027         * lib/unistr/u16-strtok.c: New file.
71028         * lib/unistr/u32-strtok.c: New file.
71029         * lib/unistr/u-strtok.h: New file.
71030
71031         * modules/unistr/u8-uctomb: New file.
71032         * modules/unistr/u16-uctomb: New file.
71033         * modules/unistr/u32-uctomb: New file.
71034         * lib/unistr/u8-uctomb.c: New file.
71035         * lib/unistr/u16-uctomb.c: New file.
71036         * lib/unistr/u32-uctomb.c: New file.
71037
71038         * MODULES.html.sh (Unicode string functions): Add the new modules.
71039
71040 2007-01-08  Bruno Haible  <bruno@clisp.org>
71041
71042         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
71043         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
71044         subdirectories.
71045
71046 2007-01-08  Karl Berry  <karl@gnu.org>
71047
71048         * doc/error.texi: mention that main() fns must set program_name
71049         when progname is used.
71050
71051 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
71052
71053         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
71054         WCTYPE_H is empty, for the benefit of builds from non-distclean
71055         directories.  Problem reported by Eric Blake in
71056         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
71057
71058 2007-01-08  Bruno Haible  <bruno@clisp.org>
71059
71060         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
71061         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
71062         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
71063         PROVIDE_CANONICALIZE_FILENAME_MODE.
71064         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
71065
71066 2007-01-08  Bruno Haible  <bruno@clisp.org>
71067
71068         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
71069         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
71070         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
71071         * lib/fts.c: Likewise.
71072         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
71073
71074 2006-12-25  Bruno Haible  <bruno@clisp.org>
71075
71076         * modules/utf8-ucs4-safe: New file.
71077         * lib/utf8-ucs4-safe.h: New file.
71078         * lib/unistr/utf8-ucs4-safe.c: New file.
71079
71080         * modules/utf16-ucs4-safe: New file.
71081         * lib/utf16-ucs4-safe.h: New file.
71082         * lib/unistr/utf16-ucs4-safe.c: New file.
71083
71084         * MODULES.html.sh (Unicode string functions): Add the new modules.
71085
71086 2007-01-08  Bruno Haible  <bruno@clisp.org>
71087
71088         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
71089         (Depends-on): Add unitypes.
71090         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71091         (u8_mbtouc_aux): Move out to separate file.
71092         (u8_mbtouc): Use ucs4_t, uint8_t types.
71093         * lib/unistr/utf8-ucs4.c: New file.
71094
71095         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
71096         (Depends-on): Add unitypes.
71097         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71098         (u16_mbtouc_aux): Move out to separate file.
71099         (u16_mbtouc): Use ucs4_t, uint16_t types.
71100         * lib/unistr/utf16-ucs4.c: New file.
71101
71102         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
71103         (Depends-on): Add unitypes.
71104         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
71105         (u8_uctomb_aux): Move out to separate file.
71106         (u8_uctomb): Use ucs4_t, uint8_t types.
71107         * lib/unistr/ucs4-utf8.c: New file.
71108
71109         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
71110         (Depends-on): Add unitypes.
71111         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
71112         (u16_uctomb_aux): Move out to separate file.
71113         (u16_uctomb): Use ucs4_t, uint16_t types.
71114         * lib/unistr/ucs4-utf16.c: New file.
71115
71116 2006-12-25  Bruno Haible  <bruno@clisp.org>
71117
71118         * modules/unitypes: New file.
71119         * lib/unitypes.h: New file.
71120         * MODULES.html.sh (func_all_modules): New section "Unicode string
71121         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
71122         this section. Add unitypes.
71123
71124 2007-01-08  Bruno Haible  <bruno@clisp.org>
71125
71126         Avoid variable names that conflict with those from libtool.
71127         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
71128         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
71129         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
71130         library_names_spec to acl_library_names_spec, hardcode_* to
71131         acl_hardcode_*.
71132         Reported by Ralf Wildenhues.
71133
71134 2007-01-08  Bruno Haible  <bruno@clisp.org>
71135
71136         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
71137         definition.
71138         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
71139         definition.
71140         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
71141         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
71142         definition.
71143         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
71144         definition.
71145         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
71146         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
71147         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
71148         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
71149         definition.
71150         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
71151         definition.
71152         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
71153         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
71154         GC_USE_<algorithm>.
71155         * lib/gc-libgcrypt.c: Likewise.
71156         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
71157         * modules/gc-arctwo (configure.ac): Likewise.
71158         * modules/gc-des (configure.ac): Likewise.
71159         * modules/gc-hmac-md5 (configure.ac): Likewise.
71160         * modules/gc-hmac-sha1 (configure.ac): Likewise.
71161         * modules/gc-md2 (configure.ac): Likewise.
71162         * modules/gc-md4 (configure.ac): Likewise.
71163         * modules/gc-md5 (configure.ac): Likewise.
71164         * modules/gc-random (configure.ac): Likewise.
71165         * modules/gc-rijndael (configure.ac): Likewise.
71166         * modules/gc-sha1 (configure.ac): Likewise.
71167
71168 2007-01-08  Bruno Haible  <bruno@clisp.org>
71169
71170         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
71171         macro definition.
71172         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
71173         definition.
71174         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
71175         definition.
71176         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
71177         * modules/fcntl-safer (configure.ac): Likewise.
71178         * modules/fopen-safer (configure.ac): Likewise.
71179         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
71180         GNULIB_FWRITEERROR macro definition.
71181
71182 2007-01-08  Bruno Haible  <bruno@clisp.org>
71183
71184         * m4/gnulib-common.m4: New file.
71185         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
71186         (func_get_filelist): Add m4/gnulib-common.m4.
71187
71188 2007-01-08  Bruno Haible  <bruno@clisp.org>
71189
71190         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
71191         command.
71192
71193 2007-01-08  Jim Meyering  <jim@meyering.net>
71194
71195         Use a more robust test for a "can't happen" condition.
71196         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
71197         narrowed the st_size value.  Presuming the "can't happen" condition
71198         is true, that narrowing could conceivably convert an invalid st_size
71199         value into a valid one.  Instead, use a change based on Matthew
71200         Woehlke's original patch.
71201
71202         Slight readability improvement: use an assert-like macro
71203         in place of literal "abort ()" uses.
71204         * lib/fts.c (fts_assert): Define.
71205         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
71206         Use this macro instead of a bare 'abort'.
71207
71208 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
71209
71210         Don't worry about using IRIX 5.3's wctype.h broken definitions;
71211         simply work around them.
71212         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
71213         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
71214         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
71215         declaring.
71216         Don't bother to define as macros, since the standard doesn't require it.
71217         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
71218         longer worry about IRIX 5.3.
71219         (HAVE_WCTYPE_CTMP_BUG): Remove.
71220
71221 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71222
71223         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
71224         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
71225         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
71226         Problems reported by Georg Schwarz for IRIX 5.3.
71227
71228         * gnulib-tool (autoconf_minversion): Take the maximum version number
71229         found, not the minimum.  Problem reported by James Youngman.
71230
71231 2007-01-03  Karl Berry  <karl@gnu.org>
71232
71233         * doc/error.texi: new file, explaining interaction with progname.
71234         * doc/gnulib.texi: include it.  Update copyright.
71235
71236 2007-01-03  Simon Josefsson  <simon@josefsson.org>
71237
71238         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
71239         AC_CANONICAL_HOST, to improve autobuild outputs.
71240
71241 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
71242             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71243
71244         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
71245         sockets, server sockets, and other file descriptors.  Count errors
71246         to compute the return value.  Reorder the code a bit to be easier
71247         to follow.  Don't set event bits that were not requested (except
71248         POLLERR and POLLHUP).
71249
71250 2007-01-01  Bruno Haible  <bruno@clisp.org>
71251
71252         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
71253
71254 2007-01-03  Jim Meyering  <jim@meyering.net>
71255
71256         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
71257
71258 2007-01-02  Bruno Haible  <bruno@clisp.org>
71259
71260         * modules/settime (Include): Require timespec.h.
71261         * modules/nanosleep (Include): Likewise.
71262
71263 2007-01-01  Bruno Haible  <bruno@clisp.org>
71264
71265         * gnulib-tool (func_emit_copyright_notice): Bump year.
71266         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
71267
71268 2007-01-01  Bruno Haible  <bruno@clisp.org>
71269
71270         Improve support for OpenBSD.
71271         * build-aux/config.rpath (libname_spec): Export.
71272         (library_names_spec): New variable. Export.
71273         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
71274         library_names_spec from the config.rpath output. Locate shared library
71275         through the name pattern in library_names_spec.
71276
71277 2007-01-01  Eric Blake  <ebb9@byu.net>
71278
71279         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
71280
71281 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
71282
71283         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
71284         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
71285         assume the C locale, and avoid an "eval" that could cause trouble.
71286         Problem with SORT reported by Bob Proulx.
71287
71288         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
71289         Define.  Trivial patch from Henning Nielsen Lund, originally
71290         sent to bug-grep@gnu.org today.
71291
71292 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
71293
71294         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
71295         struct stat.  Problem reported by Henning Nielsen Lund.
71296         * lib/acl.c: Include acl.h first, to check interface.  Don't
71297         bother to include sys/types.h and sys/stat.h again.
71298
71299 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71300
71301         Import the following change from libc; problem reported by
71302         Sven Verdoolaege.
71303
71304         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
71305
71306         [BZ #1373]
71307         * lib/argp.h: Remove __NTH for __argp_usage inline function.
71308
71309 2006-12-28  Jim Meyering  <jim@meyering.net>
71310
71311         * build-aux/announce-gen: Do not assume that the package
71312         builds any of tar.gz, tar.bz2, and .xdelta files.
71313         Suggestion from Simon Josefsson.
71314
71315 2006-12-28  Simon Josefsson  <simon@josefsson.org>
71316
71317         * modules/announce-gen: New file.
71318
71319 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
71320
71321         * lib/mbchar.h: Just include <wctype.h>; the wctype module
71322         handles its gotchas now.
71323         * lib/mbswidth.c: Likewise.
71324         * lib/wcwidth.h: Likewise.
71325         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
71326         and iswcntrl; the wctype module does this stuff now.
71327         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71328         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71329         * modules/mbchar (Depends-on): Add wctype.
71330         * modules/mbswidth (Depends-on): Likewise.
71331         * modules/wcwidth (Depends-on): Likewise.
71332
71333 2006-12-27  Eric Blake  <ebb9@byu.net>
71334
71335         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
71336         module uses more than what <wctype.h> is required to provide.
71337
71338 2006-12-26  Eric Blake  <ebb9@byu.net>
71339
71340         * gnulib-tool (sed_extract_prog): Avoid space-tab.
71341
71342 2006-12-26  Eric Blake  <ebb9@byu.net>
71343
71344         * modules/absolute-header: New module.
71345         * modules/fcntl (Depends-on): Depend on it.
71346         * modules/inttypes (Depends-on): Likewise.
71347         * modules/stdint (Depends-on): Likewise.
71348         * modules/sys_stat (Depends-on): Likewise.
71349         * modules/wctype (Depends-on): Likewise.
71350         * MODULES.html.sh (Support for building libraries and
71351         executables): Document it.
71352
71353 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
71354
71355         * gnulib-tool (SED): Remove, undoing previous change.
71356         The problem was that it broke coreutils on Solaris, because
71357         "sed --posix" leaked into a makefile.
71358         (sed): New alias, if 'alias' and GNU sed.
71359
71360 2006-12-24  Jim Meyering  <jim@meyering.net>
71361
71362         Work around an fchownat bug in glibc-2.4:
71363         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
71364         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
71365         in spite of the -P option.
71366         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
71367         New macros.
71368         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
71369         * modules/openat (Files): Add lib/fchownat.c.
71370         * lib/openat.c (fchownat): Don't define here.  Move to...
71371         * lib/fchownat.c: ...this new file.
71372
71373 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71374
71375         Fix bug reported by Bruno Haible in
71376         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
71377         where quotearg.c didn't compile on Mac OS X 10.2 because it
71378         lacks <wchar.h> and wint_t.
71379         * lib/wctype_.h (__wctype_wint_t): New type.
71380         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
71381         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
71382         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
71383         Arg is now of type __wctype_wint_t, not wint_t.
71384         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
71385         substitute HAVE_WINT_T.
71386         * modules/wctype (Files): Add m4/wint_t.m4.
71387         (wctype.h): Substitute HAVE_WINT_T.
71388
71389 2006-12-23  Bruno Haible  <bruno@clisp.org>
71390
71391         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
71392
71393 2006-12-23  Bruno Haible  <bruno@clisp.org>
71394
71395         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
71396         S_ISLNK.
71397         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
71398         mingw.
71399
71400 2006-12-22  Bruno Haible  <bruno@clisp.org>
71401
71402         * lib/copy-file.c: Include acl.h.
71403         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
71404         Close the file descriptors only after being done with copy_acl.
71405         * modules/copy-file (Depends-on): Add acl.
71406
71407 2006-12-22  Bruno Haible  <bruno@clisp.org>
71408
71409         * gnulib-tool (SED): New variable.
71410         Use $SED instead of sed everywhere.
71411
71412 2006-12-22  Bruno Haible  <bruno@clisp.org>
71413
71414         * modules/no-c++: New file.
71415         * m4/no-c++.m4: New file.
71416         * MODULES.html.sh (Support for building libraries and executables):
71417         Add no-c++.
71418
71419 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
71420
71421         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71422         Include <limits.h>, and use its INT_MAX to rewrite the
71423         j loop so that it does not overflow 'int'.  Problem reported by
71424         Ralf Wildenhues in
71425         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
71426         Play it safe by shifting left by 1 rather than multiplying by 2,
71427         as GCC is less likely to optimize this away when the value
71428         is signed (when it assumes overflow leads to undefined behavior).
71429         Also, don't assume time_t uses two's complement.
71430
71431 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
71432
71433         * MODULES.html.sh: New module wctype.
71434         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
71435         * lib/fnmatch.c: Don't bother to include <wchar.h> before
71436         <wctype.h>, since the new wctype module should fix this.
71437         * lib/quotearg.c: Include <wctype.h> unconditionally, since
71438         the wctype module should arrange for it.
71439         * lib/regex_internal.h: Likewise.
71440         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
71441         since the wctype module should handle this now.
71442         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
71443         * modules/fnmatch (Depends-on): Add wctype.
71444         * modules/quotearg (Depends-on): Likewise.
71445         * modules/regex (Depends-on): Likewise.
71446
71447 2006-12-19  Bruno Haible  <bruno@clisp.org>
71448
71449         * lib/strdup.h [C++]: Wrap definitions in extern "C".
71450         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
71451
71452 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71453
71454         * modules/savewd (Depends-on): Fix dependency on fcntl.
71455
71456 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71457
71458         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
71459         conforms to C99, rather than relying on the user's environment
71460         setting of STDINT_H.
71461
71462 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71463         and Eric Blake  <ebb9@byu.net>
71464
71465         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
71466         This is more consistent with the other defines here.
71467         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
71468         Port to z/OS.  Problem reported by Paul Gilmartin.
71469         Change local vars to use gl_ prefix rather than ac_.
71470         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
71471         with other defines.
71472         * modules/double-slash-root: New module.
71473         * modules/dirname (Files): Remove m4/double-slash-root.m4.
71474         (Depends-on): Add double-slash-root.
71475         * MODULES.html.sh (File system functions): Mention new module.
71476
71477 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
71478
71479         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
71480         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
71481         This is for the benefit of gzip, which doesn't do i18n.
71482
71483 2006-12-12  Jim Meyering  <jim@meyering.net>
71484
71485         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
71486         Reported by Andreas Schwab <schwab@suse.de>.
71487
71488 2006-12-12  Bruno Haible  <bruno@clisp.org>
71489
71490         Merge these changes.
71491         2006-09-05  Bruno Haible  <bruno@clisp.org>
71492         * lib/iconvme.c (iconv_string): No need to save and restore errno when
71493         iconv_alloc succeeded.
71494         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
71495         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
71496         test for " && dest " at the end - dest is always != NULL there. Call
71497         iconv with 4xNULL arguments initially, to reset the state. Call iconv
71498         with 2xNULL arguments, also to flush the state storage. Handle the
71499         IRIX iconv behaviour. Realloc the final result, to throw away unused
71500         memory.
71501
71502 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
71503
71504         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
71505         and fchmodat unconditionally, since glibc 2.4 has them.
71506         Problem reported by Arkadiusz Miskiewicz.
71507
71508 2006-12-10  Bruno Haible  <bruno@clisp.org>
71509
71510         * gnulib-tool (func_import): Show the include files only for those
71511         modules that are copied and specified.
71512         Reported by Karl Berry.
71513
71514 2006-12-08  Jim Meyering  <jim@meyering.net>
71515
71516         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
71517         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
71518
71519         * build-aux/announce-gen: Add two new options, both optional:
71520         --bootstrap-tools=TOOL_LIST
71521               a comma-separated list of tools, e.g.,
71522               autoconf,automake,bison,gnulib
71523         --gnulib-snapshot-date=DATE
71524               if gnulib is in the bootstrap tool list,
71525               then report this as the snapshot date.
71526               If not specified, use the current date/time.
71527               If you specify a date here, be sure it's UTC.
71528
71529 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71530
71531         * tests/test-argp-2.sh: Fix test to match actual output.
71532         (func_compare): Fix sed script to be portable.
71533
71534 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
71535
71536         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
71537         workaround for this case.  It is not autoconfigured now; offhand
71538         it's hard to see how to autoconfigure it.
71539
71540 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
71541
71542         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
71543         a directory that is about to be chowned.  Such a directory's
71544         initial file permissions should permit the owner only and this
71545         should not be changed until after the chown, since the group and
71546         other bits would be incorrect if they granted permission before
71547         the chown.
71548
71549         Fix porting problem for iswctype reported by Georg Schwarz in:
71550         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
71551         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
71552         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
71553         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
71554         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
71555
71556 2006-12-03  Jim Meyering  <jim@meyering.net>
71557
71558         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
71559         p->fts_statp may not yet be defined.
71560         (fts_read): Instead, set it in the caller, once p->fts_statp is
71561         sure to be defined, and corresponds to a top-level directory.
71562         This bug made du -x fail.  Here's the coreutils test case:
71563         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
71564         Reported by Mike Frysinger.
71565
71566 2006-12-01  Jim Meyering  <jim@meyering.net>
71567
71568         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
71569         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
71570         Reported by Simon Josefsson.
71571
71572 2006-11-30  Jim Meyering  <jim@meyering.net>
71573
71574         * m4/warning.m4: Use the all-permissive copyright notice
71575         recommended by RMS (rather than LGPL).
71576         * m4/vararrays.m4: Likewise.
71577         * m4/flexmember.m4: Likewise.
71578
71579 2006-11-29  Bruno Haible  <bruno@clisp.org>
71580
71581         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71582         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
71583         using +=.
71584         Reported by Simon Josefsson <simon@josefsson.org>.
71585
71586 2006-11-28  James Youngman <jay@gnu.org>
71587
71588         * README: Advise users that they might find the bug-gnulib@gnu.org
71589         and autotools-announce@gnu.org mailing lists useful.
71590
71591 2006-11-28  Bruno Haible  <bruno@clisp.org>
71592
71593         * m4/ptrdiff_max.m4: Remove file.
71594
71595 2006-11-21  Bruno Haible  <bruno@clisp.org>
71596
71597         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
71598         _AC_COMPUTE_INT.
71599         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71600         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
71601         _AC_COMPUTE_INT.
71602         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71603         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
71604         _AC_COMPUTE_INT.
71605         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71606
71607 2006-11-28  Jim Meyering  <jim@meyering.net>
71608
71609         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
71610         warning from "gcc -Wshadow" about shadowing the builtin.
71611
71612 2006-11-27  Bruno Haible  <bruno@clisp.org>
71613
71614         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
71615         _AC_COMPUTE_INT.
71616         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71617
71618 2006-11-27  Bruno Haible  <bruno@clisp.org>
71619             Paul Eggert  <eggert@cs.ucla.edu>
71620
71621         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
71622
71623 2006-11-26  Bruno Haible  <bruno@clisp.org>
71624
71625         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71626         noinst_LTLIBRARIES.
71627
71628 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
71629             Bruno Haible  <bruno@clisp.org>
71630
71631         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
71632         if compiling with "gcc -ansi".
71633
71634 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
71635
71636         Fix some incompatibilities with gcc -ansi -pedantic.
71637         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
71638         if compiling pedantically with GCC, unless it's C99 or later.
71639         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
71640         it mishandles gcc -ansi -pedantic as well.
71641         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
71642         if gcc -pedantic.
71643         * lib/regexec.c (check_node_accept_bytes): Don't use auto
71644         initializers for struct if -pedantic, unless it's C99 or later.
71645
71646 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
71647
71648         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
71649         Don't close an fd more than once. Identical atimes indicate
71650         success, not failure.
71651
71652 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
71653
71654         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
71655
71656 2006-11-23  Jim Meyering  <jim@meyering.net>
71657
71658         * build-aux/announce-gen: New file.  From coreutils.
71659
71660 2006-11-22  Jim Meyering  <jim@meyering.net>
71661
71662         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
71663         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
71664         (fts_read): Use a temporary to narrow the overused st_size member
71665         before using it in a switch statement.  Reported by Matthew Woehlke.
71666
71667         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
71668         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
71669
71670 2006-11-20  Bruno Haible  <bruno@clisp.org>
71671
71672         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
71673         changequote instead of pairs of brackets.
71674         Reported by Andreas Schwab <schwab@suse.de>.
71675
71676 2006-11-21  Jim Meyering  <jim@meyering.net>
71677
71678         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
71679         so as to remain compatible with older compilers.
71680         Patch from Michael Deutschmann.
71681
71682 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71683
71684         * MODULES.html.sh (File system functions): Add openat.
71685
71686         * lib/openat.h (rpl_fstatat): New macro, if
71687         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
71688         (fstatat): Define to rpl_fstatat under the same conditions,
71689         unless COMPILING_FSTATAT.
71690         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
71691         seems to have the bug.
71692         * lib/fstatat.c: New file.
71693         * modules/openat (Files): Add it.
71694
71695 2006-11-20  Bruno Haible  <bruno@clisp.org>
71696
71697         * Makefile: New file.
71698
71699 2006-11-20  Jim Meyering  <jim@meyering.net>
71700
71701         The beginnings of syntax-related checks for gnulib.
71702         * lib/Makefile: New file.
71703         * lib/t-idcache: New script.  Ensure that the two halves of
71704         idcache.c stay in sync.
71705
71706         * lib/idcache.c: Adjust comments in user- and group- portions to
71707         be more accurate, and to be consistent with one another.
71708
71709 2006-11-20  Jim Meyering  <jim@meyering.net>
71710
71711         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
71712         continue using the flexible array member (thus, this module performs
71713         half as many malloc calls), with the addition that...
71714         (getgroup, getuser): Consistently record a non-match via an empty
71715         "name" string, and map an empty string match to a NULL return value.
71716         * modules/idcache (Depends-on): Re-add flexmember.
71717
71718         * lib/idcache.c (getuser): Remove all uses of the register keyword.
71719         (getuidbyname, getgroup, getgidbyname): Likewise.
71720
71721         Use cleaner syntax: NULL rather than 0.
71722         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
71723
71724 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71725
71726         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
71727         It mishandled the case where the group was missing.
71728         Problem reported by Greg Schafer.
71729         * modules/idcache: Likewise.
71730
71731 2006-11-18  Jim Meyering  <jim@meyering.net>
71732
71733         * check-module (%exempt_header): Add exception for some
71734         conditionally-included headers.
71735
71736         * modules/i-ring (Depends-on): Add verify.
71737         (License): Change to LGPL.
71738
71739 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71740
71741         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
71742         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
71743         and inttostr.h.  Use snprintf rather than uinttostr, so that
71744         LGPLed code doesn't depend on GPLed.
71745
71746 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71747
71748         * modules/inline (License): Change from GPL to LGPL.
71749
71750 2006-11-17  Jim Meyering  <jim@meyering.net>
71751
71752         * modules/d-type (License): Switch to LGPL.
71753
71754 2006-11-15  Bruno Haible  <bruno@clisp.org>
71755
71756         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
71757
71758 2006-11-15  Eric Blake  <ebb9@byu.net>
71759
71760         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
71761         the module dependency.
71762
71763 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71764             Bruno Haible  <bruno@clisp.org>
71765
71766         * gnulib-tool (func_create_testdir): Add license consistency check.
71767
71768 2006-11-15  Eric Blake  <ebb9@byu.net>
71769
71770         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
71771         random "(cached)" in configure output.
71772
71773 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71774
71775         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
71776         test for conforming inttypes.h is both announced and cached.
71777
71778         * MODULES.html.sh (seen_modules, seen_files): New variables.
71779         (func_module): Rewrite to use a few less gnulib-tool and sed
71780         invocations.  Avoid a couple of quadratic algorithms for ...
71781         (missed_modules, missed_files): ... these, with ...
71782         (func_append, func_tmpdir): ... these new functions, from
71783         gnulib-tool.  Analogously, install traps for cleanup.
71784
71785         * tests/test-gc.c (main): Remove unused variables.
71786         * tests/test-read-file.c: Include stdlib.h, for 'free'.
71787
71788 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
71789
71790         * modules/inttostr (License): Change to LGPL.
71791
71792 2006-11-14  Eric Blake  <ebb9@byu.net>
71793
71794         * modules/tempname (License): Change to LGPL.
71795
71796 2006-11-14  Eric Blake  <ebb9@byu.net>
71797
71798         * doc/functions.texi (Function Portability): *printf functions on
71799         Cygwin now understand all POSIX size specifiers.
71800
71801 2006-11-14  Bruno Haible  <bruno@clisp.org>
71802
71803         * modules/c-ctype (License): Change to LGPL.
71804
71805 2006-11-12  Bruno Haible  <bruno@clisp.org>
71806
71807         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
71808         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
71809         for GNOME libraries, for which the include files are installed in
71810         subdirectories of $prefix/include.
71811
71812 2006-11-12  Bruno Haible  <bruno@clisp.org>
71813
71814         * m4/lib-link.m4: Require at least autoconf-2.54.
71815         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
71816         name to underscores for the --with option.
71817
71818 2006-11-13  Bruno Haible  <bruno@clisp.org>
71819
71820         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
71821         the tests directory.
71822         Reported by Ralf Wildenhues.
71823
71824 2006-11-13  Bruno Haible  <bruno@clisp.org>
71825
71826         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
71827         (func_emit_initmacro_end): Undo the override here.
71828         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
71829         Works around the famous automake error in coreutils.
71830
71831 2006-11-13  Eric Blake  <ebb9@byu.net>
71832
71833         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
71834         element, not its node.
71835
71836 2006-11-12  Bruno Haible  <bruno@clisp.org>
71837
71838         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
71839         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
71840
71841 2006-11-12  Bruno Haible  <bruno@clisp.org>
71842
71843         * gnulib-tool: New option --local-symlink.
71844         (func_usage): Document it.
71845         (lsymbolic): New variable.
71846         (func_import, func_create_testdir): If --symlink was not specified,
71847         test whether --local-symlink was specified and the file comes from
71848         the local_gnulib_dir.
71849
71850 2006-11-12  Bruno Haible  <bruno@clisp.org>
71851
71852         * gnulib-tool (func_ln): New function.
71853         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
71854
71855 2006-11-12  Bruno Haible  <bruno@clisp.org>
71856
71857         Finish support for source files in subdirectories.
71858         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
71859         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
71860         AUTOMAKE_OPTIONS.
71861         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
71862
71863 2006-11-12  Bruno Haible  <bruno@clisp.org>
71864
71865         * gnulib-tool (func_get_automake_snippet): Synthesize also an
71866         EXTRA_lib_SOURCES augmentation.
71867         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
71868
71869 2006-11-12  Jim Meyering  <jim@meyering.net>
71870
71871         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
71872         file descriptors.  This also averts a failure on systems with
71873         native openat support when a traversed directory lacks "x" access.
71874         * lib/fts_.h: Include "i-ring.h"
71875         (struct FTS) [fts_fd_ring]: New member.
71876         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
71877         (FCHDIR): Add parentheses.
71878         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
71879         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
71880         When descending, rather than simply closing the previous
71881         fts_cwd_fd value, push that file descriptor onto the ring.
71882         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
71883         (fts_open): Initialize the new fd_ring member.
71884         (fts_close): Clear the ring.
71885         (fts_safe_changedir): When possible, use our new fd_ring to skip
71886         the diropen and fstat and dev/ino comparison that would normally
71887         accompany a virtual `chdir ("..")'.
71888
71889         * modules/fts (Depends-on): Add i-ring.
71890         * modules/i-ring: New module.
71891         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
71892         * m4/i-ring.m4: New file.
71893
71894 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71895
71896         * gnulib-tool (func_create_testdir): Fix replacement of
71897         `build-aux' in configure.ac.  Run autotools in gltests
71898         subdirectory.
71899         (func_create_testdir, func_create_megatestdir, test): There is
71900         no need for '--force' in most autotool invocations in a new
71901         tree.  Actually fail the whole test if any of the tools, or the
71902         configure or make stages fail.
71903
71904         Sync from Automake.
71905         * build-aux/gnupload: Revert last change.  Add pointer to upload
71906         instructions of the GNU Maintenance Instructions.
71907         Suggestion by Karl Berry.
71908
71909 2006-11-10  Jim Meyering  <jim@meyering.net>
71910
71911         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
71912
71913 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71914
71915         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
71916         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
71917         (bind_textdomain_codeset) [! ENABLE_NLS]:
71918         Evaluate all the arguments.  That way, callers get compatible behavior
71919         if the arguments have side effects.  Also, it avoids some GCC
71920         diagnostics in some cases; Joel E. Denny reported problems when Bison
71921         was configured with --enable-gcc-warnigs.
71922
71923 2006-11-10  Jim Meyering  <jim@meyering.net>
71924
71925         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
71926         relevant options in CFLAGS (like -O, -fno-inline) are taken into
71927         account.
71928
71929 2006-11-10  Jim Meyering  <jim@meyering.net>
71930
71931         * modules/inline: New file/module.
71932         * modules/xalloc (Files): Remove m4/inline.m4.
71933         (Depends-on): Add inline, instead.
71934         * modules/oset: Likewise.
71935         * modules/list: Likewise.
71936
71937 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71938
71939         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
71940         Problem reported by Matthew Woehlke.
71941
71942 2006-11-09  Bruno Haible  <bruno@clisp.org>
71943
71944         * lib/tempname.c (gen_tempname): Remove variant that invokes
71945         __gen_tempname.
71946         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
71947         __gen_tempname.
71948
71949 2006-11-08  Bruno Haible  <bruno@clisp.org>
71950
71951         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
71952         to 'yes' instead of 'cross-compiling'.
71953
71954 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
71955
71956         * lib/quotearg.h (quotearg_free): New decl.
71957         * lib/quotearg.c (quotearg_free): New function.
71958         (slot0, nslots, slotvec0, slotvec):
71959         Now file-scope so that quotearg_free can get at them.
71960
71961 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71962
71963         Sync from Automake.
71964         * build-aux/gnupload: Add missing 'gnu' to example URL.
71965         Report by Karl Berry.
71966
71967 2006-11-08  Bruno Haible  <bruno@clisp.org>
71968
71969         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
71970         Suggested by Paul Eggert.
71971
71972 2006-11-08  Jim Meyering  <jim@meyering.net>
71973
71974         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
71975         It's already included if !_LIBC.
71976         (fts_safe_changedir): Add a comment.
71977
71978 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71979
71980         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
71981         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
71982         Matthew Woehlke.
71983
71984         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
71985         definitions up, to avoid colliding with change below.
71986         (static_inline) [HAVE_INLINE]: New macro.
71987         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
71988         Provide extern decls when !HAVE_INLINE.  Do not define unless
71989         static_inline is defined, either by us or by xmalloc.c.  Use
71990         static_inline rather than static inline.
71991         (XCALLOC): Optimize sizeof(T) = 1 case.
71992         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
71993
71994 2006-11-07  Bruno Haible  <bruno@clisp.org>
71995
71996         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
71997         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
71998         AC_C_INLINE.
71999         * modules/xalloc (Files): Add m4/inline.m4.
72000
72001 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72002
72003         * README: Fix typo.
72004         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
72005         (Miscellanous Notes): ...from this.
72006
72007 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
72008
72009         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
72010         Mention that offsetof should be used instead of sizeof.
72011         From Bruno Haible.
72012
72013 2006-11-07  Bruno Haible  <bruno@clisp.org>
72014
72015         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
72016
72017 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72018
72019         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72020         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
72021         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72022         (gl_tree_add_before, gl_tree_add_after):
72023         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
72024         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
72025         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
72026         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
72027         (gl_linked_add_after, gl_linked_add_at): Likewise.
72028         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
72029         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72030         (gl_tree_add_before, gl_tree_add_after): Likewise.
72031         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
72032         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
72033         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
72034
72035 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72036
72037         * lib/gl_oset.h: Use C comment style, not C++ comment style.
72038
72039 2006-11-06  Bruno Haible  <bruno@clisp.org>
72040
72041         * m4/inline.m4: New file.
72042         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
72043         * modules/list (Files): Add m4/inline.m4.
72044         * modules/oset (Files): Likewise.
72045
72046 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72047
72048         * lib/idcache.c: Include <stddef.h>, for offsetof.
72049         (struct userid.name): Change from char * to a flexible array member.
72050         All uses changed.
72051         * modules/idcache (Depends-on): Add flexmember.
72052
72053         * MODULES.html.sh (Core language properties): New module flexmember.
72054         * modules/flexmember, m4/flexmember.m4: New files.
72055
72056         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
72057         inline functions that are identical with the old xnmalloc_inline,
72058         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
72059         that we can avoid some unnecessary integer multiplications and
72060         divisions in the common case where the element size is known at
72061         compile time.
72062         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
72063         needed.
72064         (xnboundedmalloc): Remove.
72065         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
72066         arguments, for consistency with rest of this header.
72067         (xcharalloc): Rewrite using XNMALLOC.
72068         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
72069         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
72070         versions have been moved to lib/xalloc.h and renamed to be the
72071         non-*_inline versions.
72072         (xmalloc, xrealloc): Implement without reference to the xnmalloc
72073         and xnrealloc functions, since those functions are now inline and
72074         now call us.
72075         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
72076         renaming described above.
72077         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
72078         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
72079         captures the dependency in AC_C_INLINE.
72080
72081         New module canonicalize-lgpl, proposed by Charles Wilson in
72082         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
72083         with a few small changes afterwards.
72084         * MODULES.html.sh (File system functions): New module
72085         canonicalize-lgpl.
72086         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
72087         and canonicalize_file_name.
72088         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
72089         * modules/canonicalize-lgpl: New files.
72090
72091 2006-11-05  Bruno Haible  <bruno@clisp.org>
72092
72093         * gnulib-tool (func_import, func_create_testdir): Create directories
72094         also for files in subdirectories of lib/.
72095
72096 2006-11-05  Bruno Haible  <bruno@clisp.org>
72097
72098         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
72099         ANSI C compliant.
72100
72101 2006-11-03  Bruno Haible  <bruno@clisp.org>
72102
72103         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72104         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
72105         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
72106         (xnboundedmalloc): New inline function.
72107         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
72108         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
72109         xmalloc.
72110         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
72111         xmalloc.
72112         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
72113         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
72114         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
72115         xmalloc.
72116         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72117         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
72118         xmalloc.
72119         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
72120         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72121         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
72122         xmalloc.
72123         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72124         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
72125         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72126         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
72127         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
72128         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
72129         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
72130
72131 2006-11-03  Bruno Haible  <bruno@clisp.org>
72132
72133         * lib/c-ctype.h [C++]: Define functions without name mangling.
72134         * lib/fwriteerror.h [C++]: Likewise.
72135         * lib/gcd.h [C++]: Likewise.
72136         * lib/linebreak.h [C++]: Likewise.
72137
72138 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
72139
72140         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
72141         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
72142         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
72143         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72144         Check for functions and headers just once.
72145         Check for declaration of canonicalize_file_name.
72146         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
72147
72148 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72149
72150         * gnulib-tool (func_import): Fix typo in actioncmd.
72151
72152 2006-11-02  Bruno Haible  <bruno@clisp.org>
72153
72154         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
72155         newline sequence in the Makefile.am snippet as a space, like "make"
72156         does.
72157         Reported by Roger Persson <perrog@gmail.com>.
72158
72159 2006-11-01  Bruno Haible  <bruno@clisp.org>
72160
72161         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
72162         already declared in <string.h>.
72163         * lib/strcase.h (strncasecmp): Don't declare it if yes.
72164
72165 2006-11-01  Bruno Haible  <bruno@clisp.org>
72166
72167         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
72168         * lib/strcase.h: Include <string.h>.
72169         (strcasecmp): Define to rpl_strcasecmp here.
72170
72171 2006-11-01  Bruno Haible  <bruno@clisp.org>
72172
72173         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
72174
72175 2006-11-01  Eric Blake  <ebb9@byu.net>
72176
72177         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
72178
72179         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
72180
72181 2006-10-29  Bruno Haible  <bruno@clisp.org>
72182
72183         Make it compile in C++ mode.
72184         * lib/full-write.c (full_rw): Add a cast.
72185
72186 2006-11-01  Bruno Haible  <bruno@clisp.org>
72187
72188         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
72189         be POSIX compliant.
72190         Reported by Roger Persson <perrog@gmail.com>.
72191
72192 2006-11-01  Eric Blake  <ebb9@byu.net>
72193
72194         * lib/getopt_.h: Fix comments.
72195
72196 2006-10-31  Eric Blake  <ebb9@byu.net>
72197
72198         * modules/tmpdir (Depends-on): Add sys_stat.
72199         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
72200         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
72201         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
72202         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
72203         tempname.
72204
72205 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
72206
72207         Avoid some C++ diagnostics reported by Bruno Haible.
72208         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
72209         xmalloc.
72210         (quotearg_alloc): Use xcharalloc rather than xmalloc.
72211         (struct slotvec): Move to top level.
72212         (quotearg_n_options): Rewrite to avoid xmalloc.
72213         * lib/xalloc.h (xcharalloc): New function.
72214         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
72215         [defined __cplusplus]: Add function template that provides result
72216         type propagation.  This part of the change is from Bruno Haible.
72217
72218 2006-10-29  Bruno Haible  <bruno@clisp.org>
72219
72220         Make it compile in C++ mode.
72221         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
72222         * lib/strnlen1.c (strnlen1): Cast memchr result.
72223         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
72224         * lib/clean-temp.c (string_equals, string_hash): Add casts.
72225         (create_temp_dir): Rename local variable 'template'.
72226         (compile_csharp_using_sscli): Add cast.
72227         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
72228         * lib/findprog.c (find_in_path): Likewise.
72229         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
72230         * lib/wait-process.c (register_slave_subprocess): Likewise.
72231
72232 2006-10-22  Bruno Haible  <bruno@clisp.org>
72233
72234         * modules/tsearch: New file.
72235         * lib/tsearch.h: New file.
72236         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
72237         * m4/tsearch.m4: New file.
72238         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
72239
72240 2006-10-29  Eric Blake  <ebb9@byu.net>
72241
72242         * lib/arcfour.c: Assume config.h.
72243         * lib/arctwo.c: Likewise.
72244         * lib/base64.c: Likewise.
72245         * lib/check-version.c: Likewise.
72246         * lib/crc.c: Likewise.
72247         * lib/des.c: Likewise.
72248         * lib/gc-gnulib.c: Likewise.
72249         * lib/gc-libgcrypt.c: Likewise.
72250         * lib/gc-pbkdf2-sha1.c: Likewise.
72251         * lib/getaddrinfo.c: Likewise.
72252         * lib/getdelim.c: Likewise.
72253         * lib/getline.c: Likewise.
72254         * lib/hmac-md5.c: Likewise.
72255         * lib/hmac-sha1.c: Likewise.
72256         * lib/iconvme.c: Likewise.
72257         * lib/md2.c: Likewise.
72258         * lib/md4.c: Likewise.
72259         * lib/memxor.c: Likewise.
72260         * lib/read-file.c: Likewise.
72261         * lib/readline.c: Likewise.
72262         * lib/rijndael-alg-fst.c: Likewise.
72263         * lib/rijndael-api-fst.c: Likewise.
72264         * lib/xgetdomainname.c: Likewise.
72265
72266 2006-10-28  Eric Blake  <ebb9@byu.net>
72267
72268         * lib/xstrndup.c: Assume config.h.
72269
72270 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
72271
72272         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
72273         stat-macros.h is now for our own macros, whereas stat_h is for
72274         macros in the <sys/stat.h> name space.
72275         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
72276         (STAT_MACROS_H): Remove.
72277         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
72278         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
72279         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
72280         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
72281         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
72282         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
72283         Move these macros to ...
72284         * lib/stat_.h: here.  Don't include stat-macros.h.
72285         * lib/canonicalize.c: Don't include stat-macros.h.
72286         * lib/chown.c: Likewise.
72287         * lib/euidaccess.c: Likewise.
72288         * lib/file-type.c: Likewise.
72289         * lib/filemode.c: Likewise.
72290         * lib/glob.c: Likewise.
72291         * lib/isapipe.c: Likewise.
72292         * lib/lchown.c: Likewise.
72293         * lib/lstat.c: Likewise.
72294         * lib/mkdir-p.c: Likewise.
72295         * lib/rmdir.c: Likewise.
72296         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
72297         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
72298         unless mkdir isn't declared, to speed up 'configure'.
72299         Always create sys/stat.h, since it's unlikely any real sys/stat.h
72300         would define all the S_* symbols.
72301         * modules/canonicalize (Depends-on):
72302         Depend on sys_stat, not stat-macros.
72303         * modules/chown: Likewise.
72304         * modules/euidaccess: Likewise.
72305         * modules/filemode: Likewise.
72306         * modules/file-type: Likewise.
72307         * modules/glob: Likewise.
72308         * modules/isapipe: Likewise.
72309         * modules/lchown: Likewise.
72310         * modules/lstat: Likewise.
72311         * modules/mkancesdirs: Likewise.
72312         * modules/rmdir: Likewise.
72313         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
72314         * modules/modechange: Likewise.
72315         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
72316         (configure.ac): Remove gl_STAT_MACROS.
72317         * modules/sys_stat (Depends-on): Remove stat-macros.
72318
72319 2006-10-27  Bruno Haible  <bruno@clisp.org>
72320
72321         * m4/signed.m4: Remove file.
72322         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
72323         invocation.
72324         * modules/vasnprintf (Files): Remove m4/signed.m4.
72325
72326 2006-10-27  Bruno Haible  <bruno@clisp.org>
72327
72328         Update to GNU gettext 0.16.
72329         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
72330         m4/inttypes-h.m4, m4/signed.m4.
72331         * m4/gettext.m4: Update to GNU gettext 0.16.
72332         * m4/intl.m4: New file, from GNU gettext.
72333         * m4/intldir.m4: New file, from GNU gettext.
72334         * config/srclist.txt: Update
72335
72336 2006-10-27  Eric Blake  <ebb9@byu.net>
72337
72338         * MODULES.html.sh: Document tempname.
72339         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
72340         dependencies.
72341         (Files): Move lib/tempname.c...
72342         * modules/tempname: ...to this new module.
72343         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
72344         (gl_PREREQ_TEMPNAME): Move...
72345         * m4/tempname.m4: ...to this new file.
72346         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
72347         * modules/sys_stat (Depends-on): Add stat-macros.
72348         * lib/stat_.h (includes): Pick up stat macros.
72349         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
72350         if stat macros are broken.
72351         * lib/tempname.c (includes): No need to include "stat-macros.h".
72352         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
72353         (direxists, __path_search) [!_LIBC]: Don't compile these in
72354         gnulib; the tmpdir module covers that.
72355         * lib/tempname.h: New file.
72356
72357 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
72358
72359         * COPYING: Explain how gnulib-tool converts licence headers.
72360         Almost all wording by Eric Blake.
72361
72362 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
72363
72364         * lib/mbchar.h (is_basic_table): Make read-only.
72365         * lib/mbchar.c (is_basic_table): Likewise.
72366         Reported by John Darrington.
72367
72368 2006-10-25  Bruno Haible  <bruno@clisp.org>
72369
72370         * lib/progname.h (set_program_name): Undefine before defining.
72371
72372 2006-10-25  Bruno Haible  <bruno@clisp.org>
72373
72374         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
72375         false for non-gcc C++ compilers.
72376         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
72377
72378 2006-10-24  Bruno Haible  <bruno@clisp.org>
72379
72380         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
72381         iconv implementations like Irix iconv.
72382
72383 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72384
72385         * modules/vararrays: New file.
72386         * m4/vararrays.m4: New file, taken from diffutils.
72387         * MODULES.html.sh: New module vararrays.
72388
72389 2006-10-24  Karl Berry  <karl@gnu.org>
72390
72391         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
72392         Don't call GNU Unix.
72393
72394 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72395
72396         * users.txt: Add Libtool.
72397
72398         Sync from Libtool:
72399
72400         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72401
72402         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
72403         to gnulib's policy of including config.h unconditionally.
72404
72405 2006-10-24  Bruno Haible  <bruno@clisp.org>
72406
72407         * modules/wcwidth (Files): Add m4/wint_t.m4.
72408         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
72409         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
72410
72411 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72412
72413         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
72414         to pacify GCC with some -W flags enabled.  Problem reported by
72415         Bruno Haible.
72416
72417 2006-10-24  Jim Meyering  <jim@meyering.net>
72418
72419         * MODULES.html.sh: Remove uinttostr.  It's not a module.
72420         Reported by Karl Berry.
72421
72422 2006-10-23  Bruno Haible  <bruno@clisp.org>
72423
72424         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
72425
72426 2006-10-24  Bruno Haible  <bruno@clisp.org>
72427
72428         * lib/gl_list.h: Use C comment style, not C++ comment style.
72429
72430 2006-10-23  Eric Blake  <ebb9@byu.net>
72431
72432         * lib/getaddrinfo.c (includes): Add missing include.
72433
72434 2006-10-23  Bruno Haible  <bruno@clisp.org>
72435             Paul Eggert  <eggert@cs.ucla.edu>
72436
72437         Ability to rename obstack_free.
72438         * lib/obstack.h (__obstack_free): New macro. Declare instead of
72439         obstack_free.
72440         (obstack_free): Invoke the __obstack_free macro.
72441         * lib/obstack.c (obstack_free): Use __obstack_free macro.
72442
72443 2006-10-23  Bruno Haible  <bruno@clisp.org>
72444             Paul Eggert  <eggert@cs.ucla.edu>
72445
72446         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
72447         __argc, __argv from the declaration. (They are defined as macros on
72448         mingw.)
72449
72450 2006-10-22  Bruno Haible  <bruno@clisp.org>
72451
72452         * doc/gnulib-intro.texi: New file.
72453         * doc/gnulib.texi: Include it.
72454
72455 2006-10-21  Bruno Haible  <bruno@clisp.org>
72456
72457         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
72458         "Introduction", "Miscellanous Notes", "Particular Modules".
72459
72460 2006-10-21  Bruno Haible  <bruno@clisp.org>
72461
72462         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72463         Change mostlyclean-local rule to avoid sh syntax error from bash
72464         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
72465
72466 2006-10-23  Jim Meyering  <jim@meyering.net>
72467
72468         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
72469         in place of snprintf.
72470
72471         * modules/inttostr (Files): Add lib/uinttostr.c.
72472         * lib/uinttostr.c (inttostr): New file/function.
72473         * lib/inttostr.h (uinttostr): Declare.
72474         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
72475         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72476         Add uinttostr.
72477         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
72478
72479 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72480
72481         * lib/canonicalize.c (ELOOP): Define if not already defined.
72482         Problem reported by Bruno Haible in
72483         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
72484
72485 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72486
72487         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
72488         Problem reported by Perry Smith and Ville Laurikari.
72489
72490         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
72491         uses.
72492
72493 2006-10-19  Bruno Haible  <bruno@clisp.org>
72494
72495         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
72496         for mingw.
72497
72498 2006-10-19  Bruno Haible  <bruno@clisp.org>
72499
72500         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
72501         Needed for mingw.
72502
72503 2006-10-19  Bruno Haible  <bruno@clisp.org>
72504
72505         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
72506
72507 2006-10-19  Bruno Haible  <bruno@clisp.org>
72508
72509         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
72510         it.
72511
72512 2006-10-19  Bruno Haible  <bruno@clisp.org>
72513
72514         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
72515         invocation.
72516
72517 2006-10-19  Bruno Haible  <bruno@clisp.org>
72518
72519         * gnulib-tool (func_create_testdir): Don't include ftruncate and
72520         mountlist by default.
72521
72522 2006-10-16  Bruno Haible  <bruno@clisp.org>
72523
72524         * lib/c-strstr.c: Include c-strstr.h.
72525
72526 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72527
72528         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
72529         in a slash.
72530
72531 2006-10-18  Bruno Haible  <bruno@clisp.org>
72532
72533         * lib/lock.h [C++]: Wrap definitions in extern "C".
72534
72535 2006-10-18  Bruno Haible  <bruno@clisp.org>
72536
72537         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
72538         gl_LIBOBJS list.
72539
72540 2006-10-18  Bruno Haible  <bruno@clisp.org>
72541
72542         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
72543
72544 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
72545
72546         * lib/xstrtol.h: Include gettext.h.
72547         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
72548         Problem reported by Eric Blake.
72549         * modules/xstrtol (Depends-on): Add gettext-h.
72550
72551 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
72552
72553         * lib/strftime.c (advance): New macro.
72554         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
72555         incomplete type, so you can't add 0 to it.  Problem and patch
72556         reported by Eelco Dolstra for dietlibc.
72557
72558 2006-10-18  Jim Meyering  <jim@meyering.net>
72559
72560         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
72561         type for a local, and rename it: s/up/user_proc/.
72562
72563 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
72564
72565         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
72566         READ_UTMP_USER_PROCESS.
72567         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
72568
72569 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
72570
72571         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
72572         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
72573
72574 2006-10-17  Eric Blake  <ebb9@byu.net>
72575
72576         * lib/sigprocmask.c (sigprocmask): Fix typo.
72577
72578         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
72579
72580         * modules/clean-temp (Makefile.am): Don't add to make output...
72581         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
72582         config.h.
72583
72584 2006-10-17  Bruno Haible  <bruno@clisp.org>
72585
72586         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
72587         differently if DEFAULT_TEXT_DOMAIN is set.
72588
72589 2006-10-16  Bruno Haible  <bruno@clisp.org>
72590
72591         * lib/clean-temp.c: Include fwriteerror.h.
72592
72593 2006-10-16  Bruno Haible  <bruno@clisp.org>
72594
72595         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
72596
72597 2006-10-16  Bruno Haible  <bruno@clisp.org>
72598
72599         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
72600         * lib/sigprocmask.h: Include <sys/types.h>.
72601         (sigset_t): Use the system's definition if present.
72602
72603 2006-10-17  Eric Blake  <ebb9@byu.net>
72604
72605         * lib/xvasprintf.c (includes): Assume config.h.
72606         * lib/xasprintf.c (includes): Likewise.
72607
72608 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
72609
72610         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
72611         at least as wide as intmax_t.
72612
72613 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
72614
72615         (Imported from Automake.)
72616         * build-aux/gnupload: Update to version 1.1 of directive file.
72617
72618 2006-10-16  Eric Blake  <ebb9@byu.net>
72619
72620         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
72621         match Automake 1.10a.
72622
72623 2006-10-14  Bruno Haible  <bruno@clisp.org>
72624
72625         * modules/sigprocmask: New file.
72626         * lib/sigprocmask.h: New file.
72627         * lib/sigprocmask.c: New file.
72628         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
72629         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
72630         request sigprocmask.o.
72631         (gl_PREREQ_SIGPROCMASK): New macro.
72632         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
72633         (Depends-on): Add sigprocmask.
72634         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
72635         gt_SIGNALBLOCKING. Test for 'raise' only once.
72636         * lib/fatal-signal.c: Include sigprocmask.h.
72637         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
72638         unblock_fatal_signals): Define always.
72639         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72640         sigprocmask.
72641
72642 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
72643
72644         Sync from Automake.
72645         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
72646         which incorrectly sets the mode of an existing destination
72647         directory.  In some cases the unpatched install-sh could do the
72648         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
72649         system.  We hope this is rare in practice, but it's clearly worth
72650         fixing.  Problem reported by Alex Unleashed in
72651         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
72652         Also, don't bother to check for -m bugs unless we're using -m;
72653         suggested by Stepan Kasal.
72654
72655 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72656
72657         Sync from Automake.
72658         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
72659         `-c' flag, so they appear at the same position as in %FASTDEP%
72660         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
72661         which ignores unknown options only after the first non-option.
72662         Bug report against M4 by Nelson H. F. Beebe.
72663
72664 2006-10-13  Jim Meyering  <jim@meyering.net>
72665
72666         Fix a bug in yesterday's change.
72667         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
72668         p->fts_statp->st_dev would be used uninitialized.
72669         Ensures that we always call fts_stat on the very first entry.
72670         Miklos Szeredi reported that find -xdev stopped working.
72671
72672 2006-10-12  Bruno Haible  <bruno@clisp.org>
72673
72674         * gnulib-tool (func_get_automake_snippet): Append an automatically
72675         computed EXTRA_DIST augmentation.
72676         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
72677         * modules/alloca-opt (Makefile.am): Likewise.
72678         * modules/allocsa (Makefile.am): Likewise.
72679         * modules/arcfour (Makefile.am): Likewise.
72680         * modules/arctwo (Makefile.am): Likewise.
72681         * modules/argmatch (Makefile.am): Likewise.
72682         * modules/argz (Makefile.am): Likewise.
72683         * modules/atexit (Makefile.am): Likewise.
72684         * modules/backupfile (Makefile.am): Likewise.
72685         * modules/byteswap (Makefile.am): Likewise.
72686         * modules/c-strtod (Makefile.am): Likewise.
72687         * modules/c-strtold (Makefile.am): Likewise.
72688         * modules/calloc (Makefile.am): Likewise.
72689         * modules/canon-host (Makefile.am): Likewise.
72690         * modules/canonicalize (Makefile.am): Likewise.
72691         * modules/chdir-long (Makefile.am): Likewise.
72692         * modules/chdir-safer (Makefile.am): Likewise.
72693         * modules/check-version (Makefile.am): Likewise.
72694         * modules/chown (Makefile.am): Likewise.
72695         * modules/cloexec (Makefile.am): Likewise.
72696         * modules/close-stream (Makefile.am): Likewise.
72697         * modules/closeout (Makefile.am): Likewise.
72698         * modules/crc (Makefile.am): Likewise.
72699         * modules/csharpexec (Makefile.am): Likewise.
72700         * modules/cycle-check (Makefile.am): Likewise.
72701         * modules/des (Makefile.am): Likewise.
72702         * modules/dev-ino (Makefile.am): Likewise.
72703         * modules/dirfd (Makefile.am): Likewise.
72704         * modules/dirname (Makefile.am): Likewise.
72705         * modules/dup2 (Makefile.am): Likewise.
72706         * modules/eealloc (Makefile.am): Likewise.
72707         * modules/error (Makefile.am): Likewise.
72708         * modules/euidaccess (Makefile.am): Likewise.
72709         * modules/exclude (Makefile.am): Likewise.
72710         * modules/exitfail (Makefile.am): Likewise.
72711         * modules/fcntl-safer (Makefile.am): Likewise.
72712         * modules/fcntl (Makefile.am): Likewise.
72713         * modules/file-type (Makefile.am): Likewise.
72714         * modules/fileblocks (Makefile.am): Likewise.
72715         * modules/filemode (Makefile.am): Likewise.
72716         * modules/filenamecat (Makefile.am): Likewise.
72717         * modules/fnmatch (Makefile.am): Likewise.
72718         * modules/fopen-safer (Makefile.am): Likewise.
72719         * modules/fpending (Makefile.am): Likewise.
72720         * modules/fprintftime (Makefile.am): Likewise.
72721         * modules/free (Makefile.am): Likewise.
72722         * modules/fsusage (Makefile.am): Likewise.
72723         * modules/ftruncate (Makefile.am): Likewise.
72724         * modules/fts (Makefile.am): Likewise.
72725         * modules/gc-arcfour (Makefile.am): Likewise.
72726         * modules/gc-des (Makefile.am): Likewise.
72727         * modules/gc-hmac-md5 (Makefile.am): Likewise.
72728         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
72729         * modules/gc-md4 (Makefile.am): Likewise.
72730         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72731         * modules/gc-sha1 (Makefile.am): Likewise.
72732         * modules/gc (Makefile.am): Likewise.
72733         * modules/getaddrinfo (Makefile.am): Likewise.
72734         * modules/getcwd (Makefile.am): Likewise.
72735         * modules/getdelim (Makefile.am): Likewise.
72736         * modules/getdomainname (Makefile.am): Likewise.
72737         * modules/getgroups (Makefile.am): Likewise.
72738         * modules/gethostname (Makefile.am): Likewise.
72739         * modules/gethrxtime (Makefile.am): Likewise.
72740         * modules/getline (Makefile.am): Likewise.
72741         * modules/getloadavg (Makefile.am): Likewise.
72742         * modules/getlogin_r (Makefile.am): Likewise.
72743         * modules/getndelim2 (Makefile.am): Likewise.
72744         * modules/getopt (Makefile.am): Likewise.
72745         * modules/getpagesize (Makefile.am): Likewise.
72746         * modules/getpass-gnu (Makefile.am): Likewise.
72747         * modules/getpass (Makefile.am): Likewise.
72748         * modules/getsubopt (Makefile.am): Likewise.
72749         * modules/gettime (Makefile.am): Likewise.
72750         * modules/gettimeofday (Makefile.am): Likewise.
72751         * modules/getugroups (Makefile.am): Likewise.
72752         * modules/getusershell (Makefile.am): Likewise.
72753         * modules/glob (Makefile.am): Likewise.
72754         * modules/group-member (Makefile.am): Likewise.
72755         * modules/hard-locale (Makefile.am): Likewise.
72756         * modules/hash (Makefile.am): Likewise.
72757         * modules/hmac-md5 (Makefile.am): Likewise.
72758         * modules/hmac-sha1 (Makefile.am): Likewise.
72759         * modules/human (Makefile.am): Likewise.
72760         * modules/idcache (Makefile.am): Likewise.
72761         * modules/imaxabs (Makefile.am): Likewise.
72762         * modules/imaxdiv (Makefile.am): Likewise.
72763         * modules/inet_ntop (Makefile.am): Likewise.
72764         * modules/inet_pton (Makefile.am): Likewise.
72765         * modules/intprops (Makefile.am): Likewise.
72766         * modules/inttostr (Makefile.am): Likewise.
72767         * modules/inttypes (Makefile.am): Likewise.
72768         * modules/isapipe (Makefile.am): Likewise.
72769         * modules/javaversion (Makefile.am): Likewise.
72770         * modules/lchmod (Makefile.am): Likewise.
72771         * modules/lchown (Makefile.am): Likewise.
72772         * modules/localcharset (Makefile.am): Likewise.
72773         * modules/long-options (Makefile.am): Likewise.
72774         * modules/lstat (Makefile.am): Likewise.
72775         * modules/malloc (Makefile.am): Likewise.
72776         * modules/mathl (Makefile.am): Likewise.
72777         * modules/mbchar (Makefile.am): Likewise.
72778         * modules/md2 (Makefile.am): Likewise.
72779         * modules/md4 (Makefile.am): Likewise.
72780         * modules/md5 (Makefile.am): Likewise.
72781         * modules/memcasecmp (Makefile.am): Likewise.
72782         * modules/memchr (Makefile.am): Likewise.
72783         * modules/memcmp (Makefile.am): Likewise.
72784         * modules/memcoll (Makefile.am): Likewise.
72785         * modules/memcpy (Makefile.am): Likewise.
72786         * modules/memmem (Makefile.am): Likewise.
72787         * modules/memmove (Makefile.am): Likewise.
72788         * modules/mempcpy (Makefile.am): Likewise.
72789         * modules/memrchr (Makefile.am): Likewise.
72790         * modules/memset (Makefile.am): Likewise.
72791         * modules/memxor (Makefile.am): Likewise.
72792         * modules/mkancesdirs (Makefile.am): Likewise.
72793         * modules/mkdir-p (Makefile.am): Likewise.
72794         * modules/mkdir (Makefile.am): Likewise.
72795         * modules/mkdtemp (Makefile.am): Likewise.
72796         * modules/mkstemp (Makefile.am): Likewise.
72797         * modules/mktime (Makefile.am): Likewise.
72798         * modules/modechange (Makefile.am): Likewise.
72799         * modules/mountlist (Makefile.am): Likewise.
72800         * modules/nanosleep (Makefile.am): Likewise.
72801         * modules/obstack (Makefile.am): Likewise.
72802         * modules/openat (Makefile.am): Likewise.
72803         * modules/pagealign_alloc (Makefile.am): Likewise.
72804         * modules/pathmax (Makefile.am): Likewise.
72805         * modules/physmem (Makefile.am): Likewise.
72806         * modules/poll (Makefile.am): Likewise.
72807         * modules/posixtm (Makefile.am): Likewise.
72808         * modules/posixver (Makefile.am): Likewise.
72809         * modules/putenv (Makefile.am): Likewise.
72810         * modules/quote (Makefile.am): Likewise.
72811         * modules/quotearg (Makefile.am): Likewise.
72812         * modules/raise (Makefile.am): Likewise.
72813         * modules/read-file (Makefile.am): Likewise.
72814         * modules/readline (Makefile.am): Likewise.
72815         * modules/readlink (Makefile.am): Likewise.
72816         * modules/readtokens (Makefile.am): Likewise.
72817         * modules/readutmp (Makefile.am): Likewise.
72818         * modules/realloc (Makefile.am): Likewise.
72819         * modules/regex (Makefile.am): Likewise.
72820         * modules/rename-dest-slash (Makefile.am): Likewise.
72821         * modules/rename (Makefile.am): Likewise.
72822         * modules/rijndael (Makefile.am): Likewise.
72823         * modules/rmdir (Makefile.am): Likewise.
72824         * modules/rpmatch (Makefile.am): Likewise.
72825         * modules/safe-read (Makefile.am): Likewise.
72826         * modules/safe-write (Makefile.am): Likewise.
72827         * modules/same-inode (Makefile.am): Likewise.
72828         * modules/same (Makefile.am): Likewise.
72829         * modules/save-cwd (Makefile.am): Likewise.
72830         * modules/savedir (Makefile.am): Likewise.
72831         * modules/setenv (Makefile.am): Likewise.
72832         * modules/settime (Makefile.am): Likewise.
72833         * modules/sha1 (Makefile.am): Likewise.
72834         * modules/sig2str (Makefile.am): Likewise.
72835         * modules/snprintf (Makefile.am): Likewise.
72836         * modules/stat-macros (Makefile.am): Likewise.
72837         * modules/stat-time (Makefile.am): Likewise.
72838         * modules/stdbool (Makefile.am): Likewise.
72839         * modules/stdint (Makefile.am): Likewise.
72840         * modules/stdlib-safer (Makefile.am): Likewise.
72841         * modules/stpcpy (Makefile.am): Likewise.
72842         * modules/stpncpy (Makefile.am): Likewise.
72843         * modules/strcase (Makefile.am): Likewise.
72844         * modules/strcasestr (Makefile.am): Likewise.
72845         * modules/strchrnul (Makefile.am): Likewise.
72846         * modules/strcspn (Makefile.am): Likewise.
72847         * modules/strdup (Makefile.am): Likewise.
72848         * modules/strerror (Makefile.am): Likewise.
72849         * modules/strftime (Makefile.am): Likewise.
72850         * modules/strndup (Makefile.am): Likewise.
72851         * modules/strnlen (Makefile.am): Likewise.
72852         * modules/strpbrk (Makefile.am): Likewise.
72853         * modules/strsep (Makefile.am): Likewise.
72854         * modules/strstr (Makefile.am): Likewise.
72855         * modules/strtod (Makefile.am): Likewise.
72856         * modules/strtoimax (Makefile.am): Likewise.
72857         * modules/strtok_r (Makefile.am): Likewise.
72858         * modules/strtol (Makefile.am): Likewise.
72859         * modules/strtoll (Makefile.am): Likewise.
72860         * modules/strtoul (Makefile.am): Likewise.
72861         * modules/strtoull (Makefile.am): Likewise.
72862         * modules/strtoumax (Makefile.am): Likewise.
72863         * modules/strverscmp (Makefile.am): Likewise.
72864         * modules/sys_socket (Makefile.am): Likewise.
72865         * modules/sys_stat (Makefile.am): Likewise.
72866         * modules/sysexits (Makefile.am): Likewise.
72867         * modules/time_r (Makefile.am): Likewise.
72868         * modules/timegm (Makefile.am): Likewise.
72869         * modules/timespec (Makefile.am): Likewise.
72870         * modules/tmpfile-safer (Makefile.am): Likewise.
72871         * modules/trim (Makefile.am): Likewise.
72872         * modules/unistd-safer (Makefile.am): Likewise.
72873         * modules/unlinkdir (Makefile.am): Likewise.
72874         * modules/unlocked-io (Makefile.am): Likewise.
72875         * modules/userspec (Makefile.am): Likewise.
72876         * modules/utime (Makefile.am): Likewise.
72877         * modules/utimecmp (Makefile.am): Likewise.
72878         * modules/utimens (Makefile.am): Likewise.
72879         * modules/vasnprintf (Makefile.am): Likewise.
72880         * modules/vasprintf (Makefile.am): Likewise.
72881         * modules/vsnprintf (Makefile.am): Likewise.
72882         * modules/xalloc (Makefile.am): Likewise.
72883         * modules/xgetcwd (Makefile.am): Likewise.
72884         * modules/xnanosleep (Makefile.am): Likewise.
72885         * modules/xreadlink (Makefile.am): Likewise.
72886         * modules/xstrtod (Makefile.am): Likewise.
72887         * modules/xstrtol (Makefile.am): Likewise.
72888         * modules/xstrtold (Makefile.am): Likewise.
72889         * modules/yesno (Makefile.am): Likewise.
72890         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
72891
72892 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
72893
72894         * modules/error (Makefile.am): Distribute files through
72895         EXTRA_DIST, not lib_SOURCES.
72896
72897 2006-10-12  Eric Blake  <ebb9@byu.net>
72898
72899         * modules/error (Makefile.am): Distribute files in /lib.
72900         * modules/obstack (Makefile.am): Likewise.
72901
72902 2006-10-12  Bruno Haible  <bruno@clisp.org>
72903
72904         * modules/acl (Makefile.am): Distribute all files in lib/ through
72905         EXTRA_DIST.
72906         * modules/arcfour (Makefile.am): Likewise.
72907         * modules/arctwo (Makefile.am): Likewise.
72908         * modules/argmatch (Makefile.am): Likewise.
72909         * modules/argz (Makefile.am): Likewise.
72910         * modules/atexit (Makefile.am): Likewise.
72911         * modules/backupfile (Makefile.am): Likewise.
72912         * modules/c-strtod (Makefile.am): Likewise.
72913         * modules/c-strtold (Makefile.am): Likewise.
72914         * modules/calloc (Makefile.am): Likewise.
72915         * modules/canon-host (Makefile.am): Likewise.
72916         * modules/canonicalize (Makefile.am): Likewise.
72917         * modules/chdir-long (Makefile.am): Likewise.
72918         * modules/chdir-safer (Makefile.am): Likewise.
72919         * modules/check-version (Makefile.am): Likewise.
72920         * modules/chown (Makefile.am): Likewise.
72921         * modules/cloexec (Makefile.am): Likewise.
72922         * modules/close-stream (Makefile.am): Likewise.
72923         * modules/closeout (Makefile.am): Likewise.
72924         * modules/crc (Makefile.am): Likewise.
72925         * modules/cycle-check (Makefile.am): Likewise.
72926         * modules/des (Makefile.am): Likewise.
72927         * modules/dirfd (Makefile.am): Likewise.
72928         * modules/dirname (Makefile.am): Likewise.
72929         * modules/dup2 (Makefile.am): Likewise.
72930         * modules/euidaccess (Makefile.am): Likewise.
72931         * modules/exclude (Makefile.am): Likewise.
72932         * modules/exitfail (Makefile.am): Likewise.
72933         * modules/fcntl-safer (Makefile.am): Likewise.
72934         * modules/file-type (Makefile.am): Likewise.
72935         * modules/fileblocks (Makefile.am): Likewise.
72936         * modules/filemode (Makefile.am): Likewise.
72937         * modules/filenamecat (Makefile.am): Likewise.
72938         * modules/fnmatch (Makefile.am): Likewise.
72939         * modules/fopen-safer (Makefile.am): Likewise.
72940         * modules/fpending (Makefile.am): Likewise.
72941         * modules/fprintftime (Makefile.am): Likewise.
72942         * modules/free (Makefile.am): Likewise.
72943         * modules/fsusage (Makefile.am): Likewise.
72944         * modules/ftruncate (Makefile.am): Likewise.
72945         * modules/fts (Makefile.am): Likewise.
72946         * modules/gc (Makefile.am): Likewise.
72947         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72948         * modules/getaddrinfo (Makefile.am): Likewise.
72949         * modules/getcwd (Makefile.am): Likewise.
72950         * modules/getdelim (Makefile.am): Likewise.
72951         * modules/getdomainname (Makefile.am): Likewise.
72952         * modules/getgroups (Makefile.am): Likewise.
72953         * modules/gethostname (Makefile.am): Likewise.
72954         * modules/gethrxtime (Makefile.am): Likewise.
72955         * modules/getline (Makefile.am): Likewise.
72956         * modules/getloadavg (Makefile.am): Likewise.
72957         * modules/getlogin_r (Makefile.am): Likewise.
72958         * modules/getopt (Makefile.am): Likewise.
72959         * modules/getpass (Makefile.am): Likewise.
72960         * modules/getpass-gnu (Makefile.am): Likewise.
72961         * modules/getsubopt (Makefile.am): Likewise.
72962         * modules/gettime (Makefile.am): Likewise.
72963         * modules/gettimeofday (Makefile.am): Likewise.
72964         * modules/getugroups (Makefile.am): Likewise.
72965         * modules/getusershell (Makefile.am): Likewise.
72966         * modules/glob (Makefile.am): Likewise.
72967         * modules/group-member (Makefile.am): Likewise.
72968         * modules/hard-locale (Makefile.am): Likewise.
72969         * modules/hash (Makefile.am): Likewise.
72970         * modules/hmac-md5 (Makefile.am): Likewise.
72971         * modules/hmac-sha1 (Makefile.am): Likewise.
72972         * modules/human (Makefile.am): Likewise.
72973         * modules/idcache (Makefile.am): Likewise.
72974         * modules/imaxabs (Makefile.am): Likewise.
72975         * modules/imaxdiv (Makefile.am): Likewise.
72976         * modules/inet_ntop (Makefile.am): Likewise.
72977         * modules/inet_pton (Makefile.am): Likewise.
72978         * modules/inttostr (Makefile.am): Likewise.
72979         * modules/isapipe (Makefile.am): Likewise.
72980         * modules/lchown (Makefile.am): Likewise.
72981         * modules/long-options (Makefile.am): Likewise.
72982         * modules/lstat (Makefile.am): Likewise.
72983         * modules/malloc (Makefile.am): Likewise.
72984         * modules/mathl (Makefile.am): Likewise.
72985         * modules/mbchar (Makefile.am): Likewise.
72986         * modules/md2 (Makefile.am): Likewise.
72987         * modules/md4 (Makefile.am): Likewise.
72988         * modules/md5 (Makefile.am): Likewise.
72989         * modules/memcasecmp (Makefile.am): Likewise.
72990         * modules/memchr (Makefile.am): Likewise.
72991         * modules/memcmp (Makefile.am): Likewise.
72992         * modules/memcoll (Makefile.am): Likewise.
72993         * modules/memcpy (Makefile.am): Likewise.
72994         * modules/memmem (Makefile.am): Likewise.
72995         * modules/memmove (Makefile.am): Likewise.
72996         * modules/mempcpy (Makefile.am): Likewise.
72997         * modules/memrchr (Makefile.am): Likewise.
72998         * modules/memset (Makefile.am): Likewise.
72999         * modules/memxor (Makefile.am): Likewise.
73000         * modules/mkancesdirs (Makefile.am): Likewise.
73001         * modules/mkdir (Makefile.am): Likewise.
73002         * modules/mkdir-p (Makefile.am): Likewise.
73003         * modules/mkdtemp (Makefile.am): Likewise.
73004         * modules/mkstemp (Makefile.am): Likewise.
73005         * modules/mktime (Makefile.am): Likewise.
73006         * modules/modechange (Makefile.am): Likewise.
73007         * modules/mountlist (Makefile.am): Likewise.
73008         * modules/nanosleep (Makefile.am): Likewise.
73009         * modules/openat (Makefile.am): Likewise.
73010         * modules/pagealign_alloc (Makefile.am): Likewise.
73011         * modules/physmem (Makefile.am): Likewise.
73012         * modules/poll (Makefile.am): Likewise.
73013         * modules/posixtm (Makefile.am): Likewise.
73014         * modules/posixver (Makefile.am): Likewise.
73015         * modules/putenv (Makefile.am): Likewise.
73016         * modules/quote (Makefile.am): Likewise.
73017         * modules/quotearg (Makefile.am): Likewise.
73018         * modules/raise (Makefile.am): Likewise.
73019         * modules/read-file (Makefile.am): Likewise.
73020         * modules/readline (Makefile.am): Likewise.
73021         * modules/readlink (Makefile.am): Likewise.
73022         * modules/readtokens (Makefile.am): Likewise.
73023         * modules/readutmp (Makefile.am): Likewise.
73024         * modules/realloc (Makefile.am): Likewise.
73025         * modules/regex (Makefile.am): Likewise.
73026         * modules/rename (Makefile.am): Likewise.
73027         * modules/rename-dest-slash (Makefile.am): Likewise.
73028         * modules/rijndael (Makefile.am): Likewise.
73029         * modules/rmdir (Makefile.am): Likewise.
73030         * modules/rpmatch (Makefile.am): Likewise.
73031         * modules/safe-read (Makefile.am): Likewise.
73032         * modules/safe-write (Makefile.am): Likewise.
73033         * modules/same (Makefile.am): Likewise.
73034         * modules/save-cwd (Makefile.am): Likewise.
73035         * modules/savedir (Makefile.am): Likewise.
73036         * modules/setenv (Makefile.am): Likewise.
73037         * modules/settime (Makefile.am): Likewise.
73038         * modules/sha1 (Makefile.am): Likewise.
73039         * modules/sig2str (Makefile.am): Likewise.
73040         * modules/snprintf (Makefile.am): Likewise.
73041         * modules/stdlib-safer (Makefile.am): Likewise.
73042         * modules/stpcpy (Makefile.am): Likewise.
73043         * modules/stpncpy (Makefile.am): Likewise.
73044         * modules/strcase (Makefile.am): Likewise.
73045         * modules/strcasestr (Makefile.am): Likewise.
73046         * modules/strchrnul (Makefile.am): Likewise.
73047         * modules/strcspn (Makefile.am): Likewise.
73048         * modules/strdup (Makefile.am): Likewise.
73049         * modules/strerror (Makefile.am): Likewise.
73050         * modules/strftime (Makefile.am): Likewise.
73051         * modules/strndup (Makefile.am): Likewise.
73052         * modules/strnlen (Makefile.am): Likewise.
73053         * modules/strpbrk (Makefile.am): Likewise.
73054         * modules/strsep (Makefile.am): Likewise.
73055         * modules/strstr (Makefile.am): Likewise.
73056         * modules/strtod (Makefile.am): Likewise.
73057         * modules/strtoimax (Makefile.am): Likewise.
73058         * modules/strtok_r (Makefile.am): Likewise.
73059         * modules/strtol (Makefile.am): Likewise.
73060         * modules/strtoll (Makefile.am): Likewise.
73061         * modules/strtoul (Makefile.am): Likewise.
73062         * modules/strtoull (Makefile.am): Likewise.
73063         * modules/strtoumax (Makefile.am): Likewise.
73064         * modules/strverscmp (Makefile.am): Likewise.
73065         * modules/time_r (Makefile.am): Likewise.
73066         * modules/timegm (Makefile.am): Likewise.
73067         * modules/tmpfile-safer (Makefile.am): Likewise.
73068         * modules/unistd-safer (Makefile.am): Likewise.
73069         * modules/unlinkdir (Makefile.am): Likewise.
73070         * modules/userspec (Makefile.am): Likewise.
73071         * modules/utime (Makefile.am): Likewise.
73072         * modules/utimecmp (Makefile.am): Likewise.
73073         * modules/utimens (Makefile.am): Likewise.
73074         * modules/vasnprintf (Makefile.am): Likewise.
73075         * modules/vasprintf (Makefile.am): Likewise.
73076         * modules/vsnprintf (Makefile.am): Likewise.
73077         * modules/xalloc (Makefile.am): Likewise.
73078         * modules/xgetcwd (Makefile.am): Likewise.
73079         * modules/xnanosleep (Makefile.am): Likewise.
73080         * modules/xreadlink (Makefile.am): Likewise.
73081         * modules/xstrtod (Makefile.am): Likewise.
73082         * modules/xstrtol (Makefile.am): Likewise.
73083         * modules/xstrtold (Makefile.am): Likewise.
73084         * modules/yesno (Makefile.am): Likewise.
73085
73086 2006-10-12  Jim Meyering  <jim@meyering.net>
73087
73088         * m4/getloadavg.m4: Revert the change below.
73089
73090         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
73091         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
73092         fail with a symlink, which is what coreutils' ./bootstrap now
73093         creates by default.
73094
73095 2006-10-12  Bruno Haible  <bruno@clisp.org>
73096
73097         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
73098         mingw.
73099         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
73100         MSVC and mingw explicitly.
73101
73102 2006-10-11  Simon Josefsson  <jas@extundo.com>
73103             Bruno Haible  <bruno@clisp.org>
73104
73105         Add support for multiple gnulib-tool invocations in the scope of a
73106         single configure.ac file.
73107         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
73108         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
73109         with the same contents as the _LIBADD variable.
73110         (func_emit_initmacro_start, func_emit_initmacro_end,
73111         func_emit_initmacro_done): New functions.
73112         (func_import, func_create_testdir): Invoke them. Allow the identifiers
73113         gl_LIBOBJS and gl_LTLIBOBJS.
73114
73115 2006-10-11  Bruno Haible  <bruno@clisp.org>
73116
73117         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
73118         (func_create_testdir): Don't create po/Makefile.am, don't invoke
73119         autoreconf. Instead, invoke autopoint explicitly but move back the
73120         *.m4 files from gnulib.
73121
73122 2006-10-11  Bruno Haible  <bruno@clisp.org>
73123
73124         * gnulib-tool (func_usage): Make module names after --create-testdir
73125         optional.
73126         (func_create_testdir): If no module was specified, use nearly all
73127         modules.
73128
73129 2006-10-12  Jim Meyering  <jim@meyering.net>
73130
73131         Big performance improvement for fts-based tools that use FTS_NOSTAT.
73132         Avoid spurious inode-mismatch problems on non-POSIX file systems.
73133         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
73134         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
73135         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
73136         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
73137         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
73138         (fts_set_stat_required): New function.
73139         (fts_open): Defer the calls to fts_stat, if possible or requested.
73140         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
73141         into fts_stat itself.
73142         (fts_read): Perform any required (deferred) fts_stat call.
73143         (fts_build): Likewise, for the directory we're about to open and read.
73144         In the readdir loop, carefully decide whether each entry will require
73145         an eventual call to fts_stat, using dirent.d_type info if available.
73146         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
73147         a command line argument into this function.  Update all callers.
73148         Map a return value of FTS_DOT to FTS_D for a command line argument.
73149         * modules/fts (Depends-on): Add d-type.  Alphabetize.
73150         Thanks to Miklos Szeredi for his tenacity and for the initial
73151         bug report about "find" failing on a FUSE-based file system.
73152
73153         * lib/fts.c (fts_open): Use consistent indentation.
73154
73155 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73156
73157         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
73158         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
73159         reported by Jim Meyering.  All uses of cache variables renamed
73160         to match Autoconf's.
73161         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
73162         the other one.
73163
73164         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
73165         Fix misspelling in diagnostic.
73166
73167 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73168
73169         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
73170         defined.  Problem reported by Matthew Woehlke.
73171
73172         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
73173         Add support for Tandem NonStop R series.
73174         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
73175         Use new macro.
73176
73177         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
73178         (has_trailing_slash): Omit size arg; all callers changed.
73179         Omit 'inline', since it doesn't help performance and we'd
73180         need to configure it.
73181         Don't count //, ///, etc. as having a trailing slash.
73182         As a side effect, this removes a C99ism reported by Matthew Woehlke.
73183         (rpl_rename_dest_slash): On failure, use rename's errno rather
73184         than (in some cases) an incorrect or junk errno.
73185         Simplify code by removing need to compute length; this does
73186         cause it to make two passes instead of one over the file name,
73187         but it's worth it.
73188
73189         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
73190         change, since Autoconf's version may no longer be appropriate now
73191         that we are using CVS Autoconf's version.  Add support for Tandem.
73192
73193 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73194             Bruno Haible  <bruno@clisp.org>
73195
73196         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
73197         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
73198         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
73199         gl_AC_TYPE_LONG_LONG.
73200
73201         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
73202         instead of HAVE_LONG_LONG.
73203         * lib/printf-args.c (printf_fetchargs): Likewise.
73204         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
73205         * lib/vasnprintf.c (VASNPRINTF): Likewise.
73206         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
73207         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
73208         gl_AC_TYPE_LONG_LONG.
73209
73210 2006-10-11  Bruno Haible  <bruno@clisp.org>
73211
73212         * m4/longlong.m4: Add comments.
73213         * m4/ulonglong.m4: Likewise.
73214
73215 2006-10-10  Bruno Haible  <bruno@clisp.org>
73216
73217         Make it possible to #define stpcpy, strdup to aliases.
73218         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
73219         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
73220
73221 2006-10-10  Bruno Haible  <bruno@clisp.org>
73222
73223         Make it possible to #define gcd to an alias.
73224         * lib/gcd.c: Include config.h.
73225
73226 2006-10-10  Bruno Haible  <bruno@clisp.org>
73227
73228         Make it possible to #define c_isascii to an alias.
73229         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
73230         defined. Undefine the macros before defining them, to avoid gcc
73231         warnings.
73232         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
73233         define NO_C_CTYPE_MACROS early.
73234
73235 2006-10-10  Bruno Haible  <bruno@clisp.org>
73236
73237         Make it possible to #define set_program_name to an alias.
73238         * lib/progname.c: Don't undefine set_program_name; instead, undefine
73239         ENABLE_RELOCATABLE early.
73240
73241 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73242
73243         Port to Tandem NSK OSS, which has 64-bit signed int but at most
73244         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
73245         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
73246         More generally, don't assume that 64-bit signed int is available
73247         if unsigned int is, and vice versa.
73248         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
73249         unsigned symbols, not on their signed counterparts.
73250         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
73251         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
73252         (UINT64_C, UINTMAX_C):
73253         Likewise.
73254         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
73255         unsigned counterparts.
73256         (Have_long_long, Unsigned): New macros.
73257         (Int): Renamed from INT.
73258         (strtoimax): Use the new macros.
73259         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
73260         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
73261         * modules/inttypes (inttypes.h): Substitute
73262         HAVE_UNSIGNED_LONG_LONG_INT.
73263         * modules/stdint (stdint.h): Likewise.
73264         (Files): Add m4/ulonglong.m4.
73265
73266 2006-10-10  Bruno Haible  <bruno@clisp.org>
73267
73268         Fix a gcc -Wshadow warning.
73269         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
73270         to 'bucket'.
73271         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
73272         gl_linked_indexof_from_to): Likewise.
73273         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
73274         Likewise.
73275         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
73276         Likewise.
73277         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
73278         Reported by Eric Blake.
73279
73280 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
73281
73282         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
73283         for NetBSD.  Problem reported by Bruno Haible.
73284
73285 2006-10-09  Jim Meyering  <jim@meyering.net>
73286
73287         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
73288         Patch from Bruno Haible.
73289
73290 2006-10-09  Jim Meyering  <jim@meyering.net>
73291
73292         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
73293         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
73294         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
73295
73296 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
73297
73298         Don't include <config.h> twice; this doesn't work in some cases,
73299         e.g., when config.h has "#define intmax_t long long int" and
73300         we include <config.h>, <inttypes.h>, <config.h> in that order.
73301         Problem reported by Matthew Woehlke in:
73302         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
73303         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
73304         * lib/fts-cycle.c: Don't include config.h.
73305         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
73306         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
73307         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
73308         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
73309         inttypes.h.
73310         * lib/xstrtoumax.c: Likewise.
73311         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
73312         __strtol and the like, so that this module is more like its siblings.
73313         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
73314         Remove; no longer needed now that we assume gnulib inttypes.h.
73315
73316 2006-10-08  Bruno Haible  <bruno@clisp.org>
73317
73318         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
73319         option.
73320
73321 2006-10-07  Jim Meyering  <jim@meyering.net>
73322
73323         * modules/inttypes (inttypes.h): Revert what seems to have been
73324         an inadvertent part of today's change: use "|", not "/" in the
73325         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
73326
73327 2006-10-07  Bruno Haible  <bruno@clisp.org>
73328
73329         * modules/sublist: New file.
73330
73331 2006-10-07  Bruno Haible  <bruno@clisp.org>
73332
73333         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
73334         * modules/argz (argz.h): Likewise.
73335         * modules/arpa_inet (arpa/inet.h): Likewise.
73336         * modules/byteswap (byteswap.h): Likewise.
73337         * modules/configmake (configmake.h): Likewise.
73338         * modules/fcntl (fcntl.h): Likewise.
73339         * modules/fnmatch (fnmatch.h): Likewise.
73340         * modules/getopt (getopt.h): Likewise.
73341         * modules/glob (glob.h): Likewise.
73342         * modules/inttypes (inttypes.h): Likewise.
73343         * modules/netinet_in (netinet/in.h): Likewise.
73344         * modules/poll (poll.h): Likewise.
73345         * modules/stdbool (stdbool.h): Likewise.
73346         * modules/stdint (stdint.h): Likewise.
73347         * modules/sys_select (sys/select.h): Likewise.
73348         * modules/sys_socket (sys/socket.h): Likewise.
73349         * modules/sys_stat (sys/stat.h): Likewise.
73350         * modules/sysexits (sysexits.h): Likewise.
73351         * modules/unistd (unistd.h): Likewise.
73352         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73353         Add a "DO NOT EDIT" comment to the generated file.
73354         (func_import): Likewise for gnulib-comp.m4.
73355
73356 2006-10-07  Bruno Haible  <bruno@clisp.org>
73357
73358         * lib/gl_sublist.h: New file.
73359         * lib/gl_sublist.c: New file.
73360
73361 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73362
73363         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
73364         name (relative to the original working directory) and the file
73365         name component (relative to the temporary working directory).  All
73366         callers changed.
73367         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
73368         * lib/mkdir-p.c (make_dir_parents): Likewise.
73369         * lib/mkdir-p.h (make_dir_parents): Likewise.
73370
73371 2006-10-06  Eric Blake  <ebb9@byu.net>
73372
73373         Define several macros for use by the clean-temp module.
73374         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
73375         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
73376         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
73377
73378         * lib/clean-temp.h (close_stream_temp): New declaration.
73379         * lib/clean-temp.c (includes): Pull in headers according to what
73380         other modules are in use.
73381         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
73382
73383 2006-10-06  Bruno Haible  <bruno@clisp.org>
73384
73385         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
73386         instead of fopen, fwriteerror.
73387
73388 2006-10-06  Bruno Haible  <bruno@clisp.org>
73389
73390         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
73391         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
73392         int.
73393         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
73394         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
73395         Return an error indicator.
73396         Suggested by Eric Blake.
73397
73398 2006-10-06  Bruno Haible  <bruno@clisp.org>
73399
73400         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
73401         Reported by Eric Blake.
73402
73403 2006-10-06  Bruno Haible  <bruno@clisp.org>
73404
73405         * modules/closeout (Description): Mention stderr too.
73406
73407 2006-10-06  Bruno Haible  <bruno@clisp.org>
73408         and Paul Eggert  <eggert@cs.ucla.edu>
73409
73410         * lib/closeout.c (close_stdout): Also close stderr.
73411         * lib/closeout.h: Update comment.
73412
73413 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73414
73415         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
73416         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
73417         * lib/dirchownmod.c: Include lchown.h.
73418         * lib/lchown.c: Don't include files that lchown.h now includes.
73419         Don't declare chown, since lchown.h now does that.
73420         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
73421         (lchown): Define to rpl_chown if lchown is declared but
73422         does not exist.  Declare using a prototype if lchown is not
73423         declared.  Add a copyright notice.
73424         * lib/mkstemp.h: Include <unistd.h>.
73425         * lib/openat.c: Include lchown.h.
73426
73427         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
73428         we now test for that separately.
73429         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
73430         rather than O_NOFOLLOW, when testing whether it's possible to
73431         avoid a race condition reliably.
73432         * lib/savewd.c (savewd_chdir): Likewise.
73433
73434         Remove macros that are no longer needed now that stdint.h is
73435         reliable.
73436         * lib/fsusage.c (UINTMAX_MAX): Remove.
73437         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
73438         * lib/utimecmp.c (SIZE_MAX): Remove.
73439
73440         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
73441
73442         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
73443         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
73444         O_NOATIME works.
73445
73446 2006-10-05  Bruno Haible  <bruno@clisp.org>
73447
73448         * lib/gl_list.h (gl_sortedlist_search_from_to,
73449         gl_sortedlist_indexof_from_to): New declarations.
73450         (gl_list_implementation): New fields sortedlist_search_from_to,
73451         sortedlist_indexof_from_to.
73452         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
73453         inline functions.
73454         * lib/gl_list.c (gl_sortedlist_search_from_to,
73455         gl_sortedlist_indexof_from_to): New functions.
73456         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
73457         function.
73458         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
73459         (gl_array_sortedlist_search_from_to): New function.
73460         (gl_array_list_implementation): Update.
73461         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
73462         function.
73463         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
73464         (gl_carray_sortedlist_search_from_to): New function.
73465         (gl_carray_list_implementation): Update.
73466         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
73467         gl_linked_sortedlist_indexof_from_to): New functions.
73468         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
73469         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
73470         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
73471         gl_tree_sortedlist_indexof_from_to): New functions.
73472         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
73473         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
73474         Update.
73475         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
73476         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
73477         Update.
73478
73479 2006-10-05  Bruno Haible  <bruno@clisp.org>
73480
73481         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
73482         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
73483         (struct gl_list_implementation): Add fields search_from_to,
73484         indexof_from_to. Remove fields search, indexof.
73485         (gl_list_search): Use the search_from_to method.
73486         (gl_list_search_from, gl_list_search_from_to): New functions.
73487         (gl_list_indexof): Use the indexof_from_to method.
73488         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73489         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
73490         (gl_list_search_from, gl_list_search_from_to): New functions.
73491         (gl_list_indexof): Use the indexof_from_to method.
73492         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73493         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
73494         gl_array_indexof. Add start_index, end_index arguments.
73495         (gl_array_search_from_to): Renamed from gl_array_search. Add
73496         start_index, end_index arguments.
73497         (gl_array_remove, gl_array_list_implementation): Update.
73498         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
73499         gl_carray_indexof. Add start_index, end_index arguments.
73500         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
73501         start_index, end_index arguments.
73502         (gl_carray_remove, gl_carray_list_implementation): Update.
73503         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
73504         gl_linked_search. Add start_index, end_index arguments.
73505         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
73506         start_index, end_index arguments.
73507         (gl_linked_remove): Update.
73508         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
73509         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
73510         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
73511         field to 'size_t'.
73512         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
73513         gl_tree_search. Add start_index, end_index arguments.
73514         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
73515         start_index, end_index arguments.
73516         (gl_tree_remove): Update.
73517         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
73518         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
73519         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
73520         function.
73521         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
73522         gl_tree_search. Add start_index, end_index arguments.
73523         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
73524         start_index, end_index arguments.
73525         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
73526         Update.
73527         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
73528
73529 2006-10-05  Bruno Haible  <bruno@clisp.org>
73530
73531         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
73532
73533         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
73534         fwriteerror_temp): New declarations.
73535         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
73536         (descriptors): New variable.
73537         (cleanup): First, close the descriptors.
73538         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
73539         fclose_temp, fwriteerror_temp): New functions.
73540
73541 2006-10-04  Jim Meyering  <jim@meyering.net>
73542
73543         * lib/fts.c (fts_open): Tiny comment change.
73544
73545 2006-10-04  Bruno Haible  <bruno@clisp.org>
73546
73547         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
73548         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
73549         gl_LOCK_BODY.
73550         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
73551         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
73552         gl_LOCK_EARLY_BODY.
73553         (gl_LOCK): Require gl_LOCK_BODY.
73554
73555 2006-10-04  Bruno Haible  <bruno@clisp.org>
73556
73557         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
73558         (gl_oset_search_atleast): New declaration.
73559         (struct gl_oset_implementation): Add field 'search_atleast'.
73560         (gl_oset_search_atleast): New inline function.
73561         * lib/gl_oset.c (gl_oset_search_atleast): New function.
73562         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
73563         (gl_array_oset_implementation): Update.
73564         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
73565         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
73566         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
73567
73568 2006-10-04  Bruno Haible  <bruno@clisp.org>
73569
73570         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
73571
73572 2006-10-03  Bruno Haible  <bruno@clisp.org>
73573
73574         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
73575         from gl_avltreehash_list_implementation.
73576
73577 2006-10-03  Bruno Haible  <bruno@clisp.org>
73578
73579         * lib/gl_oset.c (gl_oset_add): Fix return type.
73580
73581 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
73582
73583         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
73584
73585 2006-10-02  Eric Blake  <ebb9@byu.net>
73586
73587         * modules/strnlen (Depends-on): Add extensions.
73588
73589 2006-10-02  Eric Blake  <ebb9@byu.net>
73590
73591         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
73592         definition in 2.60+.
73593
73594 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
73595
73596         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
73597         checks.
73598
73599 2006-10-02  Bruno Haible  <bruno@clisp.org>
73600
73601         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
73602         to the AUTOMAKE_OPTIONS.
73603         Reported by Jim Meyering.
73604
73605 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73606
73607         Work around bug in Solaris 10 /proc file system:
73608         /proc/self/fd/NNN/.. isn't the parent directory of
73609         the directory whose file descriptor is NNN.  This needs to
73610         be worked around at run time, not compile time, since a
73611         program might be built on Solaris 8, where things work, and
73612         run on Solaris 10.
73613         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
73614         to use the following interface instead:
73615         (OPENAT_BUFFER_SIZE): New macro.
73616         (openat_proc_name): New function.
73617         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
73618         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
73619         Likewise.
73620         * lib/openat-proc.c: New file.
73621         * modules/openat (Files): Add lib/openat-proc.c.
73622         (Depends-on): Add same-inode, stdbool.
73623         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
73624
73625 2006-09-29  Bruno Haible  <bruno@clisp.org>
73626
73627         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
73628         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
73629         argument. Set stdout_closed before testing for ferror, not after.
73630         (fwriteerror, fwriteerror_no_ebadf): New functions.
73631
73632 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73633
73634         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
73635
73636 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
73637
73638         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
73639         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
73640
73641 2006-09-28  Jim Meyering  <jim@meyering.net>
73642
73643         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
73644         Include <unistd.h>.
73645
73646 2006-09-28  Bruno Haible  <bruno@clisp.org>
73647
73648         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
73649         * modules/linkedhash-list (Depends-on): Likewise.
73650         * modules/rbtreehash-list (Depends-on): Likewise.
73651
73652 2006-09-28  Bruno Haible  <bruno@clisp.org>
73653
73654         * lib/strndup.h: Simplify the redefinition of strndup.
73655         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
73656         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
73657
73658 2006-09-28  Bruno Haible  <bruno@clisp.org>
73659
73660         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
73661         * lib/gl_linkedhash_list.c: Likewise.
73662         * lib/gl_rbtreehash_list.c: Likewise.
73663
73664 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73665
73666         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
73667         getaddrinfo.
73668
73669         * lib/__fpending.h: Don't include <stdio_ext.h> unless
73670         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
73671         it causes <stdio_ext.h> to cause a compile-time error.
73672         Problem reported by Nelson H. F. Beebe.
73673         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
73674         of HAVE_DECL___PENDING.
73675
73676         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
73677         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
73678         declaration.
73679
73680 2006-09-27  Jim Meyering  <jim@meyering.net>
73681
73682         This file could end up with a definition for a function
73683         named __strndup, rather than rpl_strndup on a system with
73684         incomplete weak_alias support.
73685         * lib/strndup.c (strndup): Rename from __strndup.
73686         Remove #defines that used to map __strndup to strndup.
73687         Don't use K&R prototypes.
73688         Remove LIBC-related code, since this file is not sync'd with glibc.
73689         * lib/strndup.h: Revamp, accordingly.
73690         * m4/strndup.m4: Modernize.
73691
73692 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73693
73694         * modules/savewd (Depends-on): Add 'raise'.
73695         * lib/savewd.c: Include <signal.h>, for 'raise'.
73696
73697 2006-09-26  Jim Meyering  <jim@meyering.net>
73698
73699         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
73700         when we detect Darwin 8.7.0's acl_get_file bug.
73701         Rearrange to perform the new (below) run-test while $LIBS
73702         contains any acl-related library.  Set USE_ACL at the end.
73703         (gl_ACL_GET_FILE): New function.
73704
73705 2006-09-26  Eric Blake  <ebb9@byu.net>
73706
73707         * lib/verror.c: Include <config.h> unconditionally.
73708
73709 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
73710
73711         * modules/clock-time (Maintainer): Add self.
73712         * modules/getlogin_r (Depends-on): Add extensions.
73713
73714 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73715
73716         * modules/clock-time: New module.
73717         * modules/nanosleep (Depends-on): Add clock-time.
73718         * modules/gethrxtime (Depends-on): Likewise.
73719         * modules/gettime (Depends-on): Likewise.
73720         * modules/settime (Depends-on): Likewise.
73721
73722         * modules/fts-lgpl: Depend on openat.
73723         * modules/mkancesdirs: Depend on savewd.
73724         * modules/mkdir-p: Likewise.
73725
73726 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73727
73728         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
73729
73730         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
73731         `gl_have_arbitrary_file_name_length_limit' to
73732         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
73733         actually works between configure runs.
73734
73735 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73736             Bruno Haible  <bruno@clisp.org>
73737
73738         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
73739
73740 2006-09-25  Jim Meyering  <jim@meyering.net>
73741
73742         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
73743         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
73744
73745 2006-09-25  Eric Blake  <ebb9@byu.net>
73746
73747         * gnulib-tool (func_import, func_create_testdir): Fix typos in
73748         exec's in 2006-09-18 patch when shuffling fds.
73749
73750 2006-09-25  Bruno Haible  <bruno@clisp.org>
73751
73752         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
73753         Reported by Jim Meyering.
73754
73755 2006-09-24  Jim Meyering  <jim@meyering.net>
73756
73757         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
73758         compare a pointer against a literal "0".  That caused failures with
73759         at least HP-UX's hpcc.
73760
73761 2006-09-22  Simon Josefsson  <jas@extundo.com>
73762
73763         * modules/gc-sha1:
73764         * modules/gc-md4:
73765         * modules/gc-hmac-sha1:
73766         * modules/gc-hmac-md5:
73767         * modules/gc-des:
73768         * modules/gc-arcfour: Distribute more files.
73769
73770 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73771
73772         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
73773         (gl_linked_iterator_from_to): Initialize struct completely.
73774         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
73775         (gl_tree_iterator_from_to): Likewise
73776         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
73777         * lib/gl_array_list.c [lint] (gl_array_iterator)
73778         (gl_array_iterator_from_to): Likewise.
73779         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
73780         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
73781         (gl_carray_iterator_from_to): Likewise.
73782
73783         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
73784         * lib/md4.c (md4_process_block): Remove unused variable.
73785         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
73786         parentheses for clarity.
73787
73788 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73789
73790         * modules/bison-i18n (Depends-on): Add gettext.
73791
73792 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73793
73794         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
73795         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
73796         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
73797         also add missing comma that caused broken test.
73798         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
73799         stdlib.h, for `abort'.
73800         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
73801         variables.
73802         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
73803         include unistd.h if present, for `rmdir'.
73804         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
73805         variables.
73806         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
73807         in the process include standard headers for prototypes.
73808         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
73809         gets declared on GNU/Linux.
73810         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
73811         unistd.h, for `rmdir'.
73812         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
73813
73814         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
73815         always true.
73816         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
73817
73818         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
73819
73820 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73821
73822         * gnulib-tool (func_version): Create output all at once.  This
73823         may help avoid triggering unnecessary SIGPIPEs, and at any
73824         rate it doesn't hurt.
73825
73826 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73827             Bruno Haible  <bruno@clisp.org>
73828
73829         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
73830         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
73831         * m4/signed.m4 (bh_C_SIGNED): Likewise.
73832
73833         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
73834         (gl_FUNC_VASPRINTF): Invoke it.
73835
73836 2006-09-22  Bruno Haible  <bruno@clisp.org>
73837
73838         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
73839         getloadavg.c as first argument.
73840
73841 2006-09-22  Bruno Haible  <bruno@clisp.org>
73842
73843         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
73844         at the beginning of the gl_INIT macro.
73845         * modules/getloadavg (configure.ac): Pass $gl_source_base to
73846         gl_GETLOADAVG.
73847
73848 2006-09-22  Bruno Haible  <bruno@clisp.org>
73849
73850         * gnulib-tool (func_create_megatestdir): Don't include the config-h
73851         module.
73852         Suggested by Ralf Wildenhues.
73853
73854 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
73855
73856         Import this patch from libc:
73857
73858         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
73859
73860         * lib/regex_internal.c (re_string_reconstruct): Handle
73861         offset < pstr->valid_raw_len && pstr->offsets_needed case.
73862         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
73863         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
73864         re_string_context_at.
73865
73866         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
73867         now requires it.
73868         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
73869         gl_REGEX now does it for us.
73870         (gl_REGEX): Add test taken from
73871         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
73872
73873         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
73874         Check that large offsets work.  Modernize Autoconf usages.
73875         Prefer "yes" to mean a good thing rather than a bad.
73876         Don't put "#define mkstemp" in config.h, as this might interfere
73877         with standard system headers that "#define mkstemp mkstemp64".
73878
73879         * modules/mkstemp (Depends-on): Add extensions, so that
73880         mkstemp is visible on some platforms.
73881         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
73882         (Include): Change to "mkstemp.h" from <stdlib.h>.
73883         (Files): Add mkstemp.h.
73884
73885         * lib/mkstemp.h: New file, since some standard headers
73886         #define mkstemp.
73887         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
73888         Include "mkstemp.h".
73889         Make the _LIBC code resemble glibc original more,
73890         e.g., use K&R style.
73891         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
73892         (mkstemp): Remove, since mkstemp.h does this for us.
73893         * lib/stdlib--.h: Include mkstemp.h.
73894
73895         Import this patch from libc:
73896
73897         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73898
73899         * lib/tempname.c (__gen_tempname): Change attempts_min
73900         into a macro.  Use preprocessor to decide how to initialize
73901         attempts [Coverity CID 67].
73902
73903 2006-09-20  Bruno Haible  <bruno@clisp.org>
73904
73905         * lib/mkdtemp.c: Import from libc.
73906         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73907                 * sysdeps/posix/tempname.c (__gen_tempname): Change
73908                 attempts_min into a macro.  Use preprocessor to decide how to
73909                 initialize attempts [Coverity CID 67].
73910         2001-11-27  Paul Eggert  <eggert@twinsun.com>
73911                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
73912                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
73913
73914 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73915
73916         * gnulib-tool (func_exit): New function, to allow to pass the
73917         exit status portably through the trap.  Use everywhere.
73918         (--help, --version): Signal a write error.
73919         (trap): catch SIGPIPE, for write errors.
73920         Exit at the end of the trap, with the correct exit status.
73921
73922 2006-09-19  Karl Berry  <karl@gnu.org>
73923
73924         * doc/gnulib.texi: note about the license texinfo files.
73925
73926 2006-09-19  Eric Blake  <ebb9@byu.net>
73927
73928         * gnulib-tool: Avoid space-tab.
73929
73930 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73931
73932         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
73933         that prevented coreutils 6.1 from building.  Problem reported
73934         by Petter Reinholdtsen.
73935
73936 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73937
73938         * gnulib-tool (avoidlist): Fix typo that broke options like
73939         --avoid=lock that are used by coreutils bootstrap.
73940
73941 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
73942
73943         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
73944         more systematically.
73945
73946 2006-09-18  Jim Meyering  <jim@meyering.net>
73947
73948         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
73949
73950 2006-09-18  Bruno Haible  <bruno@clisp.org>
73951
73952         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
73953
73954 2006-09-18  Bruno Haible  <bruno@clisp.org>
73955
73956         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
73957         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
73958         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
73959         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
73960         * m4/gettext.m4: Require autoconf >= 2.52.
73961         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
73962         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
73963         of gl_cv_header_inttypes_h.
73964
73965 2006-09-18  Bruno Haible  <bruno@clisp.org>
73966
73967         * lib/javaversion.c: Include configmake.h.
73968
73969 2006-09-18  Bruno Haible  <bruno@clisp.org>
73970
73971         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
73972         avoid that the while loops be executed in a subshell.
73973
73974 2006-09-18  Bruno Haible  <bruno@clisp.org>
73975
73976         * MODULES.html.sh (func_module): Break long lines.
73977         Suggested by Bruce Korb <bkorb@gnu.org>.
73978
73979 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73980
73981         Speed up by a factor of 1.12.
73982         * gnulib-tool (nl): New variable.
73983         (func_import): Rewrite include directive extraction to only read each
73984         directive once.
73985
73986 2006-09-17  Bruno Haible  <bruno@clisp.org>
73987
73988         * modules/javaversion (Makefile.am): Remove DEFS setting.
73989         (Depends-on): Add configmake, for PKGDATADIR definition.
73990
73991 2006-09-17  Bruno Haible  <bruno@clisp.org>
73992
73993         * gnulib-tool (func_create_testdir): Rewrite all files at once.
73994
73995 2006-09-17  Bruno Haible  <bruno@clisp.org>
73996
73997         * gnulib-tool (func_append): New function, stolen from libtool.m4.
73998         (func_modules_transitive_closure, func_modules_add_dummy,
73999         func_modules_to_filelist, func_import, func_create_testdir,
74000         func_create_megatestdir, ...): Use it wherever possible.
74001         Suggested by Ralf Wildenhues.
74002
74003 2006-09-16  Karl Berry  <karl@gnu.org>
74004
74005         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
74006         to avoid sectioning errors.
74007         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
74008         [ifinfo]: blank line after @center-ed titles.
74009         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
74010         Spell FSF address consistently with others.
74011         (These changes approved by rms.)
74012
74013 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74014
74015         Speed up by a factor of 1.61.
74016         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
74017         already checked module names again.
74018
74019 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74020
74021         Speed up by a factor of 1.13.
74022         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
74023         for new_files, and the input to func_add_or_update.
74024
74025 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74026
74027         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
74028         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
74029
74030 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74031
74032         * modules/mkancesdirs (Depends-on): Add fcntl.
74033         * modules/savewd: New file.
74034         * MODULES.html.sh (File system functions): Add savewd.
74035
74036         * modules/configmake (Makefile.am): Add support for the
74037         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
74038
74039 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74040
74041         * m4/savewd.m4: New file.
74042
74043 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74044
74045         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
74046         (dirchownmod): New arg FD.  All callers changed.
74047         Use FD rather than opening the directory ourself, as opening is
74048         now the caller's responsibility.
74049         * lib/dirchownmod.h: Likewise.
74050         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
74051         hosts that require <sys/types.h> before <sys/stat.h>.  Include
74052         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
74053         (test_dir): Remove.
74054         (mkancesdirs): Return length of prefix of FILE that has already
74055         been made, or -2 if there is a child doing the work.  Redo
74056         algorithm so that it is O(N) rather than O(N**2).  Optimize away
74057         ".", and treat ".." specially since it might stray back into
74058         already-created areas.  Use a subprocess if necessary.  New arg
74059         WD; all users changed.  MAKE_DIR function should now return 1
74060         if it creates a directory that is not readable.  Return -2 if
74061         a child process is spun off.
74062         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
74063         Adjust signature to match code.
74064         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
74065         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
74066         all users changed.
74067         * lib/savewd.c, lib/savewd.h: New files.
74068
74069 2006-09-15  Jim Meyering  <jim@meyering.net>
74070
74071         * modules/rename-dest-slash: New module.
74072         * MODULES.html.sh (posix_compat): Add it here.
74073
74074         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
74075
74076 2006-09-15  Jim Meyering  <jim@meyering.net>
74077
74078         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
74079         file.
74080
74081         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
74082
74083 2006-09-15  Jim Meyering  <jim@meyering.net>
74084
74085         * lib/rename-dest-slash.c (has_trailing_slash): Use
74086         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
74087         (rpl_rename_dest_slash): Perform the cheaper trailing slash
74088         test before testing whether SRC is a directory.
74089         Suggestions from Bruno Haible.
74090
74091         Avoid a warning about an unused variable.
74092         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
74093         into the #ifdef block where it's used.
74094
74095         * lib/rename-dest-slash.c: New file.
74096
74097 2006-09-14  Bruno Haible  <bruno@clisp.org>
74098
74099         * lib/allocsa.c: Include <config.h> unconditionally.
74100         * lib/asnprintf.c: Likewise.
74101         * lib/asprintf.c: Likewise.
74102         * lib/c-strcasecmp.c: Likewise.
74103         * lib/c-strcasestr.c: Likewise.
74104         * lib/c-strncasecmp.c: Likewise.
74105         * lib/c-strstr.c: Likewise.
74106         * lib/classpath.c: Likewise.
74107         * lib/clean-temp.c: Likewise.
74108         * lib/concatpath.c: Likewise.
74109         * lib/copy-file.c: Likewise.
74110         * lib/csharpcomp.c: Likewise.
74111         * lib/csharpexec.c: Likewise.
74112         * lib/execute.c: Likewise.
74113         * lib/fatal-signal.c: Likewise.
74114         * lib/findprog.c: Likewise.
74115         * lib/fwriteerror.c: Likewise.
74116         * lib/gl_array_list.c: Likewise.
74117         * lib/gl_array_oset.c: Likewise.
74118         * lib/gl_avltree_list.c: Likewise.
74119         * lib/gl_avltree_oset.c: Likewise.
74120         * lib/gl_avltreehash_list.c: Likewise.
74121         * lib/gl_carray_list.c: Likewise.
74122         * lib/gl_linked_list.c: Likewise.
74123         * lib/gl_linkedhash_list.c: Likewise.
74124         * lib/gl_list.c: Likewise.
74125         * lib/gl_oset.c: Likewise.
74126         * lib/gl_rbtree_list.c: Likewise.
74127         * lib/gl_rbtree_oset.c: Likewise.
74128         * lib/gl_rbtreehash_list.c: Likewise.
74129         * lib/imaxabs.c: Likewise.
74130         * lib/imaxdiv.c: Likewise.
74131         * lib/javacomp.c: Likewise.
74132         * lib/javaexec.c: Likewise.
74133         * lib/javaversion.c: Likewise.
74134         * lib/linebreak.c: Likewise.
74135         * lib/localcharset.c: Likewise.
74136         * lib/lock.c: Likewise.
74137         * lib/mbchar.c: Likewise.
74138         * lib/mbswidth.c: Likewise.
74139         * lib/mkdtemp.c: Likewise.
74140         * lib/pipe.c: Likewise.
74141         * lib/printf-args.c: Likewise.
74142         * lib/printf-parse.c: Likewise.
74143         * lib/progname.c: Likewise.
74144         * lib/progreloc.c: Likewise.
74145         * lib/readlink.c: Likewise.
74146         * lib/sh-quote.c: Likewise.
74147         * lib/stpcpy.c: Likewise.
74148         * lib/stpncpy.c: Likewise.
74149         * lib/strcasecmp.c: Likewise.
74150         * lib/strcasestr.c: Likewise.
74151         * lib/strcspn.c: Likewise.
74152         * lib/striconv.c: Likewise.
74153         * lib/strncasecmp.c: Likewise.
74154         * lib/strnlen1.c: Likewise.
74155         * lib/strstr.c: Likewise.
74156         * lib/strtok_r.c: Likewise.
74157         * lib/tls.c: Likewise.
74158         * lib/tmpdir.c: Likewise.
74159         * lib/unicodeio.c: Likewise.
74160         * lib/unsetenv.c: Likewise.
74161         * lib/vasnprintf.c: Likewise.
74162         * lib/vasprintf.c: Likewise.
74163         * lib/wait-process.c: Likewise.
74164         * lib/xallocsa.c: Likewise.
74165         * lib/xsetenv.c: Likewise.
74166         * lib/xstriconv.c: Likewise.
74167
74168 2006-09-13  Simon Josefsson  <jas@extundo.com>
74169
74170         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
74171         that internally, suggested by Ralf Wildenhues
74172         <Ralf.Wildenhues@gmx.de>.
74173
74174 2006-09-13  Simon Josefsson  <jas@extundo.com>
74175
74176         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
74177         @LIBOBJS@.
74178         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74179
74180 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74181
74182         * lib/_fpending.c: Include <config.h> unconditionally, since we no
74183         longer worry about uses that don't define HAVE_CONFIG_H.
74184         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
74185         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
74186         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
74187         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
74188         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
74189         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
74190         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
74191         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
74192         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
74193         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
74194         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
74195         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
74196         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
74197         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
74198         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
74199         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
74200         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
74201         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
74202         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
74203         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
74204         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
74205         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
74206         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
74207         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
74208         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
74209         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
74210         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
74211         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
74212         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
74213         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
74214         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
74215         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
74216         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
74217         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
74218         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
74219         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
74220         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
74221         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
74222         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
74223         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
74224         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
74225         Likewise.
74226
74227 2006-09-13  Eric Blake  <ebb9@byu.net>
74228
74229         * lib/getopt.c: Fix typo in last commit.
74230
74231 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
74232
74233         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
74234         dgettext.
74235
74236 2006-09-12  Jim Meyering  <jim@meyering.net>
74237
74238         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
74239         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
74240         Reported by Nelson H. F. Beebe.
74241
74242 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
74243
74244         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
74245         program_invocation_name and program_invocation_short_name are
74246         initialized.
74247         * lib/argp-namefrob.h: Move declarations of program_invocation_name
74248         and program_invocation_short_name to argp.h, so they are visible
74249         to user programs.
74250         * lib/argp.h: Likewise
74251
74252 2006-09-10  Bruno Haible  <bruno@clisp.org>
74253
74254         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
74255         m4/inttypes_h.m4, m4/uintmax_t.m4.
74256
74257 2006-09-10  Bruno Haible  <bruno@clisp.org>
74258
74259         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
74260         gl_AC_TYPE_UINTMAX_T.
74261
74262 2006-09-10  Bruno Haible  <bruno@clisp.org>
74263
74264         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
74265
74266 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74267
74268         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
74269         convention.  Text proposed by Bruno Haible.
74270         (struct argp_option): Document the use of N_() wrappers.
74271
74272         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
74273         '\v', and translate the two parts separately, instead of feeding
74274         the whole string to gettext.  This allows to exclude
74275         '\v' from the strings visible to the translator by writing doc
74276         strings as N_("..") "\v" N_("..").
74277
74278 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
74279
74280         * config/srclist.txt: Undo latest change; the bug was fixed.
74281
74282 2006-09-09  Bruno Haible  <bruno@clisp.org>
74283
74284         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
74285         assignments if building a library without libtool.
74286         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
74287         in func_emit_lib_Makefile_am.
74288         (func_import): When building a static library libfoo.a, arrange to
74289         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
74290         (func_create_testdir): Likewise.
74291         * modules/gc (configure.ac, Makefile.am): If building statically,
74292         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
74293         * modules/iconvme (configure.ac, Makefile.am): Likewise.
74294         * modules/striconv (configure.ac, Makefile.am): Likewise.
74295         Based on a suggestion by Ralf Wildenhues.
74296
74297 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74298
74299         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
74300         Check for unistd.h too, since Autoconf doesn't assume POSIX.
74301         Also:
74302
74303         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74304         Add year_2050_test to catch glibc bug 2821
74305         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74306
74307         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74308         Prefer #ifdef to #if.
74309
74310         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
74311         Return from 'main' instead of calling 'exit'.
74312
74313 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74314
74315         * lib/mktime.c (guess_time_tm): Fix bug where mktime
74316         returned the maximum time_t value rather than (time_t) -1.
74317         Problem originally reported by William Bardwell
74318         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74319
74320         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74321         Moved to here ...
74322         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74323         ... from here.
74324
74325 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74326
74327         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
74328         2821 is fixed.
74329
74330 2006-09-08  Jim Meyering  <jim@meyering.net>
74331
74332         Don't make generated files read-only.  That would bother too many
74333         people.  However, do retain the ability to work when targets are
74334         read-only: remove the destination and temporary files before writing
74335         them (when generated via sed or echo), or by using the -f option for
74336         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
74337         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74338         * modules/byteswap, modules/configmake, modules/fcntl:
74339         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74340         * modules/localcharset, modules/netinet_in, modules/poll:
74341         * modules/stdbool, modules/stdint, modules/sys_select:
74342         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74343
74344 2006-09-08  Jim Meyering  <jim@meyering.net>
74345
74346         Avoid new build failure on FreeBSD 6.0.
74347         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
74348         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
74349         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
74350
74351 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74352
74353         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
74354
74355 2006-09-07  Jim Meyering  <jim@meyering.net>
74356
74357         Fix global typo in last change: use chmod u-w, not chmod u-x.
74358         Spotted by Paul Eggert and Bruce Korb.
74359         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74360         * modules/byteswap, modules/configmake, modules/fcntl:
74361         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74362         * modules/localcharset, modules/netinet_in, modules/poll:
74363         * modules/stdbool, modules/stdint, modules/sys_select:
74364         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74365
74366 2006-09-06  Jim Meyering  <jim@meyering.net>
74367
74368         Make generated files be read-only.
74369         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
74370         Ensure that each generated file is now read-only.
74371         * modules/argz: Likewise.
74372         * modules/arpa_inet: Likewise.
74373         * modules/byteswap: Likewise.
74374         * modules/configmake: Likewise.
74375         * modules/fcntl: Likewise.
74376         * modules/fnmatch: Likewise.
74377         * modules/getopt: Likewise.
74378         * modules/glob: Likewise.
74379         * modules/inttypes: Likewise.
74380         * modules/netinet_in: Likewise.
74381         * modules/poll: Likewise.
74382         * modules/stdbool: Likewise.
74383         * modules/stdint: Likewise.
74384         * modules/sys_select: Likewise.
74385         * modules/sys_socket: Likewise.
74386         * modules/sys_stat: Likewise.
74387         * modules/sysexits: Likewise.
74388         * modules/localcharset: Same as above, but continue using temporary
74389         file named "t-$@" (why different?) rather than the "$@-t" used
74390         everywhere else.
74391
74392         * modules/sysexits (Makefile.am): Replace literal occurrences
74393         of "sysexit.h" more readable, and more consistent, "$@".
74394
74395 2006-09-06  Bruno Haible  <bruno@clisp.org>
74396
74397         * modules/striconv: New file.
74398         * modules/xstriconv: New file.
74399         * MODULES.html.sh (Internationalization functions): Add striconv,
74400         xstriconv.
74401
74402 2006-09-06  Bruno Haible  <bruno@clisp.org>
74403
74404         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
74405         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
74406         not using libtool correctly.
74407
74408 2006-09-06  Bruno Haible  <bruno@clisp.org>
74409
74410         * lib/striconv.h: New file.
74411         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
74412         iconvstring.c.
74413         * lib/xstriconv.h: New file.
74414         * lib/xstriconv.c: New file.
74415
74416 2006-09-06  Bruno Haible  <bruno@clisp.org>
74417
74418         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
74419         lib_..._LDFLAGS.
74420
74421 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74422
74423         * lib/argz_.h: Sync from Libtool.
74424
74425         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
74426                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74427
74428         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
74429
74430 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74431
74432         * modules/trim: New file.
74433
74434 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74435
74436         * lib/trim.h: New file.
74437         * lib/trim.c: New file.
74438
74439 2006-09-05  Bruno Haible  <bruno@clisp.org>
74440
74441         * MODULES.html.sh (String handling): Add trim.
74442
74443 2006-09-04  Karl Berry  <karl@gnu.org>
74444
74445         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
74446         until next release.
74447
74448 2006-09-03  Bruno Haible  <bruno@clisp.org>
74449
74450         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
74451         correctly.
74452
74453 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74454
74455         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
74456         not gl_GETLOADAVG.  Omit unneeded semicolons.
74457         Problems reported by Ralf Wildenhues in
74458         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74459         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
74460         at the end, which is the usual gnulib style.
74461
74462         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
74463         of doing all the work ourselves.
74464         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
74465         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
74466
74467 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74468
74469         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
74470         Problem reported by Ralf Wildenhues in
74471         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74472
74473         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
74474         HAVE_STRUCT_STATFS_F_FSTYPENAME.
74475
74476 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74477
74478         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
74479         yesterday's patch by changing test -n to test -z.
74480
74481 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74482
74483         * modules/getloadavg (Files): Add m4/getloadavg.m4.
74484         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
74485         the former is now obsolescent.
74486
74487         * modules/chdir-long (Depends-on): Add fcntl.
74488
74489 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74490
74491         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
74492         obsolescent, and programs should use gnulib instead.
74493         * m4/getloadavg.m4: New file, with contents taken from Autoconf
74494         but with prefixes changed.
74495
74496 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74497
74498         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
74499         or stdbool.h, because they might not exist while configuring.
74500
74501         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
74502         Don't include unistd.h or limits.h; not needed, since chdir-long.h
74503         does that for us.
74504         (O_DIRECTORY): Remove.
74505
74506 2006-08-31  Eric Blake  <ebb9@byu.net>
74507
74508         * gnulib-tool: Don't let emacs change spaces to TAB.
74509
74510 2006-08-31  Bruno Haible  <bruno@clisp.org>
74511
74512         * gnulib-tool: When calling func_import more than once, do it in a
74513         subshell.
74514         Reported by Eric Blake <ebb9@byu.net>.
74515
74516 2006-08-31  Bruno Haible  <bruno@clisp.org>
74517
74518         * gnulib-tool (nl): Remove variable.
74519         (sed_transform_lib_file): Use more robust test for config-h module.
74520         (func_import): Fix typo in 2006-08-25 patch.
74521
74522 2006-08-31  Bruno Haible  <bruno@clisp.org>
74523
74524         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
74525         specified, augment Makefile.am variables instead of assigning them.
74526
74527 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74528
74529         Work around a bug in both the Linux and SunOS 64-bit kernels:
74530         nanosleep mishandles sleeps for longer than 2**31 seconds.
74531         Problem reported by Frank v Waveren in
74532         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
74533         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
74534         Check for nanosleep bug.
74535         (LIB_NANOSLEEP): Append clock_gettime library if needed.
74536
74537 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74538
74539         Work around a bug in both the Linux and SunOS 64-bit kernels:
74540         nanosleep mishandles sleeps for longer than 2**31 seconds.
74541         Problem reported by Frank v Waveren in
74542         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
74543         * lib/nanosleep.c (BILLION): New constant.
74544         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
74545         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
74546         implementation.
74547
74548 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74549
74550         * modules/nanosleep (Depends-on): Add gettime.
74551
74552 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74553         and Simon Josefsson  <jas@extundo.com>
74554         and Oskar Liljeblad  <oskar@osk.mine.nu>
74555
74556         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
74557         * gnulib-tool (func_import): New license type 'unmodifiable license
74558         text'.
74559         * modules/fdl: Use it.  Longer description.
74560         * module/gpl, module/lgpl: New files.
74561
74562 2006-08-30  Jim Meyering  <jim@meyering.net>
74563
74564         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
74565         shadowing the parameter.
74566
74567 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74568
74569         Sync from Libtool:
74570
74571         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74572
74573         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
74574         sharing with gnulib.  Report by Eric Blake.
74575
74576 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74577
74578         * modules/isapipe: New file.
74579         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
74580
74581 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74582
74583         * modules/configmake (Makefile.am): Add a comment, and omit
74584         the CONFIGMAKE_ prefix from generated macro names.  Suggested
74585         by Bruno Haible.
74586
74587 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74588
74589         * m4/isapipe.m4: New file.
74590
74591 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74592
74593         * lib/isapipe.c, lib/isapipe.h: New files.
74594
74595 2006-08-29  Jim Meyering  <jim@meyering.net>
74596
74597         * modules/configmake (Makefile.am): Make configmake.h depend on
74598         Makefile.  Otherwise, a stale configmake.h could hang around.
74599
74600 2006-08-29  Eric Blake  <ebb9@byu.net>
74601
74602         * lib/error.c (error_at_line, print_errno_message): Match libc, after
74603         resolution of upstream bug 3044.
74604
74605 2006-08-29  Bruno Haible  <bruno@clisp.org>
74606
74607         * modules/localcharset (Depends-on): Add configmake.
74608         (Makefile.am): Remove setting of LIBDIR through DEFS.
74609
74610 2006-08-29  Bruno Haible  <bruno@clisp.org>
74611
74612         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
74613         defined.
74614
74615 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74616
74617         * modules/fcntl: New file.
74618         * modules/chdir-safer (Depends-on): Add fcntl.
74619         * modules/fts: Likewise.
74620         * modules/mkdir-p: Likewise.
74621
74622         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
74623         This undoes the most recent change, since we're now addressing the
74624         problem in a different way.
74625
74626         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
74627         into output, since the output might be called Makefile.am even
74628         if $makefile_name is something different.
74629         (func_import): Use $makefile_am rather than
74630         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
74631         empty.
74632
74633         * modules/inttypes (Files): Add m4/inttypes-h.m4.
74634
74635 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74636
74637         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
74638         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
74639         recent change to stdint.m4, since we're now addressing the problem in a
74640         different way.
74641
74642 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74643
74644         * m4/fcntl_h.m4: New file.
74645
74646 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74647
74648         * lib/fcntl_.h: New file.
74649         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
74650         the fcntl module.
74651         * lib/dirchownmod.c: Likewise.
74652         * lib/fts.c: Likewise.
74653
74654         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
74655         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
74656         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
74657         just before including <inttypes.h>, to avoid circular inclusion.
74658
74659 2006-08-28  Jim Meyering  <jim@meyering.net>
74660
74661         * doc/visibility.texi: Actually read and correct the grammar of the
74662         sentence affected by yesterday's change.
74663
74664 2006-08-28  Eric Blake  <ebb9@byu.net>
74665
74666         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
74667         needs wrapper.
74668
74669 2006-08-28  Eric Blake  <ebb9@byu.net>
74670
74671         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
74672
74673 2006-08-28  Eric Blake  <ebb9@byu.net>
74674
74675         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
74676
74677 2006-08-28  Bruno Haible  <bruno@clisp.org>
74678
74679         * modules/c-strstr: New file, from GNU gettext.
74680         * MODULES.html.sh (String handling): Add c-strstr.
74681
74682 2006-08-28  Bruno Haible  <bruno@clisp.org>
74683
74684         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
74685         macros.
74686         Reported by Eric Blake.
74687
74688 2006-08-28  Bruno Haible  <bruno@clisp.org>
74689
74690         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
74691         (VASNPRINTF): Return a string of length > INT_MAX without failing.
74692         * lib/vasprintf.c: Include errno.h, limits.h.
74693         (EOVERFLOW): New fallback definition.
74694         (vasprintf): Test here whether the string length is > INT_MAX.
74695         * lib/vsnprintf.c: Include errno.h, limits.h.
74696         (EOVERFLOW): New fallback definition.
74697         (vsnprintf): Fix bug when generated string was too long for the buffer.
74698         Test here whether the string length is > INT_MAX.
74699
74700 2006-08-28  Bruno Haible  <bruno@clisp.org>
74701
74702         * lib/inttypes_.h (SCNX*): Remove definitions.
74703         Reported by Eric Blake.
74704
74705 2006-08-28  Bruno Haible  <bruno@clisp.org>
74706
74707         * lib/c-strstr.h: New file, from GNU gettext.
74708         * lib/c-strstr.c: New file, from GNU gettext.
74709
74710 2006-08-28  Bruno Haible  <bruno@clisp.org>
74711
74712         * gnulib-tool: Reorder some statements.
74713
74714 2006-08-28  Bruno Haible  <bruno@clisp.org>
74715
74716         * gnulib-tool: New option --makefile-name.
74717         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
74718         $makefile_name.
74719         (func_import): Write $makefile_name to the cache file, and read it from
74720         there unless explicitly specified. Use $makefile_name as file name
74721         instead of Makefile.am. Adjust the recommendations accordingly.
74722
74723 2006-08-28  Bruno Haible  <bruno@clisp.org>
74724
74725         * gnulib-tool (func_verify_module): Check against misapplying patch.
74726
74727 2006-08-28  Bruno Haible  <bruno@clisp.org>
74728
74729         * gnulib-tool (func_relativize, func_relconcat): New functions.
74730         Give an error if --local-dir is given with --update.
74731         Remove trailing slashes from $local_gnulib_dir.
74732         (func_import): Store the relativized $local_gnulib_dir in
74733         gnulib-cache.m4, and read it from there if not specified explicitly.
74734
74735 2006-08-28  Bruno Haible  <bruno@clisp.org>
74736
74737         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
74738         is the current directory. Respect also $local_gnulib_dir.
74739
74740 2006-08-28  Bruno Haible  <bruno@clisp.org>
74741             Simon Josefsson  <jas@extundo.com>
74742
74743         BeOS portability.
74744         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
74745
74746 2006-08-27  Jim Meyering  <jim@meyering.net>
74747
74748         * doc/visibility.texi: Remove duplicate word: "pointer".
74749
74750 2006-08-26  Bruno Haible  <bruno@clisp.org>
74751
74752         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
74753         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
74754         (Makefile.am): Create inttypes.h from inttypes_.h.
74755         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
74756
74757         * modules/imaxabs: New file.
74758
74759         * modules/imaxdiv: New file.
74760
74761 2006-08-26  Bruno Haible  <bruno@clisp.org>
74762
74763         * m4/inttypes.m4: New file.
74764         * m4/_inttypes_h.m4: Remove file.
74765         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
74766         PRI_MACROS_BROKEN.
74767         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
74768
74769         * m4/imaxabs.m4: New file.
74770
74771         * m4/imaxdiv.m4: New file.
74772
74773 2006-08-26  Bruno Haible  <bruno@clisp.org>
74774
74775         * lib/inttypes_.h: New file.
74776         * lib/inttypes.h: Remove file.
74777         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
74778
74779         * lib/imaxabs.c: New file.
74780
74781         * lib/imaxdiv.c: New file.
74782
74783 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74784
74785         New config-h module, so that "make" output needn't be cluttered
74786         by -DHAVE_CONFIG_H.
74787         * MODULES.html.sh (Support for building libraries and executables):
74788         Add config-h.
74789         * modules/config-h: New file.
74790         * gnulib-tool (nl, sed_transform_lib_file): New vars.
74791         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
74792         the config-h module is used.
74793
74794         New configmake module, so that "make" output needn't be cluttered
74795         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
74796         * MODULES.html.sh (Support for building libraries and executables):
74797         Add configmake.
74798         * modules/configmake: New file.
74799
74800 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74801
74802         * m4/config-h.m4: New file.
74803
74804 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74805
74806         * config/srclist.txt: Add elisp-comp.
74807
74808 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74809
74810         * MODULES.html.sh (Support for building libraries and executables):
74811         Add elisp-comp.
74812         * build-aux/elisp-comp: New file.
74813         * modules/elisp-comp: New file.
74814
74815 2006-08-24  Bruno Haible  <bruno@clisp.org>
74816
74817         * gnulib-tool (func_create_testdir): Use non-default values of
74818         sourcebase and m4base.
74819
74820 2006-08-24  Bruno Haible  <bruno@clisp.org>
74821
74822         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
74823         HTML structure.
74824
74825 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
74826
74827         * modules/openat (Depends-on): Add lchown.
74828
74829 2006-08-23  Bruno Haible  <bruno@clisp.org>
74830
74831         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
74832         of gl_LOCK_EARLY instead of gl_LOCK.
74833
74834 2006-08-23  Bruno Haible  <bruno@clisp.org>
74835
74836         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
74837         on OSF/1 to no.
74838         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
74839
74840 2006-08-23  Bruno Haible  <bruno@clisp.org>
74841
74842         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
74843         as unusable.
74844
74845         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
74846         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
74847         (gl_LOCK): New macro.
74848
74849 2006-08-22  Simon Josefsson  <jas@extundo.com>
74850
74851         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
74852         to md5 module.
74853
74854 2006-08-22  Simon Josefsson  <jas@extundo.com>
74855
74856         * MODULES.html.sh: Add "Support for maintaining and release
74857         projects".
74858
74859         * build-aux/gnupload: New file, from coreutils.
74860
74861 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74862
74863         Avoid the need for AC_LIBSOURCES in m4 macros.
74864         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
74865         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
74866         * modules/check-version (EXTRA_DIST): Add check-version.h.
74867         * modules/crc (EXTRA_DIST): Add crc.h.
74868         * modules/des (EXTRA_DIST): Add des.h.
74869         * modules/gc (EXTRA_DIST): Add gc.h.
74870         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
74871         * modules/getline (EXTRA_DIST): Add getline.h.
74872         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
74873         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
74874         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
74875         * modules/md2 (EXTRA_DIST): Add md2.h.
74876         * modules/md4 (EXTRA_DIST): Add md4.h.
74877         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
74878         * modules/read-file (EXTRA_DIST): Add read-file.h.
74879         * modules/readline (EXTRA_DIST): Add readline.h.
74880         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
74881         rijndael-api-fst.h.
74882
74883 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74884
74885         * m4/rijndael.m4 (gl_ARCFOUR):
74886         * m4/arctwo.m4 (gl_ARCTWO):
74887         * m4/check-version.m4 (gl_CHECK_VERSION):
74888         * m4/crc.m4 (gl_CRC):
74889         * m4/des.m4 (gl_DES):
74890         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
74891         * m4/gc.m4 (gl_GC):
74892         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
74893         * m4/getline.m4 (gl_FUNC_GETLINE):
74894         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
74895         * m4/hmac-md5.m4 (gl_HMAC_MD5):
74896         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
74897         * m4/md2.m4 (gl_MD2):
74898         * m4/md4.m4 (gl_MD4):
74899         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
74900         * m4/read-file.m4 (gl_FUNC_READ_FILE):
74901         * m4/readline.m4 (gl_FUNC_READLINE):
74902         * m4/rijndael.m4 (gl_RIJNDAEL):
74903         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
74904         to get the necessary .h files and whatnot.
74905
74906 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74907
74908         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
74909         gnulib rather than the other way around.
74910         * config/srclistvars.sh (COREUTILS): Remove.
74911
74912 2006-08-22  Jim Meyering  <jim@meyering.net>
74913
74914         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
74915
74916         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
74917
74918 2006-08-22  Eric Blake  <ebb9@byu.net>
74919
74920         * modules/regexprops-generic: New file.
74921         * MODULES.html.sh (Support for building documentation): List it.
74922
74923 2006-08-22  Eric Blake  <ebb9@byu.net>
74924
74925         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
74926         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
74927         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
74928         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
74929
74930 2006-08-22  Bruno Haible  <bruno@clisp.org>
74931
74932         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
74933         and lib_LTLIBRARIES like the other lib_* variables.
74934
74935 2006-08-22  Bruno Haible  <bruno@clisp.org>
74936
74937         * build-aux/x-to-1.in: New file, from GNU gettext.
74938
74939 2006-08-22  Bruno Haible  <bruno@clisp.org>
74940
74941         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
74942         <utmpx.h> exists.
74943
74944 2006-08-22  Bruno Haible  <bruno@clisp.org>
74945
74946         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
74947         <utmpx.h> exists.
74948
74949 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74950
74951         BeOS portability.
74952         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
74953         exist.
74954         Problem reported by Bruno Haible.
74955
74956 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74957
74958         Avoid the need for AC_LIBSOURCES in m4 macros.
74959         * modules/acl (EXTRA_DIST): Add acl.h.
74960         * modules/argmatch (Files): Add m4/argmatch.m4.
74961         (configure.ac): Add gl_ARGMATCH.
74962         (EXTRA_DIST): Renamed from lib_SOURCES, for
74963         consistency with the other modules.  Remove argmatch.c.
74964         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
74965         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
74966         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
74967         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
74968         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
74969         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
74970         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
74971         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
74972         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
74973         * modules/closeout (EXTRA_DIST): Add closeout.h.
74974         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
74975         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
74976         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
74977         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
74978         dirname.h; remove basename.c and stripslash.c.
74979         * modules/exclude (EXTRA_DIST): Add exclude.h.
74980         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
74981         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
74982         * modules/file-type (EXTRA_DIST): Add file-type.h.
74983         * modules/filemode (EXTRA_DIST): Add filemode.h.
74984         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
74985         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74986         * modules/fpending (EXTRA_DIST): Add __fpending.h.
74987         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
74988         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
74989         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
74990         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
74991         * modules/getdate (EXTRA_DIST): Add getdate.c.
74992         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
74993         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
74994         * modules/getpass (EXTRA_DIST): Add getpass.h.
74995         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
74996         * modules/group-member (EXTRA_DIST): Add group-member.h.
74997         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
74998         * modules/hash (EXTRA_DIST): Add hash.h.
74999         * modules/human (EXTRA_DIST): Add human.h.
75000         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
75001         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
75002         * modules/lchown (EXTRA_DIST): Add lchown.h.
75003         * modules/long-options (EXTRA_DIST): Add long-options.h.
75004         * modules/lstat (EXTRA_DIST): Add lstat.h.
75005         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
75006         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
75007         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
75008         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
75009         * modules/memxor (EXTRA_DIST): Add memxor.h.
75010         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
75011         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
75012         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
75013         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
75014         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
75015         * modules/physmem (EXTRA_DIST): Add physmem.h.
75016         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
75017         * modules/posixver (EXTRA_DIST): Add posixver.h.
75018         * modules/quote (EXTRA_DIST): Add quote.h.
75019         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
75020         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
75021         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
75022         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
75023         regex_internal.h regexec.c.
75024         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
75025         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
75026         * modules/same (EXTRA_DIST): Add same.h.
75027         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
75028         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
75029         * modules/savedir (EXTRA_DIST): Add savedir.h.
75030         * modules/sha1 (EXTRA_DIST): Add sha1.h.
75031         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
75032         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
75033         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
75034         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
75035         * modules/strdup (EXTRA_DIST): Add strdup.h.
75036         * modules/strftime (EXTRA_DIST): Add strftime.h.
75037         * modules/strndup (EXTRA_DIST): Add strndup.h.
75038         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
75039         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
75040         * modules/time_r (EXTRA_DIST): Add time_r.h.
75041         * modules/timespec (EXTRA_DIST): Add timespec.h.
75042         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
75043         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
75044         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
75045         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
75046         * modules/userspec (EXTRA_DIST): Add userspec.h.
75047         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
75048         * modules/utimens (EXTRA_DIST): Add utimens.h.
75049         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
75050         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
75051         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
75052         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
75053         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
75054         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
75055         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
75056         * modules/yesno (EXTRA_DIST): Add yesno.h.
75057
75058 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75059
75060         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
75061
75062         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
75063         * m4/dev-ino.m4, same-inode.m4: Remove.
75064
75065         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
75066         * m4/acl.m4 (AC_FUNC_ACL):
75067         * m4/backupfile.m4 (gl_BACKUPFILE):
75068         * m4/c-strtod.m4 (gl_C99_STRTOLD):
75069         * m4/canon-host.m4 (gl_CANON_HOST):
75070         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75071         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
75072         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
75073         * m4/cloexec.m4 (gl_CLOEXEC):
75074         * m4/close-stream.m4 (gl_CLOSE_STREAM):
75075         * m4/closeout.m4 (gl_CLOSEOUT):
75076         * m4/dirfd.m4 (gl_FUNC_DIRFD):
75077         * m4/dirname.m4 (gl_DIRNAME):
75078         * m4/exclude.m4 (gl_EXCLUDE):
75079         * m4/exitfail.m4 (gl_EXITFAIL):
75080         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
75081         * m4/file-type.m4 (gl_FILE_TYPE):
75082         * m4/filemode.m4 (gl_FILEMODE):
75083         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
75084         * m4/fpending.m4 (gl_FUNC_FPENDING):
75085         * m4/fprintftime.m4 (gl_FPRINTFTIME):
75086         * m4/fts.m4 (gl_FUNC_FTS):
75087         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
75088         * m4/getdate.m4 (gl_GETDATE):
75089         * m4/gethrxtime.m4 (gl_GETHRXTIME):
75090         * m4/getpagesize.m4 (gl_GETPAGESIZE):
75091         * m4/getpass.m4 (gl_FUNC_GETPASS):
75092         * m4/gettime.m4 (gl_GETTIME):
75093         * m4/getugroups.m4 (gl_GETUGROUPS):
75094         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
75095         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
75096         * m4/hard-locale.m4 (gl_HARD_LOCALE):
75097         * m4/hash.m4 (gl_HASH):
75098         * m4/idcache.m4 (gl_IDCACHE):
75099         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
75100         * m4/lchown.m4 (gl_FUNC_LCHOWN):
75101         * m4/long-options.m4 (gl_LONG_OPTIONS):
75102         * m4/lstat.m4 (gl_FUNC_LSTAT):
75103         * m4/md5.m4 (gl_MD5):
75104         * m4/memcasecmp.m4 (gl_MEMCASECMP):
75105         * m4/memcoll.m4 (gl_MEMCOLL):
75106         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
75107         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
75108         * m4/memxor.m4 (gl_MEMXOR):
75109         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
75110         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
75111         * m4/modechange.m4 (gl_MODECHANGE):
75112         * m4/mountlist.m4 (gl_MOUNTLIST):
75113         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
75114         * m4/openat.m4 (gl_FUNC_OPENAT):
75115         * m4/pathmax.m4 (gl_PATHMAX):
75116         * m4/physmem.m4 (gl_PHYSMEM):
75117         * m4/posixtm.m4 (gl_POSIXTM):
75118         * m4/posixver.m4 (gl_POSIXVER):
75119         * m4/quote.m4 (gl_QUOTE):
75120         * m4/quotearg.m4 (gl_QUOTEARG):
75121         * m4/readtokens.m4 (gl_READTOKENS):
75122         * m4/readutmp.m4 (gl_READUTMP):
75123         * m4/regex.m4 (gl_REGEX):
75124         * m4/safe-read.m4 (gl_SAFE_READ):
75125         * m4/safe-write.m4 (gl_SAFE_WRITE):
75126         * m4/same.m4 (gl_SAME):
75127         * m4/save-cwd.m4 (gl_SAVE_CWD):
75128         * m4/savedir.m4 (gl_SAVEDIR):
75129         * m4/settime.m4 (gl_SETTIME):
75130         * m4/sha1.m4 (gl_SHA1):
75131         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
75132         * m4/stat-macros.m4 (gl_STAT_MACROS):
75133         * m4/stat-time.m4 (gl_STAT_TIME):
75134         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
75135         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
75136         * m4/strdup.m4 (gl_FUNC_STRDUP):
75137         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
75138         * m4/strndup.m4 (gl_FUNC_STRNDUP):
75139         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
75140         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
75141         * m4/time_r.m4 (gl_TIME_R):
75142         * m4/timespec.m4 (gl_TIMESPEC):
75143         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
75144         * m4/unlinkdir.m4 (gl_UNLINKDIR):
75145         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
75146         * m4/userspec.m4 (gl_USERSPEC):
75147         * m4/utimecmp.m4 (gl_UTIMECMP):
75148         * m4/utimens.m4 (gl_UTIMENS):
75149         * m4/xalloc.m4 (gl_XALLOC):
75150         * m4/xgetcwd.m4 (gl_XGETCWD):
75151         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
75152         * m4/xreadlink.m4 (gl_XREADLINK):
75153         * m4/xstrtod.m4 (gl_XSTRTOD):
75154         * m4/yesno.m4 (gl_YESNO):
75155         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75156         to get the necessary .h files and whatnot.
75157
75158 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
75159             Bruno Haible  <bruno@clisp.org>
75160
75161         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
75162         /bin/sh understanding of '!' conditional negation.
75163
75164 2006-08-21  Jim Meyering  <jim@meyering.net>
75165
75166         * modules/openat (Depends-on): Really alphabetize.
75167
75168         * modules/acl (Depends-on): Add error and quote.
75169
75170         * check-module (find_included_lib_files): Add at-func.c to the
75171         ok-to-include-more-than-once white list.
75172
75173         * modules/openat (Depends-on): Add lstat.  Alphabetize.
75174
75175 2006-08-21  Bruno Haible  <bruno@clisp.org>
75176
75177         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75178         Emit a pkgdata_DATA variable only if some snippets add contents to it.
75179         Reported by Martin Lambers <marlam@marlam.de>.
75180
75181 2006-08-21  Bruno Haible  <bruno@clisp.org>
75182
75183         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
75184         specify an installation location, don't emit a noinst_LIBRARIES or
75185         noinst_LTLIBRARIES assignment.
75186
75187 2006-08-21  Bruno Haible  <bruno@clisp.org>
75188
75189         BeOS portability.
75190         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
75191         BeOS has mbrtowc() but no <wctype.h>.
75192
75193 2006-08-21  Bruno Haible  <bruno@clisp.org>
75194
75195         BeOS portability.
75196         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
75197         exist.
75198
75199 2006-08-21  Bruno Haible  <bruno@clisp.org>
75200
75201         BeOS portability.
75202         * lib/mbchar.h: Include <wctype.h> only if it exists.
75203
75204 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75205
75206         Remove files that are no longer needed by their respective modules.
75207         * m4/obstack.m4: Remove.
75208         * m4/strerror_r.m4: Remove.
75209         * m4/uint32_t.m4: Remove.
75210         * m4/uintptr_t.m4: Remove.
75211         * m4/ullong_max.m4: Remove.
75212         * m4/xstrtoimax.m4: Remove.
75213         * m4/xstrtoumax.m4: Remove.
75214
75215         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
75216         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
75217         dependencies now capture this.
75218
75219         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
75220         Do not use AC_LIBSOURCES, since gnulib modules now do this.
75221         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
75222         * m4/human.m4 (gl_HUMAN): Likewise.
75223         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
75224         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
75225
75226         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
75227
75228         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
75229         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
75230         stdint.
75231         * m4/human.m4 (gl_HUMAN): Likewise.
75232         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
75233         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
75234         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75235         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75236         * m4/xstrtol (gl_XSTRTOL): Likewise.
75237
75238         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
75239         AC_TYPE_LONG_LONG_INT.
75240         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75241         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
75242         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
75243         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75244
75245         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
75246         on stdbool.
75247
75248         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
75249         (gl_PREREQ_XSTRTOUL): Remove.
75250
75251         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
75252
75253         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
75254         mode.
75255
75256 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75257
75258         Add and change modules to make it easier for coreutils to use
75259         gnulib-tool.
75260         * modules/backupfile (Files): Remove m4/d-ino.m4.
75261         (Depends-on): Add d-ino.
75262         * modules/cycle-check (Depends-on): Add stdint.
75263         (lib_SOURCES): Add cycle-check.h.
75264         * modules/d-ino: New module.
75265         * modules/d-type: New module.
75266         * modules/error (Files): Remove m4/strerror_r.m4.
75267         * modules/filemode (Files): Add m4/st_dm_mode.m4.
75268         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75269         m4/inttypes_h.m4, m4/uintmax_t.m4.
75270         (Depends-on): Add stdint.
75271         (lib_SOURCES): Add fsusage.h.
75272         * modules/getcwd (Files): Remove d-ino.m4.
75273         (Depends-on): Add d-ino.
75274         * modules/getndelim2 (Depends-on): Add stdint.
75275         * modules/glob (Files): Remove m4/d-type.m4.
75276         (Depends-on): Add d-type.
75277         * modules/host-os: New module.
75278         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
75279         m4/inttypes_h.m4, m4/uintmax_t.m4.
75280         * Depends-on: Add stdint.
75281         (lib_SOURCES): Add human.h.
75282         * modules/inttostr (Files): Remove m4/intmax_t.m4,
75283         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
75284         m4/uintmax_t.m4, m4/ulonglong.m4.
75285         (Depends-on): Add stdint.
75286         (EXTRA_DIST): Add inttostr.h.
75287         * modules/lchmod: New module.
75288         * modules/link-follow: New module.
75289         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
75290         (Depends-on): Add lchmod.
75291         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
75292         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
75293         (Depends-on): Add stdint.
75294         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
75295         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
75296         (Depends-on): Add stdint.
75297         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
75298         * modules/perl: New module.
75299         * modules/regex (Depends-on): Add stdint.
75300         * modules/rmdir-errno: New module.
75301         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75302         m4/intmax_t.m4.
75303         (Depends-on): Add stdint.
75304         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75305         m4/uintmax_t.m4.
75306         (Depends-on): Add stdint.
75307         * modules/unlink-busy: New module.
75308         * modules/utimecmp (Depends-on): Add stdint.
75309         * modules/uptime: New module.
75310         * modules/winsz-ioctl: New module.
75311         * modules/winsz-termios: New module.
75312         * modules/xnanosleep (Depends-on): Add nanosleep.
75313         * modules/ullong_max: Remove.
75314         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
75315         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
75316         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
75317         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
75318         (Depends-on): Add inttypes.
75319         (lib_SOURCES): Add xstrtol.h.
75320         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
75321         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
75322         * MODULES.html.sh: Move 'assert' into the assert section.
75323         Move 'dummy' into the linking section.
75324         Remove ullong_max.
75325         Add section for compatibility checks for POSIX:2001 functions,
75326         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
75327         winsz-ioctl, and winsz-termios into it.
75328         Add lchmod.
75329         Add top-level Misc section and put host-os, perl, and uptime
75330         into it.
75331
75332 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75333
75334         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
75335         now assume the stdint module.  Do not include inttypes.h.
75336         * lib/fsusage.h: Likewise.
75337         * lib/getndelim2.c: Likewise.
75338         * lib/human.h: Likewise.
75339         * lib/inttostr.h: Likewise.
75340         * lib/obstack.c: Likewise.
75341         * lib/regex_internal.h: Likewise.
75342         * lib/tempname.c: Likewise.
75343         * lib/utimecmp.c: Likewise.
75344         * lib/xstrtol.h: Likewise.
75345
75346         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
75347
75348         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
75349         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
75350         * lib/xtime.h: Likewise.
75351
75352 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75353
75354         * modules/openat (Files): Add lib/fchmodat.c.
75355         Fixes problem reported by Jay Youngman.
75356
75357 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75358
75359         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
75360         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
75361
75362 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
75363             Bruno Haible  <bruno@clisp.org>
75364
75365         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
75366         and is a script that invokes bison. Tighten the code. Add comments.
75367
75368 2006-08-18  Jim Meyering  <jim@meyering.net>
75369
75370         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
75371         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
75372         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
75373         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
75374
75375 2006-08-18  Bruno Haible  <bruno@clisp.org>
75376
75377         * modules/bison-i18n: New file.
75378         * MODULES.html.sh (Internationalization functions): Add it.
75379
75380 2006-08-18  Bruno Haible  <bruno@clisp.org>
75381
75382         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
75383         sys/statvfs.h. When getmntinfo was found, check its declaration and
75384         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
75385
75386 2006-08-18  Bruno Haible  <bruno@clisp.org>
75387
75388         * m4/bison-i18n.m4: New file, from bison.
75389
75390 2006-08-18  Bruno Haible  <bruno@clisp.org>
75391
75392         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
75393         (ME_DUMMY): Treat "kernfs" as a dummy.
75394         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
75395
75396 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75397
75398         Update from coreutils.
75399
75400         2006-08-15  Jim Meyering  <jim@meyering.net>
75401
75402         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
75403
75404         2006-01-17  Jim Meyering  <jim@meyering.net>
75405
75406         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
75407
75408         2006-01-11  Jim Meyering  <jim@meyering.net>
75409
75410         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
75411         Check for the lchmod function.
75412
75413 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75414
75415         Update from coreutils.
75416
75417         * lib/__fpending.h: Add copyright notice.
75418         * lib/fprintftime.h: Likewise.
75419         * lib/savedir.c: Use (C) in copyright notice.
75420         * lib/savedir.h: Likewise.
75421
75422         2006-08-15  Jim Meyering  <jim@meyering.net>
75423
75424         * lib/at-func.c: New file, with the logic of all emulated at-functions.
75425         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
75426         in support of the EXPECTED_ERRNO macro.
75427         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
75428         definitions.  Instead, define the appropriate symbols and include
75429         "at-func.c".
75430         * lib/mkdirat.c (mkdirat): Likewise.
75431         * lib/fchmodat.c (fchmodat): Likewise.
75432         (ENOSYS): Remove definition.
75433         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
75434         it.  Don't include "unistd--.h" -- it wasn't ever used.
75435
75436         2006-01-17  Jim Meyering  <jim@meyering.net>
75437
75438         Rewrite fts.c not to change the current working directory,
75439         by using openat, fstatat, fdopendir, etc..
75440
75441         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
75442         (HAVE_OPENAT_SUPPORT): Define.
75443         [_LIBC] (fchdir): Don't undef or define; no longer used.
75444         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
75445         Now, this `function' always succeeds, and consumes its file descriptor
75446         parameter -- so callers must not close such FDs.  Update callers.
75447         (diropen_fd, opendirat, cwd_advance_fd): New functions.
75448         (diropen): Add parameter, SP.  Adjust all callers.
75449         Implement using diropen_fd, rather than open.
75450         (fts_open): Initialize new member, fts_cwd_fd.
75451         Remove fts_rft-setting code.
75452         (fts_close): Close fts_cwd_fd, if necessary.
75453         (__opendir2): Define in terms of opendir or opendirat,
75454         depending on whether the FST_NOCHDIR flag is set.
75455         (fts_build): Since fts_safe_changedir consumes its FD, and since
75456         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
75457         and close the dup'd file descriptor upon failure.
75458         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
75459         (fts_safe_changedir): Tweak semantics to reflect that this function
75460         now calls cwd_advance_fd and hence consumes its FD argument.
75461         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
75462         [struct FTS] (fts_rft): Remove now-unused member.
75463         [struct FTS] (fts_cycle.state): Improve comment.
75464
75465         * lib/openat.c (openat_needs_fchdir): New function.
75466         * lib/openat.h (openat_needs_fchdir): Declare it.
75467
75468 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75469
75470         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
75471         Problem and fix reported by Pádraig Brady in
75472         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
75473
75474 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75475
75476         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
75477
75478 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75479
75480         * lib/memcoll.c (memcoll): Optimize for the common case where the
75481         arguments are bytewise equal.
75482
75483 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75484
75485         * doc/regexprops-generic.texi: Add a copyright notice.
75486
75487 2006-08-15  Bruno Haible  <bruno@clisp.org>
75488
75489         * modules/tmpdir (License): Change to LGPL.
75490
75491 2006-08-15  Bruno Haible  <bruno@clisp.org>
75492
75493         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
75494         module.
75495
75496 2006-08-14  Simon Josefsson  <jas@extundo.com>
75497
75498         * config/srclist.txt: Add gnupload.
75499
75500 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75501
75502         Change copyright notice from LGPL 2 to GPL 2, since that's the
75503         standard form used in the gnulib repository.
75504         * tests/test-lock.c: Likewise.
75505         * tests/test-stdint.c: Likewise.
75506         * tests/test-tls.c: Likewise.
75507
75508         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
75509         prelude-manager.  User shorter URLs for GNU projects, without '?'.
75510         Add copyright notice.
75511
75512         * check-module: Add copyright notice.  Output a copyright
75513         notice if "--version" is specified.
75514         * modules/COPYING: New file.
75515         * tests/test-getaddrinfo.c: Add copyright notice.
75516         * tests/test-verify.c: Likewise.
75517
75518 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75519
75520         Change copyright notice from LGPL 2 to GPL 2, since that's the
75521         standard form used in the gnulib repository.
75522         * lib/lock.c: LGPL -> GPL.
75523         * lib/lock.h: Likewise.
75524         * lib/strnlen1.c: Likewise.
75525         * lib/strnlen1.h: Likewise.
75526         * lib/tls.c: Likewise.
75527         * lib/tls.h: Likewise.
75528         * lib/tmpdir.c: Likewise.
75529
75530         * lib/TODO: Remove; this belongs only in coreutils.
75531
75532 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75533
75534         Add copyright notices to long-enough files that lack them, since
75535         otherwise the files aren't clearly free.  Use the same notice that
75536         getdate.texi already uses.
75537         * doc/alloca-opt.texi: Add copyright notice.
75538         * doc/alloca.texi: Likewise.
75539         * doc/ctime.texi: Likewise.
75540         * doc/functions.texi: Likewise.
75541         * doc/gcd.texi: Likewise.
75542         * doc/gnulib-tool.texi: Likewise.
75543         * doc/inet_ntoa.texi: Likewise.
75544         * doc/visibility.texi: Likewise.
75545
75546         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
75547         * doc/quote.texi: Add copyright notice.
75548
75549         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
75550         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
75551         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
75552         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
75553         is now obsolete, and give a pointer to the Sun list.
75554         Add copyright notice.
75555
75556 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75557
75558         * config/srclistvars.sh: Add copyright notice.
75559
75560 2006-08-14  Eric Blake  <ebb9@byu.net>
75561
75562         Import the following change from libc:
75563
75564         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
75565
75566         Upstream bug 2997.
75567         * lib/misc/error.c: Add space between program name and message if file
75568         name is missing.
75569
75570 2006-08-12  Karl Berry  <karl@gnu.org>
75571
75572         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
75573         remove, these originate in gnulib now.
75574
75575 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75576
75577         * doc/Makefile (standards.info standards.html standards.dvi):
75578         Also depend on make-stds.texi.
75579
75580 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75581
75582         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
75583         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
75584
75585         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
75586         in wchar_t.  Problem reported by Eric Blake.
75587
75588         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
75589         LEN is smaller than SIZE.  Suggested by Bruno Haible.
75590         Also, help the compiler to keep LEN in a register.
75591
75592 2006-08-11  Eric Blake  <ebb9@byu.net>
75593
75594         * users.txt: Sort.  Add tar.
75595
75596 2006-08-11  Bruno Haible  <bruno@clisp.org>
75597
75598         * users.txt: New file.
75599
75600 2006-08-11  Bruno Haible  <bruno@clisp.org>
75601
75602         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
75603         before <wchar.h>. Needed for OSF/1 and BSD/OS.
75604
75605 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
75606
75607         * modules/snprintf (Depends-on): Remove minmax.
75608         (Maintainer): Add self and Bruno.
75609
75610 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
75611
75612         * lib/.cppi-disable: Add snprintf.h, socket_.h.
75613         * lib/snprintf.c: Include <errno.h> and <limits.h>.
75614         (EOVERFLOW): Define if the system does not.
75615         Do not include "minmax.h"; it wasn't used.
75616         (snprintf): Don't assume size_t promotes to an unsigned type.
75617         Fix bug when generated string was too long for the buffer: the
75618         buffer's contents are supposed to be the initial prefix of the
75619         output.  Don't assume vasnprintf returns EOVERFLOW if the size
75620         exceeds INT_MAX; do the check ourselves.
75621
75622         Import the following changes from libc:
75623
75624         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
75625
75626         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
75627         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
75628         set wc to the byte which couldn't be converted.
75629         (re_string_reconstruct): Don't clear valid_raw_len before calling
75630         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
75631         tip_context using re_string_context_at.
75632
75633         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
75634
75635         * lib/posix/regex.h: g++ still cannot handled [restrict].
75636
75637         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
75638
75639         * lib/posix/regex.h: Remove special handling for VMS.
75640
75641 2006-08-10  Jim Meyering  <jim@meyering.net>
75642
75643         * modules/same-inode: New module.
75644         * modules/dev-ino: New module.
75645         * modules/cycle-check: Depend on these modules, rather than simply
75646         including their .h files.
75647         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
75648         required via m4/cycle-check.m4.
75649         * modules/same: Depend on new same-inode module, rather than
75650         including same-inode.h.
75651         * modules/chdir-safer: New file.
75652
75653         * modules/chown (Depends-on): Add stat-macros.
75654
75655 2006-08-10  Jim Meyering  <jim@meyering.net>
75656
75657         * m4/cycle-check.m4: New file.
75658         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
75659         * m4/dev-ino.m4, m4/same-inode.m4: New files.
75660
75661 2006-08-10  Eric Blake  <ebb9@byu.net>
75662
75663         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
75664         in from original proposal.
75665
75666 2006-08-10  Eric Blake  <ebb9@byu.net>
75667         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75668
75669         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
75670         namespace.
75671
75672 2006-08-10  Bruno Haible  <bruno@clisp.org>
75673
75674         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
75675         as well.
75676
75677 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75678
75679         Sync from coreutils.
75680
75681         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
75682
75683         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
75684         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
75685
75686 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75687
75688         * modules/restrict: Remove; no longer needed now that we assume
75689         Autoconf 2.59 or later.
75690         * MODULES.html.sh: Remove 'restrict'.
75691         * modules/argp (Depends-on): Remove 'restrict'.
75692         * modules/base64 (Depends-on): Likewise.
75693         * modules/gc (Depends-on): Likewise.
75694         * modules/getaddrinfo (Depends-on): Likewise.
75695         * modules/glob (Depends-on): Likewise.
75696         * modules/inet_ntop (Depends-on): Likewise.
75697         * modules/inet_pton (Depends-on): Likewise.
75698         * modules/memxor (Depends-on): Likewise.
75699         * modules/regex (Depends-on): Likewise.
75700         * modules/strtok_r (Depends-on): Likewise.
75701         * modules/time_r (Depends-on): Likewise.
75702
75703 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75704
75705         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
75706         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
75707         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75708         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
75709         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
75710         * m4/memxor.m4 (gl_MEMXOR): Likewise.
75711         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
75712         gl_C_RESTRICT replaced by AC_C_RESTRICT.
75713
75714         Merge from coreutils.
75715         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
75716         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
75717         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
75718         * m4/time_r.m4 (gl_TIME_R): Likewise.
75719
75720 2006-08-09  Karl Berry  <karl@gnu.org>
75721
75722         * config/srclist.txt: no more gettext-tools, per Bruno.
75723
75724 2006-08-08  Eric Blake  <ebb9@byu.net>
75725
75726         * modules/verror: New module.
75727         * MODULES.html.sh: Document it.
75728
75729 2006-08-08  Eric Blake  <ebb9@byu.net>
75730
75731         * lib/verror.h, lib/verror.c: New files.
75732
75733 2006-08-08  Eric Blake  <ebb9@byu.net>
75734
75735         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
75736         verror_at_line output complies with GNU Coding Standards even when
75737         file is NULL.
75738
75739 2006-08-07  Bruno Haible  <bruno@clisp.org>
75740
75741         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
75742         versions of AIX.
75743         Reported by Ralf Wildenhues.
75744
75745 2006-08-07  Bruno Haible  <bruno@clisp.org>
75746
75747         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
75748         in an AC_DEFUN. Needed so that the autoconf snippets can use
75749         AC_REQUIRE.
75750
75751 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75752
75753         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75754         Initialize pkgdata_DATA.
75755         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
75756         overriding it.
75757
75758 2006-08-06  Eric Blake  <ebb9@byu.net>
75759
75760         * lib/error.h: Fold in some upstream changes from glibc.
75761         * lib/error.c: Likewise.
75762
75763 2006-08-04  Bruno Haible  <bruno@clisp.org>
75764
75765         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75766         Make the mostlyclean-local rule depend on mostlyclean-generic.
75767         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
75768
75769 2006-07-31  Bruno Haible  <bruno@clisp.org>
75770
75771         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
75772         <stdlib.h>, <string.h>.
75773
75774 2006-07-30  Bruno Haible  <bruno@clisp.org>
75775
75776         * modules/readlink (License): Change to LGPL.
75777
75778 2006-07-30  Bruno Haible  <bruno@clisp.org>
75779
75780         * modules/javaversion (Makefile.am): Distribute javaversion.java and
75781         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
75782         set PKGDATADIR to point to it.
75783
75784 2006-07-30  Bruno Haible  <bruno@clisp.org>
75785
75786         * modules/csharpexec (configure.ac): Comment out macro invocation.
75787         * modules/javaexec (configure.ac): Likewise.
75788         * modules/javacomp-script (configure.ac): Likewise.
75789
75790         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
75791
75792 2006-07-30  Bruno Haible  <bruno@clisp.org>
75793
75794         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
75795         linked-list.
75796
75797 2006-07-30  Bruno Haible  <bruno@clisp.org>
75798
75799         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
75800
75801 2006-07-30  Bruno Haible  <bruno@clisp.org>
75802
75803         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75804         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
75805         get removed.
75806
75807 2006-07-29  Bruno Haible  <bruno@clisp.org>
75808
75809         Make it possible for gnulib-tool to work with locally modified or
75810         augmented gnulib repositories.
75811         * gnulib-tool (func_usage): Document --local-dir option.
75812         (local_gnulib_dir): New variable.
75813         Handle --local-dir option.
75814         (func_lookup_file): New function.
75815         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
75816         (func_get_description, func_get_filelist, func_get_description,
75817         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
75818         func_get_automake_snippet, func_get_include_directive,
75819         func_get_license, func_get_maintainer): Use func_lookup_file.
75820         (func_import, func_create_testdir): Use func_lookup_file.
75821
75822 2006-07-29  Bruno Haible  <bruno@clisp.org>
75823
75824         * modules/setenv (Depends-on): Add unistd.
75825
75826 2006-07-29  Bruno Haible  <bruno@clisp.org>
75827
75828         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
75829
75830 2006-07-29  Bruno Haible  <bruno@clisp.org>
75831
75832         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
75833
75834 2006-07-29  Bruno Haible  <bruno@clisp.org>
75835
75836         * gnulib-tool (import, update): If there is no Makefile.am, look at
75837         aclocal.m4, instead of bailing out.
75838
75839 2006-07-29  Bruno Haible  <bruno@clisp.org>
75840
75841         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
75842         Categorize the options by when they are useful.
75843
75844 2006-07-29  Bruno Haible  <bruno@clisp.org>
75845
75846         * gnulib-tool (func_usage): Document option --no-libtool.
75847         Handle option --no-libtool.
75848         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
75849         for changed semantics of $libtool variable.
75850         (func_import): Likewise. If libtool is not used, show this through
75851         an option --no-libtool.
75852         (func_create_testdir): Update.
75853
75854 2006-07-29  Bruno Haible  <bruno@clisp.org>
75855
75856         * gnulib-tool (func_import): Extend error message about missing
75857         --doc-base.
75858
75859 2006-07-29  Bruno Haible  <bruno@clisp.org>
75860
75861         * gnulib-tool (func_import): Don't create the $docbase directory if
75862         there is no file to store there.
75863
75864 2006-07-29  Bruno Haible  <bruno@clisp.org>
75865
75866         * gnulib-tool (autoconf_minversion): If a --dir option is given and
75867         relevant, look for configure.ac there, not in the current directory.
75868         Also use a simple search for AC_PREREQ, not "autoconf --trace".
75869
75870 2006-07-29  Bruno Haible  <bruno@clisp.org>
75871
75872         * gnulib-tool (SORT): New variable.
75873         (func_usage): Undocument --assume-autoconf option.
75874         Remove --assume-autoconf option handling.
75875         (autoconf_minversion): Determine from the contents of configure.ac.
75876         (func_import): Remove autoconf_minversion handling.
75877         Suggested by Eric Blake.
75878
75879 2006-07-29  Bruno Haible  <bruno@clisp.org>
75880
75881         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
75882
75883 2006-07-29  Bruno Haible  <bruno@clisp.org>
75884
75885         * config/srclist.txt (*setenv.[ch]): Remove rules.
75886
75887 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75888
75889         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
75890
75891 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75892
75893         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
75894         arpa/inet.h.
75895
75896 2006-07-28  Simon Josefsson  <jas@extundo.com>
75897
75898         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
75899         * modules/inet_pton (Depends-on): Likewise.
75900
75901 2006-07-28  Simon Josefsson  <jas@extundo.com>
75902
75903         * m4/netinet_in_h.m4: New file.
75904
75905 2006-07-28  Simon Josefsson  <jas@extundo.com>
75906
75907         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
75908         #include's.
75909
75910 2006-07-28  Simon Josefsson  <jas@extundo.com>
75911
75912         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
75913         #include's.
75914
75915 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
75916
75917         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
75918         setgid on directories only if they set these bits.
75919         * lib/modechange.h: Remove obsolete comment about masks.
75920
75921 2006-07-28  Eric Blake  <ebb9@byu.net>
75922
75923         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
75924         macro expansion.
75925
75926 2006-07-28  Bruno Haible  <bruno@clisp.org>
75927
75928         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
75929
75930 2006-07-28  Bruno Haible  <bruno@clisp.org>
75931
75932         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
75933
75934 2006-07-28  Bruno Haible  <bruno@clisp.org>
75935
75936         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
75937         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
75938         Define fallbacks.
75939         Avoids link error on FreeBSD 4.x.
75940         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75941
75942         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
75943         encoding.
75944         * lib/mbswidth.c (iswcntrl): Likewise.
75945
75946 2006-07-27  Bruno Haible  <bruno@clisp.org>
75947
75948         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
75949         test.
75950
75951 2006-07-27  Bruno Haible  <bruno@clisp.org>
75952
75953         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
75954         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
75955         defined.
75956
75957 2006-07-26  Eric Blake  <ebb9@byu.net>
75958
75959         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
75960
75961 2006-07-26  Eric Blake  <ebb9@byu.net>
75962
75963         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
75964         like mingw that lack mkstemp.
75965         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
75966         avoid compilation warning on mingw.
75967
75968 2006-07-26  Bruno Haible  <bruno@clisp.org>
75969
75970         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
75971         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
75972         INT_FAST*_MIN, INTPTR_MIN.
75973
75974 2006-07-25  Bruno Haible  <bruno@clisp.org>
75975
75976         * modules/version-etc (Depends-on): Add stdarg.
75977
75978 2006-07-25  Bruno Haible  <bruno@clisp.org>
75979
75980         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
75981         complex commands.
75982
75983 2006-07-25  Bruno Haible  <bruno@clisp.org>
75984
75985         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
75986         defined in <stdarg.h> or config.h.
75987
75988 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75989
75990         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
75991         (gl_STDIO_SAFER): Remove.
75992
75993 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75994
75995         * MODULES.html.sh (File stream based Input/Output):
75996         Add fopen-safer, tmpfile-safer; remove stdio-safer.
75997         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
75998         * modules/fopen-safer, modules/tmpfile-safer: New files.
75999         * modules/stdio-safer: Remove.
76000
76001 2006-07-24  Bruno Haible  <bruno@clisp.org>
76002
76003         * modules/tmpdir: New file.
76004         * MODULES.html.sh (File system functions): Add it.
76005
76006 2006-07-24  Bruno Haible  <bruno@clisp.org>
76007
76008         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
76009         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
76010
76011 2006-07-24  Bruno Haible  <bruno@clisp.org>
76012
76013         * modules/clean-temp: New file.
76014
76015 2006-07-24  Bruno Haible  <bruno@clisp.org>
76016
76017         * m4/tmpdir.m4: New file, from GNU gettext.
76018
76019 2006-07-24  Bruno Haible  <bruno@clisp.org>
76020
76021         * lib/tmpdir.h: New file, from GNU gettext.
76022         * lib/tmpdir.c: New file, from GNU gettext.
76023
76024 2006-07-24  Bruno Haible  <bruno@clisp.org>
76025
76026         * lib/clean-temp.h: New file, from GNU gettext.
76027         * lib/clean-temp.c: New file, from GNU gettext.
76028
76029 2006-07-23  Eric Blake  <ebb9@byu.net>
76030
76031         * modules/stdio-safer (Files): Add tmpfile-safer.c.
76032         (Depends-on): Add binary-io.
76033
76034 2006-07-23  Eric Blake  <ebb9@byu.net>
76035
76036         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
76037
76038 2006-07-23  Eric Blake  <ebb9@byu.net>
76039
76040         * lib/tmpfile-safer.c: New file.
76041         * lib/stdio-safer.h (fopen_safer): Add prototype.
76042         * lib/stdio--.h (tmpfile): Make safer.
76043
76044 2006-07-23  Bruno Haible  <bruno@clisp.org>
76045
76046         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
76047         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
76048         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
76049         gl_linked_remove_at): Use it.
76050
76051 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76052         and Simon Josefsson <jas@extundo.com>
76053
76054         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
76055
76056         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
76057
76058 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76059
76060         * modules/close-stream: New file.
76061         * modules/closeout (Description): Make it clear that it exits
76062         with a diagnostic on error.
76063         (Depends-on): Add close-stream.  Remove fpending, stdbool.
76064         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
76065
76066 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76067
76068         * m4/close-stream.m4: New file.
76069
76070 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76071
76072         * lib/close-stream.c, lib/close-stream.h: New files.
76073
76074 2006-07-22  Bruno Haible  <bruno@clisp.org>
76075
76076         Merge from GNU gettext 0.15.
76077
76078         2006-05-01  Bruno Haible  <bruno@clisp.org>
76079
76080                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
76081
76082         2006-07-22  Bruno Haible  <bruno@clisp.org>
76083
76084                 * modules/javaversion: New file.
76085                 * MODULES.html.sh (Java): Add javaversion.
76086
76087         2006-03-12  Bruno Haible  <bruno@clisp.org>
76088
76089                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
76090
76091         2005-12-04  Bruno Haible  <bruno@clisp.org>
76092
76093                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
76094                 (untested).
76095
76096         2006-06-21  Bruno Haible  <bruno@clisp.org>
76097
76098                 Avoid warnings from recent versions of mcs.
76099                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
76100                 -o, -L, -r any more. Use options documented since mcs-1.0
76101                 instead. Similarly for -g.
76102
76103         2005-12-04  Bruno Haible  <bruno@clisp.org>
76104
76105                 * build-aux/csharpcomp.sh.in: Suffix for resources is
76106                 .resources, not .resource.
76107
76108         2005-07-09  Bruno Haible  <bruno@clisp.org>
76109
76110                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
76111                 add a .dll suffix.
76112                 Reported by Mark Junker <mjscod@gmx.de>.
76113
76114         2006-07-22  Bruno Haible  <bruno@clisp.org>
76115
76116                 * modules/gettext: Upgrade to gettext-0.15.
76117                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
76118                 m4/visibility.m4.
76119                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
76120
76121 2006-07-22  Bruno Haible  <bruno@clisp.org>
76122
76123         Merge from GNU gettext 0.15.
76124
76125         2006-03-25  Bruno Haible  <bruno@clisp.org>
76126
76127                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
76128
76129         2006-07-21  Bruno Haible  <bruno@clisp.org>
76130
76131                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
76132                 "1.1".
76133
76134         2006-05-09  Bruno Haible  <bruno@clisp.org>
76135
76136                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
76137                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
76138                 for the conftestver execution.
76139
76140         2006-05-01  Bruno Haible  <bruno@clisp.org>
76141
76142                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
76143                 optional target-version argument. Verify that the compiler
76144                 groks source of the specified source-version, or add -source
76145                 option as necessary. Verify that the compiler produces
76146                 bytecode in the specified target-version, or add -target and
76147                 -source options as necessary. Make the result of the test
76148                 available as variable CONF_JAVAC. Also log error output in
76149                 config.log.
76150
76151         2006-03-11  Bruno Haible  <bruno@clisp.org>
76152
76153                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
76154
76155         2006-05-09  Bruno Haible  <bruno@clisp.org>
76156
76157                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
76158                 CLASSPATH_SEPARATOR to a semicolon.
76159
76160         2006-03-12  Bruno Haible  <bruno@clisp.org>
76161
76162                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
76163                 available as variable CONF_JAVA, for subsequent autoconf
76164                 tests. Also log error output in config.log.
76165
76166         2006-07-19  Bruno Haible  <bruno@clisp.org>
76167
76168                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
76169                 that getline works on glibc2 systems. Needed to avoid trouble
76170                 in relocatable.c.
76171                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
76172
76173         2005-12-04  Bruno Haible  <bruno@clisp.org>
76174
76175                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
76176                 launcher (untested).
76177
76178         2005-12-04  Bruno Haible  <bruno@clisp.org>
76179
76180                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
76181
76182         2006-07-22  Bruno Haible  <bruno@clisp.org>
76183
76184                 * gettext.m4: Update from GNU gettext-0.15.
76185                 * nls.m4: Likewise.
76186                 * po.m4: Likewise.
76187                 * inttypes-pri.m4: Likewise.
76188                 * inttypes-h.m4: Renamed from inttypes.m4.
76189                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
76190
76191 2006-07-22  Bruno Haible  <bruno@clisp.org>
76192
76193         Merge from GNU gettext 0.15.
76194
76195         2005-07-05  Bruno Haible  <bruno@clisp.org>
76196
76197                 * printf-args.c (printf_fetchargs): Work around broken
76198                 definition of wint_t on mingw.
76199
76200         2005-02-12  Bruno Haible  <bruno@clisp.org>
76201
76202                 * xallocsa.h: Add extern "C" for C++.
76203
76204         2006-05-17  Bruno Haible  <bruno@clisp.org>
76205
76206                 Cygwin portability.
76207                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
76208
76209         2006-04-30  Bruno Haible  <bruno@clisp.org>
76210
76211                 * progreloc.c: Include <mach-o/dyld.h> if available.
76212                 (find_executable): Use _NSGetExecutablePath when possible.
76213
76214         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76215
76216                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
76217                 function.
76218
76219         2005-12-29  Bruno Haible  <bruno@clisp.org>
76220
76221                 * progreloc.c (set_program_name_and_installdir): Fix
76222                 compilation error.
76223
76224         2005-12-04  Bruno Haible  <bruno@clisp.org>
76225
76226                 Cygwin portability.
76227                 * progreloc.c: Include <windows.h> also on Cygwin.
76228                 (find_executable): Add support for Cygwin.
76229                 (set_program_name_and_installdir): Handle also platforms with
76230                 nonempty EXEEXT.
76231
76232         2006-07-11  Bruno Haible  <bruno@clisp.org>
76233
76234                 * javacomp.c: Fix a comment.
76235                 Reported by Jim Meyering.
76236
76237         2006-04-30  Bruno Haible  <bruno@clisp.org>
76238
76239                 * javacomp.h (compile_java_class): Add source_version,
76240                 target_version arguments.
76241                 * javacomp.c: Rewritten to choose only a compiler that
76242                 respects the specified source_version and target_version.
76243
76244         2006-06-27  Bruno Haible  <bruno@clisp.org>
76245
76246                 Assume correct S_ISDIR macro.
76247                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
76248
76249         2006-07-22  Bruno Haible  <bruno@clisp.org>
76250
76251                 * javaversion.h: New file, from GNU gettext.
76252                 * javaversion.c: New file, from GNU gettext.
76253                 * javaversion.java: New file, from GNU gettext.
76254                 * javaversion.class: New file, from GNU gettext.
76255
76256         2006-05-17  Bruno Haible  <bruno@clisp.org>
76257
76258                 Cygwin portability.
76259                 * javaexec.c (execute_java_class): Test for jview program
76260                 also on Cygwin.
76261
76262         2006-04-09  Bruno Haible  <bruno@clisp.org>
76263
76264                 * fatal-signal.c: Don't include string.h.
76265                 (at_fatal_signal): Use a copying loop instead of memcpy.
76266
76267         2005-12-04  Bruno Haible  <bruno@clisp.org>
76268
76269                 * csharpexec.c: Add support for 'clix' launcher (untested).
76270                 (execute_csharp_using_sscli): New function.
76271                 (execute_csharp_program): Call it.
76272
76273         2006-06-21  Bruno Haible  <bruno@clisp.org>
76274
76275                 Avoid warnings from recent versions of mcs.
76276                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
76277                 -o, -L, -r any more. Use options documented since mcs-1.0
76278                 instead. Similarly for -g.
76279
76280         2005-07-09  Bruno Haible  <bruno@clisp.org>
76281
76282                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
76283                 add a .dll suffix.
76284                 Reported by Mark Junker <mjscod@gmx.de>.
76285
76286         2006-06-17  Bruno Haible  <bruno@clisp.org>
76287
76288                 * config.charset: Update for NetBSD 3.0.
76289
76290         2006-05-17  Bruno Haible  <bruno@clisp.org>
76291
76292                 Cygwin portability.
76293                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
76294
76295         2006-05-16  Bruno Haible  <bruno@clisp.org>
76296
76297                 * localcharset.c [CYGWIN]: Include <windows.h>.
76298                 (get_charset_aliases): For Cygwin, return the same CPxxx
76299                 aliases list as under WIN32.
76300                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
76301                 the environment variables. Fall back to GetACP().
76302
76303         2006-04-05  Bruno Haible  <bruno@clisp.org>
76304
76305                 * config.charset: Update Juan Manuel Guerrero's address.
76306
76307         2005-02-12  Bruno Haible  <bruno@clisp.org>
76308
76309                 * allocsa.h: Add extern "C" for C++.
76310
76311         2005-02-10  Bruno Haible  <bruno@clisp.org>
76312
76313                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
76314                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
76315
76316         2006-07-22  Bruno Haible  <bruno@clisp.org>
76317
76318                 * gettext.h: Update to GNU gettext-0.15.
76319
76320 2006-07-22  Bruno Haible  <bruno@clisp.org>
76321
76322         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
76323         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
76324         lib-prefix.m4, longdouble.m4, ssize_t.m4.
76325
76326 2006-07-21  Eric Blake  <ebb9@byu.net>
76327
76328         * modules/stdlib-safer: New file.
76329         * MODULES.html.sh (File stream based Input/Output): Add
76330         stdlib-safer.
76331
76332 2006-07-21  Eric Blake  <ebb9@byu.net>
76333
76334         * lib/stdlib-safer.h: New file from coreutils, required by
76335         stdlib--.h.
76336
76337 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
76338
76339         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
76340
76341 2006-07-20  Bruno Haible  <bruno@clisp.org>
76342
76343         * gnulib-tool: Recognize new option --assume-autoconf.
76344         (autoconf_minversion): New variable.
76345         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
76346
76347 2006-07-20  Bruno Haible  <bruno@clisp.org>
76348
76349         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
76350
76351 2006-07-19  Derek R. Price  <derek@ximbiot.com>
76352
76353         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
76354         Reindent and repaginate.
76355
76356 2006-07-19  Derek Price  <derek@ximbiot.com>
76357
76358         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
76359         Correct grammar.
76360
76361 2006-07-17  Bruno Haible  <bruno@clisp.org>
76362
76363         * modules/list: New file.
76364         * modules/array-list: New file.
76365         * modules/carray-list, modules/carray-list-tests: New files.
76366         * modules/linked-list, modules/linked-list-tests: New files.
76367         * modules/avltree-list, modules/avltree-list-tests: New files.
76368         * modules/rbtree-list, modules/rbtree-list-tests: New files.
76369         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
76370         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
76371         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
76372         * modules/oset: New file.
76373         * modules/array-oset: New file.
76374         * modules/avltree-oset, modules/avltree-oset-tests: New files.
76375         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
76376         * tests/test-carray_list.c: New file.
76377         * tests/test-linked_list.c: New file.
76378         * tests/test-avltree_list.c: New file.
76379         * tests/test-rbtree_list.c: New file.
76380         * tests/test-linkedhash_list.c: New file.
76381         * tests/test-avltreehash_list.c: New file.
76382         * tests/test-rbtreehash_list.c: New file.
76383         * tests/test-avltree_oset.c: New file.
76384         * tests/test-rbtree_oset.c: New file.
76385         * MODULES.html.sh (Container data structures): New section.
76386
76387 2006-07-17  Bruno Haible  <bruno@clisp.org>
76388
76389         * m4/gl_list.m4: New file.
76390
76391 2006-07-17  Bruno Haible  <bruno@clisp.org>
76392
76393         * lib/gl_list.h: New file.
76394         * lib/gl_list.c: New file.
76395         * lib/gl_array_list.h: New file.
76396         * lib/gl_array_list.c: New file.
76397         * lib/gl_carray_list.h: New file.
76398         * lib/gl_carray_list.c: New file.
76399         * lib/gl_linked_list.h: New file.
76400         * lib/gl_linked_list.c: New file.
76401         * lib/gl_anylinked_list1.h: New file.
76402         * lib/gl_anylinked_list2.h: New file.
76403         * lib/gl_avltree_list.h: New file.
76404         * lib/gl_avltree_list.c: New file.
76405         * lib/gl_anyavltree_list1.h: New file.
76406         * lib/gl_anyavltree_list2.h: New file.
76407         * lib/gl_rbtree_list.h: New file.
76408         * lib/gl_rbtree_list.c: New file.
76409         * lib/gl_anyrbtree_list1.h: New file.
76410         * lib/gl_anyrbtree_list2.h: New file.
76411         * lib/gl_anytree_list1.h: New file.
76412         * lib/gl_anytree_list2.h: New file.
76413         * lib/gl_linkedhash_list.h: New file.
76414         * lib/gl_linkedhash_list.c: New file.
76415         * lib/gl_anyhash_list1.h: New file.
76416         * lib/gl_anyhash_list2.h: New file.
76417         * lib/gl_avltreehash_list.h: New file.
76418         * lib/gl_avltreehash_list.c: New file.
76419         * lib/gl_rbtreehash_list.h: New file.
76420         * lib/gl_rbtreehash_list.c: New file.
76421         * lib/gl_anytreehash_list1.h: New file.
76422         * lib/gl_anytreehash_list2.h: New file.
76423
76424         * lib/gl_oset.h: New file.
76425         * lib/gl_oset.c: New file.
76426         * lib/gl_array_oset.h: New file.
76427         * lib/gl_array_oset.c: New file.
76428         * lib/gl_avltree_oset.h: New file.
76429         * lib/gl_avltree_oset.c: New file.
76430         * lib/gl_rbtree_oset.h: New file.
76431         * lib/gl_rbtree_oset.c: New file.
76432         * lib/gl_anytree_oset.h: New file.
76433
76434 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76435
76436         * m4/mkancesdirs.m4: New file.
76437         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
76438         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
76439         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
76440         it.
76441
76442 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76443
76444         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
76445         * lib/mkancesdirs.h: New files.
76446         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
76447         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
76448         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
76449         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
76450         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
76451         callers changed.  Revamp internals significantly, by not
76452         attempting to create directories that are temporarily more
76453         permissive than the final results.  Do not attempt to use
76454         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
76455         This removes some race conditions, fixes some bugs, and simplifies
76456         things.  Use new dirchownmod function to do owner and mode changes.
76457         * lib/mkdir-p.h: Likewise.
76458         * lib/modechange.c (octal_to_mode): New function.
76459         (struct mode_change): New member mentioned.
76460         (make_node_op_equals): New arg mentioned.  All callers changed.
76461         (mode_compile): Keep track of which mode bits the user has explicitly
76462         mentioned.
76463         (mode_adjust): New arg DIR, so that we implement the X op correctly.
76464         New arg PMODE_BITS, to keep track of which mode bits the user
76465         mentioned; it treats S_ISUID and S_ISGID speciall.
76466         All callers changed.
76467         * lib/modechange.h: Likewise.
76468
76469 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76470
76471         * MODULES.html.sh: Add mkancestors.
76472         * modules/mkancesdirs: New module.
76473         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
76474         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
76475         The chdir-safer and afs files are now orphans; I'll remove them
76476         unless someone speaks up.
76477         Add lib/dirchownmod.c, lib/dirchownmod.h.
76478         (Depends-on): Remove alloca, chown, save-cwd, dirname.
76479         Add lchown, mkancesdirs.
76480         (Maintainer): Add self.
76481
76482 2006-07-15  Karl Berry  <karl@gnu.org>
76483
76484         * gnulib-tool: help message wording/arrangement.
76485
76486 2006-07-14  Simon Josefsson  <jas@extundo.com>
76487
76488         * doc/gnulib.texi (Libtool and Windows): New section.
76489
76490 2006-07-12  Simon Josefsson  <jas@extundo.com>
76491
76492         * modules/gendocs (License): Fix license, approved by Karl.
76493
76494 2006-07-12  Eric Blake  <ebb9@byu.net>
76495
76496         * MODULES.html.sh: Add gendocs.
76497
76498 2006-07-11  Eric Blake  <ebb9@byu.net>
76499
76500         * modules/fdl: New module, to install doc/fdl.texi.
76501         * MODULES.html.sh: Add new section for documentation modules.
76502         * gnulib-tool: Avoid space-tab.
76503         (--doc-base): New option, to manage files from doc.
76504
76505 2006-07-11  Eric Blake  <ebb9@byu.net>
76506
76507         * m4/absolute-header.m4: Fix comments to match recent change.
76508
76509 2006-07-11  Eric Blake  <ebb9@byu.net>
76510
76511         * gnulib-tool: List --doc-base before --tests-base.
76512
76513 2006-07-11  Derek R. Price  <derek@ximbiot.com>
76514
76515         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
76516
76517 2006-07-11  Bruno Haible  <bruno@clisp.org>
76518
76519         * README: Mention where to put documentation.
76520
76521 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76522
76523         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
76524
76525 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
76526
76527         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
76528         to stdint.m4.
76529
76530 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
76531
76532         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
76533         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
76534         "no/such/file/stdint.h" when there is no such file, so that
76535         the resulting C code can be parsed by dodgy compilers.
76536         Problems reported by Bob Proulx.
76537
76538 2006-07-10  Derek R. Price  <derek@ximbiot.com>
76539
76540         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
76541         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
76542         macros into the GNU _D_EXACT_NAMLEN.
76543         * lib/savedir.c:  Likewise.
76544         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
76545
76546 2006-07-10  Derek R. Price  <derek@ximbiot.com>
76547         and Paul Eggert  <eggert@cs.ucla.edu>
76548
76549         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
76550         * m4/savedir.m4:
76551         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
76552         macros into the GNU _D_EXACT_NAMLEN.
76553
76554 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76555
76556         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
76557         around the absolute name, to work around a problem with the HP-UX
76558         11.23 native C compiler, reported by Bob Proulx.
76559
76560 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76561
76562         * doc/maintain.texi, make-stds.texi: Sync from
76563         <http://savannah.gnu.org/projects/gnustandards>.
76564
76565 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76566
76567         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
76568
76569 2006-07-09  Jim Meyering  <jim@meyering.net>
76570
76571         * m4/glob.m4: Remove a doubled word in a comment.
76572
76573 2006-07-09  Jim Meyering  <jim@meyering.net>
76574
76575         * lib/argp-pv.c: Remove a doubled word in a comment.
76576         * lib/check-version.c (check_version): Likewise.
76577         * lib/javacomp.c (compile_java_class): Likewise.
76578
76579 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76580
76581         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
76582         for the benefit of people using Autoconf 2.60.  If you want to
76583         support older Autoconf versions you can copy m4/onceonly_2_57.m4
76584         (or m4/onceonly.m4, if pre-2.57) manually.
76585
76586 2006-07-08  Jim Meyering  <jim@meyering.net>
76587
76588         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
76589         comment.
76590         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
76591         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
76592         comment.
76593
76594 2006-07-08  Jim Meyering  <jim@meyering.net>
76595
76596         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
76597
76598 2006-07-07  Simon Josefsson  <jas@extundo.com>
76599
76600         * tests/test-crc.c: Change expected crc value, the test vector
76601         were probably computed using the old broken crc.c?
76602
76603 2006-07-06  Simon Josefsson  <jas@extundo.com>
76604
76605         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
76606         now the canonical place for the M4 file).
76607
76608         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
76609         from the sys_socket dependency now.
76610
76611         * modules/inet_pton (Files): Ditto.
76612
76613         * modules/inet_ntop (Files): Ditto.
76614
76615 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76616
76617         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
76618         not gl_PREREQ_GETUSERSHELL.
76619
76620 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76621
76622         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
76623         with only one argument, for Autoconf 2.60.
76624         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
76625         expand to nothing, so add a shell command to avoid syntax error.
76626         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76627
76628 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76629
76630         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
76631
76632 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76633
76634         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
76635         no longer needed.  Check for isblank decl.
76636         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
76637         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
76638         of existence.
76639
76640 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76641
76642         * lib/getloadavg.c: Use __VMS, not VMS.
76643         * lib/getopt.c: Likewise.
76644         * lib/getpagesize.h: Likewise.
76645         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
76646         and probably does not work.
76647
76648 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76649
76650         * lib/.cppi-disable: Add wcwidth.
76651         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
76652         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
76653         (ISGRAPH): Remove.  All uses changed to isgraph.
76654         (FOLD) [!defined _LIBC]: Remove special case.
76655         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
76656         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
76657         HAVE_ISBLANK.
76658         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
76659         case.
76660
76661 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
76662
76663         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
76664         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
76665         brackets.  Other minor changes to suppress some compiler
76666         warnings.
76667
76668 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76669         and Paul Eggert  <eggert@cs.ucla.edu>
76670
76671         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
76672         of invoking obsolescent AC_HEADER_DIRENT macro.
76673         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
76674         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
76675         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
76676         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
76677         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
76678         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76679         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
76680         * m4/readdir.m4: Remove; no longer needed.
76681
76682 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76683         and Paul Eggert  <eggert@cs.ucla.edu>
76684
76685         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
76686         Don't worry about this obsolete case any more.
76687         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
76688         directories.
76689         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
76690         worry about this obsolete case any more.
76691         * lib/fts.c: Likewise.
76692         * lib/getcwd.c: Likewise.
76693         * lib/glob.h: Likewise.
76694         * lib/savedir.c: Likewise.
76695
76696 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76697
76698         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
76699         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
76700         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
76701         needed.
76702         All uses removed.
76703         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76704         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76705         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
76706         needed.
76707         * m4/getdate.m4 (gl_GETDATE): Likewise.
76708         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76709         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76710         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76711         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76712         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76713         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76714         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
76715         needed.
76716
76717 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76718
76719         * lib/memcasecmp.c: Include <limits.h>.
76720         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
76721         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
76722         Don't assume isdigit succeeds only on '0' through '9'.
76723
76724 2006-07-05  Eric Blake  <ebb9@byu.net>
76725
76726         * modules/getaddrinfo (Depends-on): Add snprintf.
76727
76728 2006-07-05  Eric Blake  <ebb9@byu.net>
76729
76730         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
76731         to avoid 'header present but could not be compiled' on cygwin.
76732
76733 2006-07-05  Eric Blake  <ebb9@byu.net>
76734
76735         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
76736         missing from netdb.h.
76737         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
76738
76739 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76740
76741         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
76742         no longer needed.
76743         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
76744         * m4/getdate.m4 (gl_GETDATE): Likewise.
76745         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76746         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76747         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76748         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76749         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76750
76751 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76752
76753         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
76754         All uses of is_space replaced by isspace.
76755         * lib/exit.h: Don't talk about STDC_HEADERS.
76756         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
76757         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
76758         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
76759         replaced by isprint etc.
76760         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
76761         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76762         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
76763         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
76764         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
76765         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76766
76767 2006-07-05  Bruno Haible  <bruno@clisp.org>
76768
76769         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
76770         the function exists, before testing against AIX.
76771         Reported by Martin Lambers <marlam@marlam.de>.
76772
76773 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76774
76775         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
76776         From Mark D. Baushke.
76777
76778 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76779
76780         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
76781         to the absolute name, not just one, to bypass Sun C 5.8's
76782         "warning: #include of /usr/include/... may be non-portable".
76783
76784 2006-07-04  Eric Blake  <ebb9@byu.net>
76785
76786         * modules/dirname-tests: New test module.
76787         * tests/test-dirname.c: New file, replacing dirname.c
76788         TEST_DIRNAME section that was recently deleted.
76789
76790 2006-07-04  Bruno Haible  <bruno@clisp.org>
76791
76792         Assume ANSI C header files and <ctype.h> functions.
76793         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
76794         (mbsnwidth): Use isprint, iscntrl instead.
76795
76796 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76797
76798         Merge from coreutils.
76799         * MODULES.html.sh: Add xstrtold.
76800         * modules/xstrtold: New file.
76801         * modules/cycle-check (Files): Add lib/same-inode.h.
76802         * modules/dirname (Files): Add m4/double-slash-root.m4.
76803         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
76804         * modules/mkdir-p (Files): Add lib/same-inode.h.
76805         * modules/same (Files): Add lib/same-inode.h.
76806
76807 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76808
76809         * m4/absolute-header.m4: Renamed from full-header-path.m4.
76810         This is to keep the terminology clean; POSIX talks about
76811         "absolute pathnames", not "full pathnames", but the GNU
76812         Coding Standards say to use "path" for something else;
76813         so use "absolute" to keep both sides happy.
76814         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
76815         Set gl_absolute_header, not gl_full_header_path.
76816         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
76817         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
76818         All uses changed.
76819
76820         Merge from coreutils.
76821
76822         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76823
76824         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
76825         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
76826         want to require the building of c-strtod.o.
76827         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
76828         needs -lm directly.
76829         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
76830
76831         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
76832
76833         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
76834         --as-needed option if available.  Problem reported by Albert Chin in
76835         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
76836         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
76837         cc merely issues a bunch of annoying warnings for --as-needed
76838         (this problem was reported by Bob Proulx).  Also, try linking with
76839         -lm to detect a bug in binutils 2.16 (this problem was reported
76840         by Ralf Wildenhues).
76841
76842         2006-06-18  Jim Meyering  <jim@meyering.net>
76843
76844         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
76845         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
76846         macro.
76847         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
76848         also check for glibc-2.4's abort-inducing bug.
76849
76850         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
76851         Low-probability clean-up should be to use rmdir to get rid of
76852         the just-created directory, not unlink.
76853
76854         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
76855         configure fail, and request a bug report to inform us about it.
76856         Add a comment that, barring reports to the contrary, in 2007 we'll
76857         assume ftruncate is universally available.
76858
76859         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76860
76861         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
76862
76863         2006-03-12  Jim Meyering  <jim@meyering.net>
76864
76865         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
76866         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
76867         * m4/same.m4 (gl_SAME): Likewise.
76868         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
76869
76870         2006-03-11  Eric Blake  <ebb9@byu.net>
76871
76872         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
76873         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
76874         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
76875         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
76876
76877 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76878
76879         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
76880         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
76881         reported by Mark D. Baushke, one in
76882         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
76883
76884         Merge from coreutils.
76885
76886         * lib/.cppi-disable: Add stdint_.h.
76887         * lib/.cvsignore: Add stdint.h.
76888
76889         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76890
76891         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
76892         both double and long double versions.
76893         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
76894         * lib/xstrtold.c: New file.
76895         * lib/xstrtod.h (xstrtold): New decl.
76896
76897         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76898
76899         * lib/filemode.c (setst): Remove.
76900         (strmode): Rewrite to avoid setst.  This makes the code shorter,
76901         (arguably) clearer, and the generated code is a bit smaller on my
76902         Debian GNU/Linux stable x86 host.
76903
76904         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76905
76906         * lib/filemode.c: Include "filemode.h" first, to test the interface.
76907         Assume that filemode.h includes sys/types.h and sys/stat.h.
76908         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
76909         (ftypelet): Reorder to put common cases first, for efficiency.
76910         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
76911         to do 'M'.
76912         (strmode): Renamed from mode_string, and now stores 12 bytes instead
76913         of 10, for compatibility with FreeBSD.  All callers changed.
76914         (filemodestring): Now stores 12 bytes instead of 10, and sets file
76915         types that can't be deduced solely from st_mode.  First arg is now a
76916         const pointer.
76917         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
76918         (strmode): Renamed from mode_string.
76919         (filemodestring): New decl.
76920         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
76921         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
76922         needed.
76923         (S_ISPORT, S_ISWHT): New macros, if not already defined.
76924
76925         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
76926
76927         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
76928         fsusage.h now does that.  Include fsusage.h first, to test interface.
76929         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
76930         at most one method (the old code could have generated decls that
76931         didn't conform to C89, not that this was ever exercised).
76932         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
76933
76934         2006-03-19  Jim Meyering  <jim@meyering.net>
76935
76936         Work even in a chroot where d_ino values for entries in "/"
76937         don't match the stat.st_ino values for the same names.
76938         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
76939         number, iterate through all entries again, using lstat instead.
76940         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
76941         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
76942
76943         * lib/getcwd.c (__getcwd): Clarify a comment.
76944         Use memcpy in place of a call to strcpy.
76945
76946         2006-03-12  Jim Meyering  <jim@meyering.net>
76947
76948         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
76949         matches that of the current directory (which we're about to chdir ".."
76950         out of), then save the dev-ino of the parent, instead.
76951
76952         * lib/same-inode.h (SAME_INODE): New file/macro.
76953         * lib/chdir-safer.c (SAME_INODE): Remove definition.
76954         Include "same-inode.h", instead.
76955         * lib/same.c: Likewise.
76956         * lib/cycle-check.h: Include "same-inode.h".
76957         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
76958         * lib/cycle-check.c (SAME_INODE): Remove definition.
76959         * lib/root-dev-ino.h: Include "same-inode.h".
76960
76961         2006-03-11  Eric Blake  <ebb9@byu.net>
76962
76963         * lib/same.c (same_name): s/base_name/last_component/
76964         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
76965         * lib/filenamecat.c (file_name_concat): Likewise.
76966
76967         2006-03-11  Eric Blake  <ebb9@byu.net>,
76968                     Paul Eggert  <eggert@cs.ucla.edu>
76969
76970         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
76971         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
76972         drive prefix.
76973         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
76974         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
76975         (last_component): New method.
76976         * lib/dirname.c (dir_len): Determine when drive letters need a
76977         subsequent slash.  Preserve // when it is special.
76978         (dir_name): Don't append dot when drive letter is absolute.
76979         [TEST_DIRNAME]: Move into a full-blown gnulib test.
76980         * lib/basename.c (base_name): New semantics - malloc the result.
76981         Preserve // when it is special.  Preserve relative files that look
76982         like drive letters.
76983         (base_len): Preserve // when it is special.
76984         (last_component): New method, similar to old base_name semantics.
76985         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
76986         base_name.  Strip redundant slashes from ///.
76987
76988 2006-07-03  Jim Meyering  <jim@meyering.net>
76989
76990         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
76991         macro is used before the first cycle_check call.
76992
76993 2006-07-03  Eric Blake  <ebb9@byu.net>
76994
76995         * modules/dirname (Depends-on): Add xstrndup.
76996
76997 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76998
76999         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
77000         test cases, so that config.log is a bit easier to follow.
77001
77002 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
77003
77004         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
77005         both are 64 bits, since this seems to be the tradition, and this
77006         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
77007         we ever run into a host that prefers long long to long in this
77008         case, we'll need another configure-time test.  Problem reported by
77009         Jim Meyering.
77010
77011 2006-07-02  Eric Blake  <ebb9@byu.net>
77012
77013         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
77014
77015 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77016
77017         * modules/inttypes (Depends-on): No longer depends on stdint.
77018         * modules/stdint (Description): Say more about assumptions.
77019         Say that the fast types might differ.  Say macros are used.
77020         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
77021         (Makefile.am): Revise list of substituted symbols to match
77022         new stdint.m4.
77023         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
77024         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
77025         * tests/test-stdint.c (verify_same_types)
77026         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
77027         the code conforms to C99/C89.
77028         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
77029         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
77030
77031 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77032
77033         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
77034         but fix a bug, by requiring at least 64 bits.
77035         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
77036         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
77037         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
77038         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
77039
77040         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
77041         changes.  Make 2.59 a prerequisite.  Check and substitute for
77042         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
77043         inttypes.h.  Do not use special include files; just use the
77044         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
77045         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
77046         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
77047         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
77048         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
77049         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
77050         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
77051         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
77052         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
77053         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
77054         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
77055         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
77056         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
77057         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
77058         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
77059         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
77060         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
77061         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
77062         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
77063         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
77064         WINT_MAX.  Check for C99 conformance more strictly, by detecting
77065         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
77066         not check for things that C99 does not require, e.g., int8_t.  If
77067         a test isn't needed unless <stdint.h> isn't working, and is
77068         unlikely to be needed for any other reason, then don't do it
77069         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
77070         size_t, since we assume C89 freestanding at least.  Do not check
77071         for sig_atomic_t, wchar_t, or wint_t, since the code now does
77072         the right thing even if the types are not defined.  Instead use:
77073         (gl_STDINT_TYPE_PROPERTIES): New macro.
77074         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
77075         testing whether <sys/types.h> clashes, as Autoconf does this for
77076         us now.  All uses removed.
77077         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
77078         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
77079         (gl_CHECK_TYPE_SAME):
77080         Remove; no longer needed.
77081         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
77082         exists, since we'll return 0 anyway in that case.
77083         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
77084
77085 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77086
77087         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
77088         possible collision with system files.
77089         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
77090         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
77091         WCHAR_MIN and WCHAR_MAX in this case.
77092         (<stddef.h>): Do not include; no longer needed.
77093         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
77094         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
77095         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
77096         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
77097         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
77098         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
77099         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
77100         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
77101         !defined(__c99))]: Include in this case too, since it's harmless
77102         now.
77103         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
77104         dangerous to do so.
77105         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
77106         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
77107         (_STDINT_MIN, _STDINT_MAX): New macros.
77108         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
77109         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
77110         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
77111         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
77112         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
77113         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
77114         macros, not typedefs; this simplifies things quite a bit.
77115         Use long int for all types narrower than int64_t.
77116         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
77117         Define in terms of long long int or int64_t or long int,
77118         not int64_t or int32_t.  This saves some compile-time testing.
77119         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
77120         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
77121         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
77122         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
77123         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
77124         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
77125         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
77126         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
77127         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
77128         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
77129         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77130         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77131         undef any previous version and define our own version, for
77132         simplicity and consistency with the new macros for types.
77133         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77134         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77135         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
77136         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
77137         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
77138         @WINT_T_SUFFIX@ to keep things simple here.
77139         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
77140         Simplify by assuming typical 8/16/32/64 host, since we're
77141         already doing that elsewhere anyway.
77142         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
77143         and assume long long int is 64 bits if available.  This
77144         speeds up 'configure'.
77145
77146 2006-07-01  Eric Blake  <ebb9@byu.net>
77147
77148         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
77149         Reported by Andreas Buening.
77150
77151 2006-07-01  Eric Blake  <ebb9@byu.net>
77152
77153         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
77154
77155 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77156
77157         * lib/getaddrinfo.c: fixed typo
77158
77159 2006-06-29  Jim Meyering  <jim@meyering.net>
77160
77161         * modules/strftime (Maintainer): Add my name, since with the
77162         FPRINTFTIME changes strftime.c has forked from glibc.
77163
77164 2006-06-29  Eric Blake  <ebb9@byu.net>
77165
77166         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
77167
77168 2006-06-29  Eric Blake  <ebb9@byu.net>
77169
77170         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
77171
77172 2006-06-29  Eric Blake  <ebb9@byu.net>
77173
77174         * lib/stat_.h: New file.
77175
77176 2006-06-29  Eric Blake  <ebb9@byu.net>
77177
77178         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
77179         unused static function.
77180
77181 2006-06-29  Eric Blake  <ebb9@byu.net>
77182
77183         * doc/functions.texi (Function Portability): Document missing lstat
77184         on mingw.
77185
77186 2006-06-29  Eric Blake  <ebb9@byu.net>
77187
77188         * MODULES.html.sh: Add sys_stat.
77189         * modules/sys_stat: New module.
77190         * modules/mkstemp (Depends-on): Add sys_stat.
77191
77192 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77193
77194         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
77195
77196 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77197
77198         * m4/c-bs-a.m4: Removed.
77199
77200 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77201
77202         * lib/strftime.c: Assume strftime() exists.
77203
77204 2006-06-29  Derek Price  <derek@ximbiot.com>
77205
77206         * modules/c-bs-a: Removed - \a is C89.
77207         * MODULES.html.sh: Remove c-bs-a.
77208
77209 2006-06-29  Bruno Haible  <bruno@clisp.org>
77210
77211         * modules/wcwidth (License): Change to LGPL.
77212
77213 2006-06-28  Simon Josefsson  <jas@extundo.com>
77214
77215         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
77216         on _WIN32.
77217
77218         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
77219         getnameinfo.
77220
77221 2006-06-28  Simon Josefsson  <jas@extundo.com>
77222
77223         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
77224
77225 2006-06-28  Simon Josefsson  <jas@extundo.com>
77226
77227         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
77228         functions there.  It will succeed on Windows XP, but on Windows
77229         2000 and (presumably) earlier, it will fail, and use the internal
77230         re-implementation.
77231         (use_win32_p): New function.
77232         (getaddrinfo): Use strtoul on servname, to support numeric ports.
77233         Support AI_NUMERICSERV to disable getservbyname.
77234         (getnameinfo): New function, only supports
77235         NI_NUMERICHOST|NI_NUMERICSERV for now.
77236
77237         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
77238         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
77239         getnameinfo.
77240
77241 2006-06-28  Eric Blake  <ebb9@byu.net>
77242
77243         * modules/wcwidth: New file.
77244         * modules/mbchar (Depends-on): Add wcwidth.
77245         * modules/mbswidth (Depends-on): Add wcwidth.
77246         * MODULES.html.sh: Add wcwidth.
77247
77248 2006-06-28  Eric Blake  <ebb9@byu.net>
77249
77250         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
77251         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
77252
77253 2006-06-28  Eric Blake  <ebb9@byu.net>
77254
77255         * lib/xvasprintf.h: Fix comments.
77256
77257 2006-06-28  Eric Blake  <ebb9@byu.net>
77258
77259         * lib/mbchar.h (wcwidth): Include wcwidth.h.
77260         * lib/mbswidth.c (wcwidth): Move from here...
77261         * lib/wcwidth.h: ...to this new file.
77262
77263 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77264
77265         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
77266
77267         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
77268         it's obsolete.
77269         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
77270
77271 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77272
77273         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
77274         Autoconf 2.60 says this stuff was obsolete.
77275
77276 2006-06-28  Bruno Haible  <bruno@clisp.org>
77277
77278         * modules/wcwidth (Files): Add m4/wchar_t.m4.
77279
77280 2006-06-28  Bruno Haible  <bruno@clisp.org>
77281
77282         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
77283         gt_TYPE_WCHAR_T.
77284
77285 2006-06-28  Bruno Haible  <bruno@clisp.org>
77286
77287         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
77288         declaration for wcwidth.
77289         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
77290
77291 2006-06-28  Bruno Haible  <bruno@clisp.org>
77292
77293         * lib/mkdtemp.c [MINGW]: Include <io.h>.
77294         (mkdir): Define using _mkdir.
77295
77296 2006-06-28  Bruno Haible  <bruno@clisp.org>
77297
77298         * lib/getaddrinfo.h: Fix POSIX URL.
77299         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
77300         _WIN32.
77301         (use_win32_p): Make static.
77302         (getaddrinfo): Reject service name if it is empty or does not consist
77303         solely of decimal digits, or if its value is > 65535.
77304         (getnameinfo): Remove useless casts.
77305
77306 2006-06-27  Simon Josefsson  <jas@extundo.com>
77307
77308         * modules/sys_select: New file, suggested by Bruno Haible, Paul
77309         Eggert and Martin Lambers.
77310
77311 2006-06-27  Simon Josefsson  <jas@extundo.com>
77312
77313         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
77314         Eggert and Martin Lambers.
77315
77316 2006-06-27  Bruno Haible  <bruno@clisp.org>
77317
77318         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
77319         result to 0, not to empty.
77320         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
77321
77322 2006-06-27  Bruno Haible  <bruno@clisp.org>
77323
77324         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
77325
77326 2006-06-26  Simon Josefsson  <jas@extundo.com>
77327
77328         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
77329         present.
77330
77331 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
77332
77333         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
77334         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
77335         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
77336
77337 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
77338
77339         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
77340
77341 2006-06-26  Bruno Haible  <bruno@clisp.org>
77342
77343         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
77344
77345 2006-06-26  Bruno Haible  <bruno@clisp.org>
77346
77347         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
77348
77349 2006-06-26  Bruno Haible  <bruno@clisp.org>
77350
77351         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
77352         SGI C compiler in pre-C99 mode.
77353         Suggested by Mark D. Baushke and Larry Jones.
77354
77355 2006-06-26  Bruno Haible  <bruno@clisp.org>
77356
77357         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
77358         WCHAR_MAX.
77359         Reported by Mark D. Baushke and Larry Jones.
77360
77361 2006-06-26  Bruno Haible  <bruno@clisp.org>
77362
77363         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
77364         in pre-C99 mode.
77365         Suggested by Mark D. Baushke and Larry Jones.
77366
77367 2006-06-23  Simon Josefsson  <jas@extundo.com>
77368             Bruno Haible  <bruno@clisp.org>
77369
77370         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
77371         Emit mostlyclean-local rule.
77372         (func_emit_tests_Makefile_am): Likewise.
77373         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
77374
77375 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
77376
77377         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
77378
77379 2006-06-23  Bruno Haible  <bruno@clisp.org>
77380
77381         * tests/test-stdint.c: Update to match ISO C 99 Technical
77382         Corrigendum 1.
77383
77384 2006-06-23  Bruno Haible  <bruno@clisp.org>
77385
77386         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
77387
77388 2006-06-23  Bruno Haible  <bruno@clisp.org>
77389
77390         * lib/stdint_.h: Treat IRIX like OpenBSD.
77391
77392 2006-06-23  Bruno Haible  <bruno@clisp.org>
77393
77394         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
77395         ISO C 99 Technical Corrigendum 1.
77396
77397 2006-06-22  Simon Josefsson  <jas@extundo.com>
77398
77399         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
77400         MinGW.
77401
77402 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77403
77404         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
77405         needed.  Some compiler complained about some of them.  Problem reported
77406         by Larry Jones in
77407         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
77408
77409 2006-06-21  Simon Josefsson  <jas@extundo.com>
77410
77411         * tests/test-getaddrinfo.c: New file.
77412
77413         * modules/getaddrinfo-tests: New file.
77414
77415         * MODULES.html.sh: Add inet_pton.
77416
77417         * modules/inet_pton: New file.
77418
77419 2006-06-21  Simon Josefsson  <jas@extundo.com>
77420
77421         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
77422         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
77423         of using the (limited) gnulib implementation on Windows XP.
77424
77425         * m4/inet_pton.m4: New file.
77426
77427 2006-06-21  Simon Josefsson  <jas@extundo.com>
77428
77429         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
77430         variable.
77431
77432         * lib/socket_.h: Don't define WINVER.
77433
77434         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
77435         slightly modified to work in gnulib.
77436
77437 2006-06-21  Simon Josefsson  <jas@extundo.com>
77438
77439         * doc/gnulib.texi (Windows sockets): Add.
77440
77441 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
77442
77443         * lib/read-file.c (fread_file): Start with buffer allocation of
77444         0 bytes rather than 1 byte; this simplifies the code.
77445         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
77446         code to free buffer and save/restore errno.
77447         (internal_read_file): Remove unused local.
77448
77449 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
77450
77451         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
77452         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
77453         Problem reported by Denis Excoffier in
77454         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
77455
77456 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77457
77458         * modules/sys_socket, modules/socklen: Include sys/types since
77459         FreeBSD 4.x's sys/socket.h needs it.
77460
77461 2006-06-19  Simon Josefsson  <jas@extundo.com>
77462
77463         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
77464
77465 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
77466
77467         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
77468
77469 2006-06-19  Bruno Haible  <bruno@clisp.org>
77470
77471         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
77472         and FULL_PATH_INTTYPES_H in angle brackets.
77473         Reported by Mark D. Baushke <mdb@gnu.org>.
77474
77475 2006-06-17  Eric Blake  <ebb9@byu.net>
77476
77477         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
77478         errno.
77479
77480 2006-06-17  Bruno Haible  <bruno@clisp.org>
77481
77482         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
77483         <sys/inttypes.h>.
77484
77485 2006-06-17  Bruno Haible  <bruno@clisp.org>
77486
77487         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
77488         whether errno is declared. Assume <errno.h> declares errno.
77489
77490 2006-06-17  Bruno Haible  <bruno@clisp.org>
77491
77492         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
77493
77494 2006-06-17  Bruno Haible  <bruno@clisp.org>
77495
77496         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
77497         problem on Solaris 2.5.1.
77498
77499 2006-06-16  Eric Blake  <ebb9@byu.net>
77500
77501         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
77502         * lib/unicodeio.c [!defined errno]: Likewise.
77503         * lib/strtol.c [!defined errno]: Likewise.
77504         * lib/strtod.c [!defined errno]: Likewise.
77505
77506 2006-06-15  Eric Blake  <ebb9@byu.net>
77507
77508         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
77509
77510 2006-06-15  Eric Blake  <ebb9@byu.net>
77511
77512         * config/srclist.txt (ssize_t.m4): Lose sync.
77513
77514 2006-06-15  Bruno Haible  <bruno@clisp.org>
77515
77516         * modules/stdint (Files): Include m4/full-header-path.m4,
77517         m4/size_max.m4, m4/wchar_t.m4.
77518         (Makefile.am): Many more substitutions.
77519         * modules/stdint-tests: New file.
77520         * tests/test-stdint.c: New file.
77521
77522 2006-06-15  Bruno Haible  <bruno@clisp.org>
77523
77524         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
77525         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
77526         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
77527         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
77528         gl_CHECK_TYPE_SAME): New macros.
77529
77530 2006-06-15  Bruno Haible  <bruno@clisp.org>
77531
77532         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
77533
77534 2006-06-15  Bruno Haible  <bruno@clisp.org>
77535
77536         * lib/stdint_.h: Rewritten to be fully auto-configured.
77537         Fixes bug on HP-UX/IA64.
77538
77539 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
77540
77541         * lib/getdate.y (__attribute__): Don't define if already defined.
77542         Problem reported by Larry Jones.
77543         * lib/utimens.c (__attribute__): Likewise.
77544
77545 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
77546
77547         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
77548         reported by Andreas Schwab.
77549
77550 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77551             Bruno Haible  <bruno@clisp.org>
77552
77553         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
77554         check for the declaration of strnlen and a run test that exposes the
77555         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
77556         rpl_strndup.
77557
77558 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77559             Bruno Haible  <bruno@clisp.org>
77560
77561         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
77562
77563 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77564
77565         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
77566         compile test, for Tru64 4.0D.
77567
77568 2006-05-28  Karl Berry  <karl@gnu.org>
77569
77570         * config/srclist.txt (printf-args.c): lose sync.
77571
77572 2006-05-26  Martin Lambers  <marlam@marlam.de>
77573
77574         * lib/getpass.c: Updates the test for the native W32 API, and adds
77575         missing includes, thus fixing compilation warnings.
77576
77577 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77578
77579         * lib/exclude.c (exclude_fnmatch): New function.
77580         (excluded_file_name): Call exclude_fnmatch.
77581         * lib/exclude.h (excluded_file_name): New prototype
77582
77583 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
77584
77585         * lib/tempname.c (small_open, large_open): New macros.
77586         (__open, __open64) [!_LIBC]: Remove.
77587         (__gen_tempname): Use small_open and large_open instead of __open
77588         and __open64.  This fixes a portability bug on HP-UX 11.11i
77589         reported by Simon Wing-Tang in
77590         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
77591
77592 2006-05-24  Bruno Haible  <bruno@clisp.org>
77593
77594         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
77595         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
77596         Reported by Thorsten Maerz <torte@netztorte.de> via
77597         Aaron Stone <aaron@serendipity.cx>.
77598
77599 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77600
77601         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
77602         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
77603         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
77604         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
77605         not really conditional on the cache.
77606         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
77607
77608 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77609
77610         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
77611         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
77612         (my_usleep): Don't mishandle maximum value.
77613
77614 2006-05-19  Jim Meyering  <jim@meyering.net>
77615
77616         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
77617
77618 2006-05-17  Bruno Haible  <bruno@clisp.org>
77619
77620         Cygwin portability.
77621         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
77622
77623 2006-05-17  Bruno Haible  <bruno@clisp.org>
77624
77625         * lib/stdint_.h: Fix recognition of Cygwin.
77626
77627 2006-05-15  Bruno Haible  <bruno@clisp.org>
77628
77629         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
77630         on libtool patch by Ralf Wildenhues.
77631
77632 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77633
77634         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
77635         test for C99 conformance; (bool) 0.5 is an integer constant
77636         expression, but (bool) -0.5 is not.  Problem reported by Fedor
77637         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
77638
77639 2006-05-11  Simon Josefsson  <jas@extundo.com>
77640
77641         * m4/xvasprintf.m4: Fix obvious typo.
77642
77643 2006-05-11  Jim Meyering  <jim@meyering.net>
77644
77645         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
77646         James Lemley.
77647
77648 2006-05-10  Simon Josefsson  <jas@extundo.com>
77649
77650         * lib/md4.c: Typo fix, update copyright years.
77651         (K1, K2): Don't use L because it turn computations into 64-bit on
77652         64-bit platforms.
77653
77654 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
77655
77656         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
77657         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
77658         unwanted sign propagation, e.g., on hosts with 64-bit int.
77659         There still are some problems with reeelly weird theoretical hosts
77660         (e.g., 33-bit int) but it's not worth worrying about now.
77661         * lib/sha1.c (rol): Likewise.
77662         (K1, K2, K3, K4): Remove unnecessary L suffix.
77663
77664 2006-05-10  Bruno Haible  <bruno@clisp.org>
77665
77666         * lib/des.c: Cast to avoid warnings.
77667
77668 2006-05-09  Bruno Haible  <bruno@clisp.org>
77669
77670         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
77671         (Depends-on): Depend also on xsize, stdarg.
77672         (configure.ac): Add gl_XVASPRINTF.
77673
77674 2006-05-09  Bruno Haible  <bruno@clisp.org>
77675
77676         * m4/xvasprintf.m4: New file.
77677
77678 2006-05-09  Bruno Haible  <bruno@clisp.org>
77679
77680         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
77681         (EOVERFLOW): Define fallback value.
77682         (xstrcat): New function.
77683         (xvasprintf): Recognize the special case of a string concatenation.
77684
77685 2006-05-08  Eric Blake  <ebb9@byu.net>
77686
77687         * gnulib-tool (func_version): Base copyright year on CVS date.
77688         (func_emit_copyright_notice): New function.
77689         (func_emit_lib_Makefile_am): Use it.
77690         (func_emit_tests_Makefile_am): Likewise.
77691         (func_import): Likewise.
77692
77693 2006-05-08  Bruno Haible  <bruno@clisp.org>
77694
77695         * modules/stdarg: New file.
77696         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
77697
77698 2006-05-08  Bruno Haible  <bruno@clisp.org>
77699
77700         * m4/stdarg.m4: New file, from GNU gettext.
77701
77702 2006-05-08  Bruno Haible  <bruno@clisp.org>
77703
77704         * config/srclist.txt (build-aux/config.rpath): different from latest
77705         release.
77706
77707 2006-05-08  Bruno Haible  <bruno@clisp.org>
77708
77709         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
77710
77711 2006-05-05  Jim Meyering  <jim@meyering.net>
77712
77713         * m4/warning.m4: New file, derived from bison's file by the same name.
77714
77715 2006-05-03  Bruno Haible  <bruno@clisp.org>
77716
77717         * lib/stdint_.h: Shorter URL.
77718         * lib/inttypes.h: Likewise.
77719
77720 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77721
77722         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
77723
77724 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77725
77726         * lib/verify.h: Document the internals better.  Most of this change
77727         was written by Bruno Haible.
77728
77729 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77730
77731         * doc/verify.texi: New file, partly based on a proposal by
77732         Bruno Haible.
77733
77734 2006-05-02  Bruno Haible  <bruno@clisp.org>
77735
77736         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
77737         test from here...
77738         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
77739
77740 2006-04-29  Bruno Haible  <bruno@clisp.org>
77741
77742         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
77743         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
77744
77745 2006-04-29  Bruno Haible  <bruno@clisp.org>
77746
77747         * gnulib-tool: Make --update option actually work.
77748
77749 2006-04-29  Bruno Haible  <bruno@clisp.org>
77750
77751         * doc/gcd.texi: New file.
77752         * doc/gnulib.texi: Include it.
77753
77754 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
77755
77756         * lib/getdate.y (get_date): When adding relative date, start with the
77757         initial time, not with the result of the first mktime call.
77758
77759 2006-04-25  Bruno Haible  <bruno@clisp.org>
77760
77761         * gnulib-tool (func_import): Output the include directives in three
77762         blocks, sorted separately.
77763         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77764
77765 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77766
77767         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
77768         to define main with arguments, for C++.  Reported by Eric Blake.
77769         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
77770         Prefer 'int main ()' to 'int main (void)', for C++.
77771         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
77772         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
77773         for 'main', for C99 and C++.
77774
77775 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77776
77777         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
77778         Don't assume that exit status -1 is valid.
77779         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
77780         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
77781         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
77782         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
77783         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
77784         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
77785         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
77786         functions can be used without declaring them, or that you can
77787         exit with status -1.
77788         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
77789
77790 2006-04-24  Karl Berry  <karl@gnu.org>
77791
77792         * config/srclist.txt (longdouble.m4): sync lost.
77793
77794 2006-04-24  Eric Blake  <ebb9@byu.net>
77795
77796         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
77797
77798 2006-04-24  Bruno Haible  <bruno@clisp.org>
77799
77800         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
77801         poll() implementation in AIX.
77802         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77803
77804 2006-04-24  Bruno Haible  <bruno@clisp.org>
77805
77806         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
77807         assigned exactly once.
77808
77809 2006-04-23  Claudio Fontana  <claudio@gnu.org>
77810             Bruno Haible  <bruno@clisp.org>
77811
77812         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
77813         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
77814         for AM_CPPFLAGS.
77815
77816 2006-04-23  Bruno Haible  <bruno@clisp.org>
77817
77818         * modules/copy-file: Depend on unistd.
77819         * modules/execute: Likewise.
77820         * modules/fatal-signal: Likewise.
77821         * modules/findprog: Likewise.
77822         * modules/mkdtemp : Likewise.
77823         * modules/pipe: Likewise.
77824         * modules/wait-process: Likewise.
77825
77826 2006-04-23  Bruno Haible  <bruno@clisp.org>
77827
77828         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
77829         condition was already detected.
77830         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77831
77832 2006-04-23  Bruno Haible  <bruno@clisp.org>
77833
77834         * lib/copy-file.c: Include <unistd.h> unconditionally.
77835         * lib/execute.c: Likewise.
77836         * lib/fatal-signal.c: Likewise.
77837         * lib/findprog.c: Likewise.
77838         * lib/mkdtemp.c: Likewise.
77839         * lib/pipe.h: Likewise.
77840         * lib/pipe.c: Likewise.
77841         * lib/wait-process.h: Likewise.
77842
77843 2006-04-23  Bruno Haible  <bruno@clisp.org>
77844
77845         * gnulib-tool (func_usage): Fix --import description. Document
77846         --update.
77847         (func_import): Create temporary file in a temporary directory, if
77848         --dry-run is specified. Silence errors from 'grep' when there are no
77849         m4 files in $m4dir.
77850         (func_create_testdir): Silence errors from 'grep' when there are no
77851         m4 files in $m4dir.
77852         Reported by Karl Berry <karl@freefriends.org>.
77853
77854 2006-04-20  Bruno Haible  <bruno@clisp.org>
77855
77856         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
77857         one argument, so that the code will be portable to Autoconf 2.60.
77858         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
77859         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77860         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
77861
77862 2006-04-19  Derek Price  <derek@ximbiot.com>
77863             Eric Blake  <ebb9@byu.net>
77864
77865         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
77866         rather than "/full/path.h".  Update comment to match.  Shorten &
77867         generalize m4_translit call via AS_TR_CPP.
77868
77869 2006-04-19  Derek Price  <derek@ximbiot.com>
77870             Eric Blake  <ebb9@byu.net>
77871
77872         * lib/inttypes.h: Correct grammar in comment.
77873
77874 2006-04-18  Derek Price  <derek@ximbiot.com>
77875             Paul Eggert  <eggert@cs.ucla.edu>
77876
77877         * modules/inttypes: New file.
77878         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
77879
77880 2006-04-18  Derek Price  <derek@ximbiot.com>
77881             Paul Eggert  <eggert@cs.ucla.edu>
77882
77883         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
77884         New files.
77885
77886 2006-04-18  Derek Price  <derek@ximbiot.com>
77887             Paul Eggert  <eggert@cs.ucla.edu>
77888
77889         * lib/inttypes.h: New file.
77890         * lib/strtoimax.c: Assume <inttypes.h>.
77891
77892 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
77893
77894         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
77895         isn't mounted.  Problem reported by Kir Kolyshkin.
77896
77897 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77898
77899         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
77900         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
77901         Derek R. Price.
77902         * lib/regex.h (RE_DUP_MAX): Update comment to match current
77903         implementation.
77904
77905 2006-04-12  Eric Blake  <ebb9@byu.net>
77906
77907         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
77908         is now done automatically by the corresponding Autoconf macro.
77909
77910 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
77911
77912         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
77913         time_r.h.
77914
77915 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77916
77917         Merge regex changes from libc, removing some of our
77918         POSIX-conformance changes that were rejected and redoing them in a
77919         less-intrusive way.
77920
77921         * lib/regcomp.c (re_compile_internal, init_dfa):
77922         Length arg is now size_t, not Idx.  All uses changed.
77923         (peek_token): Forward decl now says internal_function.
77924         (__re_error_msgid, __re_error_msgid_idx):
77925         Now static rather than extern with attribute_hidden.
77926         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
77927         For some reason libc prefers K&R style defns for external functions.
77928         (regerror) [!defined _LIBC]: Likewise.
77929         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
77930         (seek_collating_symbol_entry, lookup_collation_sequence_value):
77931         (build_range_exp, build_collating_symbol):
77932         Use K&R-style defn.
77933         (re_compile_fastmap): Use '\0' to memset, not 0.
77934         (utf8_sb_map): Make the calculations more obvious.
77935         (init_dfa, parse_bracket_exp, build_charclass_op):
77936         Call calloc and cast result, as glibc does.
77937         (init_word_char, fetch_token, peek_token, peek_token_bracket):
77938         (build_range_exp, build_collating_symbol):
77939         Now internal functions.
77940
77941         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
77942
77943         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
77944         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
77945         Don't depend on VMS; depend on __VMS instead, for POSIX
77946         namespace cleanness.
77947         (regoff_t): Define to ssize_t, not long int.
77948
77949         Remove the REG_ macros named below.  Instead, make the old names
77950         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
77951         __USE_GNU_REGEX.
77952         (REG_BACKSLASH_ESCAPE_IN_LISTS):
77953         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
77954         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
77955         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
77956         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
77957         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
77958         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
77959         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
77960         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
77961         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
77962         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
77963         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
77964         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
77965         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
77966         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
77967         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
77968         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
77969         (REG_NREGS):
77970         Remove.  All uses replaced by the old RE_* names.
77971         (RE_BACKSLASH_ESCAPE_IN_LISTS):
77972         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
77973         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
77974         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
77975         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
77976         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
77977         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
77978         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
77979         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
77980         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
77981         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
77982         Don't bother having these macros be independent of each others'
77983         values, since they no longer exist in the POSIX name space.
77984
77985         Rename the following member names back to their old names,
77986         unless !__USE_GNU_REGEX.  All uses changed back.
77987         (buffer): Renamed from re_buffer.
77988         (allocated): Renamed from re_allocated.
77989         (used): Renamed from re_used.
77990         (syntax): Renamed from re_syntax.
77991         (fastmap): Renamed from re_fastmap.
77992         (translate): Renamed from re_translate.
77993         (can_be_null): Renamed from re_can_be_null.
77994         (regs_allocated): Renamed from re_regs_allocated.
77995         (fastmap_accurate): Renamed from re_fastmap_accurate.
77996         (no_sub): Renamed from re_no_sub.
77997         (not_bol): Renamed from re_not_bol.
77998         (not_eol): Renamed from re_not_eol.
77999         (newline_anchor): Renamed from re_newline_anchor.
78000         (num_regs): Renamed from rm_num_regs.
78001         (start): Renamed from rm_start.
78002         (end): Renamed from rm_end.
78003
78004         (free_state): Move up a bit.
78005
78006         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
78007         #define to be empty.
78008         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
78009         when that is what is intended.
78010         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
78011         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
78012         (MAX): New macro.
78013         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
78014         All uses changed back to re_malloc, etc.  It's now the caller's
78015         responsibility to check for overflow; all callers changed.
78016         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
78017         (re_x2nrealloc): Remove.
78018         (free_state): Remove decl.
78019
78020         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
78021         (re_set_registers, re_exec):
78022         Use K&R-style defn.
78023
78024         2006-01-31  Roland McGrath  <roland@redhat.com>
78025
78026         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
78027         Reported by Mike Frysinger <vapier@gentoo.org>.
78028
78029         2006-01-15  Andreas Jaeger  <aj@suse.de>
78030
78031         [BZ #1950]
78032         * lib/regex_internal.c (re_string_reconstruct): Adjust for
78033         build_wcs_upper_buffer change.
78034         (build_wcs_upper_buffer): Change return type.
78035
78036         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
78037
78038         * lib/regex_internal.h: Include <stdint.h> if available.
78039
78040         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
78041
78042         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
78043
78044         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
78045
78046         * lib/regcomp.c: Adjust for changed secondary hash function.
78047
78048         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
78049
78050         * lib/regex.h: Pretty printing.
78051         Clean up namespace a bit.
78052
78053         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
78054
78055         * lib/regexec.c (update_cur_sifted_state, check_arrival,
78056         check_arrival_add_next_nodes): Avoid using uninitialized variable.
78057
78058         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78059                     Ulrich Drepper  <drepper@redhat.com>
78060
78061         [BZ #1302]
78062         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
78063         changed.
78064         (bitset_word_t): Renamed from bitset_word.  All uses changed.
78065
78066         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
78067
78068         [BZ #281]
78069         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
78070         * lib/regcomp.c: Remove unnecessary uses of
78071         unsigned RE_TRANSLATE_TYPE.
78072         * lib/regex_internal.h: Likewise.
78073         * lib/regex_internal.c: Likewise.
78074         * lib/regexec.c: Likewise.
78075         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
78076
78077         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
78078
78079         * lib/regexec.c (find_recover_state): Remove unnecessary
78080         initialization.
78081         (transit_state_bkref): Make DFA a const pointer.
78082         (get_subexp): Likewise.
78083         (check_arrival): Likewise.
78084         (update_cur_sifted_state): Likewise.
78085         (re_search_internal): Likewise.
78086         (prune_impossible_nodes): Likewise.
78087         (acquire_init_state_context): Likewise.
78088         (proceed_next_node): Likewise.
78089         (set_regs): Likewise.
78090         (free_fail_stack_return): Likewise.
78091         (check_arrival_expand_ecl): Mark DFA parameter as const.
78092         (check_arrival_expand_ecl_sub): Likewise.
78093         (check_subexp_limits): Likewise.
78094         (sub_epsilon_src_nodes):  Likewise.
78095         (add_epsilon_src_nodes):  Likewise.
78096         (merge_state_array): Likewise.
78097         (update_regs): Likewise.
78098         (build_trtable): Likewise.
78099         (sift_states_backward): Mark MCTX parameter as const.
78100         (build_sifted_states): Likewise.
78101         (update_cur_sifted_state): Likewise.
78102         (sift_states_mkref): Likewise.
78103         (check_arrival_expand_ecl): Mark eclosure as const.
78104         (check_dst_limits_calc_pos_1): Likewise.
78105         * lib/regex_internal.h (re_match_context_t): Make dfa a const
78106         pointer.
78107
78108         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
78109
78110         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
78111         (transit_state_sb): Likewise.
78112         (transit_state_mb): Likewise.
78113         (sift_states_iter_mb): Likewise.
78114         (check_arrival_add_next_nodes): Likewise.
78115         (check_node_accept_bytes): Change first parameter to pointer-to-const.
78116         [_LIBC] (re_search_2_stub): Use mempcpy.
78117
78118         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
78119         mbrtowc for very simple UTF-8 case.
78120
78121         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
78122         a pointer-to-const.
78123         (re_acquire_state_context): Likewise.
78124         * lib/regex_internal.h: Adjust prototypes.
78125
78126         * lib/regex.c: Prevent using C++ compilers.
78127
78128         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
78129         (re_acquire_state_context): Likewise.
78130
78131 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78132
78133         * modules/regex (Depends-on): Add ssize_t.
78134
78135 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78136
78137         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
78138         translation table.
78139
78140 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78141
78142         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
78143
78144 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
78145             Bruno Haible  <bruno@clisp.org>
78146
78147         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
78148         <sys/types.h> and <inttypes.h>.
78149
78150 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78151
78152         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
78153         `__error_t_defined', so argp.h will not typedef the former.
78154
78155 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
78156
78157         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
78158         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
78159         glibc names.  Even if glibc is changed to conform to POSIX, the
78160         traditional names will be available anyway, since regex depends on
78161         the extensions module.  Also, fix a longstanding typo in the
78162         implementation of Spencer ERE test #75 from grep 2.3.  Problems
78163         reported by Emanuele Giaquinta.  Also, change sense of cached
78164         variable, so that the message makes sense.
78165
78166 2006-03-24  Simon Josefsson  <jas@extundo.com>
78167
78168         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
78169         including some doc fixes.
78170         (base64_encode_alloc): Fix +1 bug on allocation failures.
78171
78172 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78173
78174         * lib/base64.c (base64_encode): Do not read past end of array with
78175         unsanitized input on systems with CHAR_BIT > 8.
78176
78177 2006-03-24  Eric Blake  <ebb9@byu.net>
78178
78179         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
78180
78181 2006-03-22  Karl Berry  <karl@gnu.org>
78182
78183         * config/srclist.txt (*setenv.[ch]): get from coreutils.
78184         * config/srclistvars.sh (COREUTILS): new var.
78185
78186 2006-03-17  Jim Meyering  <jim@meyering.net>
78187
78188         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
78189         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
78190
78191 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78192
78193         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
78194         no longer needs it.  Instead, check that regoff_t is as least
78195         as wide as ptrdiff_t.
78196
78197         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
78198         so that our regex.h stays compatible with the installed regex.
78199         This is helpful for installers who configure --without-included-regex.
78200         Problem reported by Emanuele Giaquinta.
78201
78202 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78203
78204         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
78205         Typedef to long int, not to off_, as POSIX will likely change
78206         in that direction.
78207
78208 2006-03-15  Eric Blake  <ebb9@byu.net>
78209
78210         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
78211
78212 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78213
78214         * lib/argp-help.c (validate_uparams): Fix typo
78215         * lib/argp-parse.c (argp_default_options): Consistently begin help
78216         messages with a lowercase letter.
78217
78218 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
78219
78220         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
78221         overrun buffers and shouldn't be used (much as gets shouldn't be
78222         used).
78223         * lib/time_r.c (asctime_r, ctime_r): Likewise.
78224
78225 2006-03-08  Simon Josefsson  <jas@extundo.com>
78226
78227         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
78228         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78229
78230 2006-03-08  Simon Josefsson  <jas@extundo.com>
78231
78232         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
78233         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78234
78235 2006-03-08  Simon Josefsson  <jas@extundo.com>
78236
78237         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
78238         signal that configure disabled the device.
78239
78240 2006-03-08  Simon Josefsson  <jas@extundo.com>
78241
78242         * build-aux/maint.mk: Fix refresh-po, to handle no translated
78243         languages.
78244
78245 2006-03-07  Simon Josefsson  <jas@extundo.com>
78246
78247         * modules/getopt (Depends-on): Add unistd.
78248
78249         * modules/unistd: New file.
78250
78251 2006-03-07  Simon Josefsson  <jas@extundo.com>
78252
78253         * modules/gc-random: New file.
78254
78255 2006-03-07  Simon Josefsson  <jas@extundo.com>
78256
78257         * m4/unistd_h.m4: New file.
78258
78259 2006-03-07  Simon Josefsson  <jas@extundo.com>
78260
78261         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
78262         test to be side-effect free by storing the result in the cache
78263         variable gl_cv_lib_readline, and moving the assignment of
78264         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
78265         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78266
78267 2006-03-07  Simon Josefsson  <jas@extundo.com>
78268
78269         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
78270         error on missing devices (the functions will return an error).
78271
78272         * m4/gc.m4: Move random stuff to gc-random.m4
78273
78274 2006-03-07  Simon Josefsson  <jas@extundo.com>
78275
78276         * lib/unistd_.h: New file.
78277
78278 2006-03-07  Simon Josefsson  <jas@extundo.com>
78279
78280         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
78281
78282 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78283
78284         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
78285         Problem reported by Juan Manuel Guerrero.
78286
78287 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78288
78289         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
78290         the unistd module.
78291         * lib/getlogin_r.c: Likewise.
78292         * lib/getlogin_r.h: Likewise.
78293         * lib/glob.c: Likewise.
78294         * lib/pagealign_alloc.c: Likewise.
78295         * lib/unistd_.h: Remove; no longer needed.
78296
78297 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78298
78299         * MODULES.html.sh (Support for systems lacking POSIX:2001):
78300         Add unistd.
78301         * modules/c-stack (Depends-on): Add unistd.
78302         * modules/getlogin_r: Likewise.
78303         * modules/glob: Likewise.
78304         * modules/pagealign_alloc: Likewise.
78305         * modules/unistd (Files): Remove lib/unistd_.h.
78306         (EXTRA_DIST): Remove.
78307         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
78308         need unistd_.h.
78309         (MOSTLYCLEANFILES): Remove unistd.h-t.
78310
78311 2006-03-03  Simon Josefsson  <jas@extundo.com>
78312
78313         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
78314
78315 2006-03-03  Simon Josefsson  <jas@extundo.com>
78316
78317         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
78318         libidn and bison.
78319
78320 2006-03-03  Simon Josefsson  <jas@extundo.com>
78321
78322         * build-aux/maint.mk: Add indent target.
78323
78324 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
78325
78326         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
78327         our replacement poll.h in any case, to avoid a differing
78328         declaration from a system header.  Seen on AIX.
78329
78330 2006-03-01  Simon Josefsson  <jas@extundo.com>
78331
78332         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
78333         <kasal@ucw.cz>.
78334
78335 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78336
78337         * modules/gettime (Depends-on): Add extensions module.
78338         * modules/nanosleep (Depends-on): Likewise.
78339         * modules/settime (Depends-on): Likewise.
78340
78341 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78342
78343         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
78344         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
78345         pedantically.
78346         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78347         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
78348
78349         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
78350         not "==".  Reported by Ralf Wildenhues.
78351
78352 2006-03-01  Karl Berry  <karl@gnu.org>
78353
78354         * doc/Copyright/request-*: new files, synced from gnuorg.
78355
78356 2006-03-01  Karl Berry  <karl@gnu.org>
78357
78358         * config/srclist.txt (Copyright/*): new entries.
78359
78360 2006-02-28  Simon Josefsson  <jas@extundo.com>
78361
78362         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
78363
78364 2006-02-27  Simon Josefsson  <jas@extundo.com>
78365
78366         * lib/base64.h: Indent #define's.  From Jim Meyering
78367         <jim@meyering.net>.
78368
78369 2006-02-27  Jim Meyering  <jim@meyering.net>
78370
78371         Revert the change of 2006-02-24, so these files can continue
78372         to be sync'd from gettext.
78373         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
78374         of `config.h'.
78375
78376 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
78377
78378         * modules/intprops: New file.
78379         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
78380         Add intprops.
78381         * modules/getloadavg (Files): Remove lib/intprops.h.
78382         (Depends-on): Add intprops.
78383         * modules/human: Likewise.
78384         * modules/inttostr: Likewise.
78385         * modules/openat: Likewise.
78386         * modules/sig2str: Likewise.
78387         * modules/userspec: Likewise.
78388         * modules/utimecmp: Likewise.
78389         * modules/xnanosleep: Likewise.
78390         * modules/xstrtol: Likewise.
78391
78392 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
78393
78394         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
78395         * modules/lock-tests (TESTS): Use $(EXEEXT).
78396         * modules/tls-tests: Likewise.
78397         * modules/argp-tests: Likewise.
78398         (check_PROGRAMS): New var, replacing...
78399         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
78400
78401 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78402
78403         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
78404         `config.h'.
78405
78406 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
78407
78408         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
78409
78410 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78411
78412         Sync from coreutils.
78413         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
78414         gl_CHDIR_SAFER.
78415
78416 2006-02-22  Jim Meyering  <jim@meyering.net>
78417
78418         Sync from coreutils.
78419         * m4/chdir-safer.m4: New file.
78420
78421 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
78422
78423         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
78424         AT_FDCWD exceeds INT_MAX.
78425         * lib/openat.h (AT_FDCWD): Likewise.
78426
78427 2006-02-17  Eric Blake  <address@hidden>
78428
78429         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
78430
78431 2006-02-16  Simon Josefsson  <jas@extundo.com>
78432
78433         * modules/getaddrinfo (Depends-on): Add sys_socket.
78434
78435 2006-02-15  Simon Josefsson  <jas@extundo.com>
78436
78437         * build-aux/maint.mk: Add dsyntax-check rule.
78438
78439 2006-02-15  Eric Blake  <ebb9@byu.net>
78440
78441         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
78442         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
78443         'present but cannot compile' warnings on cygwin.
78444         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
78445         use ws2tcpip.h if sys/socket.h works.
78446         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
78447         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
78448
78449 2006-02-14  Simon Josefsson  <jas@extundo.com>
78450
78451         * modules/maintainer-makefile (Files): Rename.
78452
78453         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
78454         and (the local) Makefile.cfg to maint-cfg.mk.
78455
78456         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
78457         to the latter.
78458
78459         * modules/maintainer-makefile: New module.
78460
78461         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
78462         severaly stripped to make it possible to build it up from scratch
78463         with reliable tests.
78464
78465         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
78466         fixes to permit overriding the default actions when configure and
78467         makefile are not available.
78468
78469 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
78470
78471         Sync from coreutils.
78472         * modules/lstat (Depends-on): Don't depend on xalloc.
78473         (License): Change from GPL to LGPL, since this is now simply a
78474         replacement for a libc function.
78475
78476 2006-02-14  Jim Meyering  <jim@meyering.net>
78477
78478         Sync from coreutils.
78479
78480         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
78481         failure on deficient systems, and simplify gnulib lgpl dependencies.
78482         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
78483         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
78484
78485         * lib/xalloc-die.c: Remove unused definition of N_.
78486
78487 2006-02-14  Jim Meyering  <jim@meyering.net>
78488
78489         Sync from coreutils.
78490         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
78491         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
78492         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
78493         double-quote uses of that variable, to accommodate the rare case in
78494         which getmntent is available in none of the libraries checked.  This
78495         happens at least on FreeBSD 5.0.
78496
78497 2006-02-13  Simon Josefsson  <jas@extundo.com>
78498
78499         * gnulib-tool (Usage): Fix --import, from
78500         karl@freefriends.org (Karl Berry).
78501
78502 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78503
78504         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
78505
78506 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
78507
78508         * lib/argp-namefrob.h: Restore changes accidentally lost during the
78509         "autoupdate" on 2005-12-12.
78510
78511 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
78512
78513         * modules/closeout (Depends-on): Remove atexit.
78514
78515 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
78516
78517         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
78518         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
78519
78520 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
78521
78522         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
78523         __EXTENSIONS__ if this causes compilation to fail.  Problem
78524         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
78525         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
78526
78527 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
78528
78529         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
78530         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
78531         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
78532         All uses changed.
78533
78534 2006-01-26  Simon Josefsson  <jas@extundo.com>
78535
78536         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
78537         prototype is visible on mingw32.
78538
78539         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
78540         for mingw32.
78541
78542         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
78543         mingw32).
78544
78545 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
78546
78547         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
78548         attempt to open for write; this always fails, at least on POSIX
78549         hosts.  This reinstates the 2006-01-09 change, which was
78550         inadvertently removed.
78551
78552 2006-01-26  Bruno Haible  <bruno@clisp.org>
78553
78554         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
78555         Reported by Paul Eggert.
78556
78557 2006-01-26  Bruno Haible  <bruno@clisp.org>
78558             Paul Eggert  <eggert@cs.ucla.edu>
78559
78560         * lib/stdbool_.h (_Bool)
78561         [(! (defined __cplusplus || defined __BEOS__)
78562           && !defined __GNUC__
78563           && !(defined __HP_cc || defined __xlc__
78564                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
78565                || defined __sgi))]:
78566         #define to signed char in these cases too; this simplifies
78567         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
78568         etc., separately) and makes it more conservative.
78569
78570 2006-01-25  Simon Josefsson  <jas@extundo.com>
78571
78572         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
78573         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
78574         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
78575
78576 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
78577
78578         * lib/argp-namefrob.h: Bugfix. Remove stray #
78579
78580 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
78581
78582         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
78583         so that we test the test.
78584         Check for yet another HP-UX cc bug involving *bool |= bool.
78585
78586 2006-01-25  Karl Berry  <karl@gnu.org>
78587
78588         * config/srclist.txt (vasnprintf.c): sync lost.
78589
78590 2006-01-25  Jim Meyering  <jim@meyering.net>
78591
78592         Sync from the stable (b5) branch of coreutils:
78593
78594         * lib/fts.c (fts_children): Don't let close() clobber errno from
78595         failed fchdir().
78596
78597         * lib/fts.c (fts_stat): When following a symlink-to-directory,
78598         don't necessarily interpret stat-fails+lstat-succeeds as indicating
78599         a dangling symlink.  That can also happen at least for ELOOP.
78600         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
78601         FYI, this bug predates the inclusion of fts.c in coreutils.
78602
78603         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
78604         in their own block, so pre-c99 compilers don't object.
78605
78606         Avoid the double-free (first in fts_read, second in fts_close) that
78607         would occur when an `active' directory is made inaccessible (e.g.,
78608         via chmod a-x) during a traversal.
78609         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78610         before returning.  Reproduce this failure by
78611         mkdir -p a/b; cd a; chmod a-x . b
78612         Reported by Stavros Passas.
78613
78614 2006-01-25  Jim Meyering  <jim@meyering.net>
78615
78616         * lib/fileblocks.c: Remove more useless parentheses.
78617         * lib/readutmp.h: Likewise.
78618
78619 2006-01-25  Bruno Haible  <bruno@clisp.org>
78620
78621         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
78622         warnings.
78623         Reported by Paul Eggert.
78624
78625 2006-01-25  Bruno Haible  <bruno@clisp.org>
78626
78627         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
78628         rid of a trap command. For Solaris sh.
78629         Reported by Mark D. Baushke <mdb@gnu.org>.
78630
78631 2006-01-24  Simon Josefsson  <jas@extundo.com>
78632
78633         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
78634         Bruno.
78635
78636 2006-01-24  Karl Berry  <karl@gnu.org>
78637
78638         * config/srclist.txt (argp-namefrob.h): sync lost.
78639
78640 2006-01-24  Jim Meyering  <jim@meyering.net>
78641
78642         * modules/openat (Files): Add lib/intprops.h.
78643         From Mark D. Baushke.
78644
78645 2006-01-24  Jim Meyering  <jim@meyering.net>
78646
78647         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
78648         Reported by Mark D. Baushke.
78649
78650 2006-01-24  Jim Meyering  <jim@meyering.net>
78651
78652         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
78653
78654 2006-01-24  Bruno Haible  <bruno@clisp.org>
78655
78656         * modules/strnlen (Maintainer): Change from glibc to all.
78657
78658 2006-01-24  Bruno Haible  <bruno@clisp.org>
78659
78660         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
78661         Patch by Paul Eggert.
78662
78663 2006-01-24  Bruno Haible  <bruno@clisp.org>
78664
78665         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
78666         already has it.
78667         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
78668         2005-11-26.
78669
78670         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
78671         'signed char' to avoid problems with the built-in _Bool type.
78672         Reported by Paul Eggert on 2005-11-26.
78673
78674 2006-01-24  Bruno Haible  <bruno@clisp.org>
78675
78676         * gnulib-tool (func_import): Avoid constructing complicated sed
78677         expressions inside backquote.
78678         Report and solution by Mark D. Baushke <mdb@gnu.org>.
78679
78680 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
78681
78682         These changes imported from libc.
78683         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
78684         test and two separate function calls.
78685         * lib/strndup.c (__strndup): Add libc_hidden_def.
78686
78687 2006-01-23  Simon Josefsson  <jas@extundo.com>
78688
78689         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
78690         Remove the test_*_SOURCES variable: automake infers it by default.
78691         * modules/tls-tests: Likewise.
78692
78693 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78694
78695         Work around porting bugs reported by Dieter in
78696         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
78697         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
78698         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
78699         Include "getopt.h" first, to check interface.
78700         (getenv): Declare only if defined HAVE_DECL_GETENV &&
78701         !HAVE_DECL_GETENV.
78702         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
78703         (__strndup): Revert to K&R-style function dfns, the glibc style.
78704         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
78705         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
78706         Include strnlen.h first, to get prototype properly.
78707         (strnlen): Renamed from __strnlen.
78708         Remove weak alias.
78709
78710 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78711
78712         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
78713
78714 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78715
78716         * config/srclist.txt: Adjust to reflect glibc reorganization.
78717         This affects only comments.
78718
78719 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78720
78721          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
78722          Reported by Bruce Korb <bkorb@gnu.org>.
78723
78724 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
78725
78726         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
78727         to pacify gcc -Wswitch-default.
78728
78729 2006-01-22  Bruno Haible  <bruno@clisp.org>
78730
78731         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
78732         temporary buffer for sprintf, take into account the precision also
78733         for 'd', 'i', 'u', 'o', 'x', 'X'.
78734
78735 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78736
78737         * modules/argp-tests: New module
78738         * tests/test-argp.c: New file
78739         * tests/test-argp-2.sh: New file
78740
78741 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78742
78743         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
78744         (__argp_base_name): Removed
78745         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
78746         typo.
78747         (__argp_base_name): Provide macro definition or extern declaration
78748         depending on the configuration
78749
78750 2006-01-20  Simon Josefsson  <jas@extundo.com>
78751
78752         * modules/inet_ntop (Depends-on): Depend on sys_socket.
78753
78754 2006-01-20  Simon Josefsson  <jas@extundo.com>
78755
78756         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
78757
78758 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78759
78760         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
78761         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
78762         Suggested by Bruno Haible.
78763
78764 2006-01-20  Karl Berry  <karl@gnu.org>
78765
78766         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
78767         until changes propagate, I guess.
78768
78769 2006-01-19  Simon Josefsson  <jas@extundo.com>
78770
78771         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
78772
78773 2006-01-19  Simon Josefsson  <jas@extundo.com>
78774
78775         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
78776
78777 2006-01-19  Simon Josefsson  <jas@extundo.com>
78778
78779         * gnulib-tool: Set check_PROGRAMS.
78780
78781         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78782         modules/des-tests, modules/gc-arcfour-tests,
78783         modules/gc-arctwo-tests, modules/gc-des-tests,
78784         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78785         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78786         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78787         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78788         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78789         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
78790         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
78791         test_*_SOURCES.
78792
78793 2006-01-18  Simon Josefsson  <jas@extundo.com>
78794
78795         * modules/socklen (Depends-on): Depend on sys_socket.
78796
78797 2006-01-18  Simon Josefsson  <jas@extundo.com>
78798
78799         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78800         modules/des-tests, modules/gc-arcfour-tests,
78801         modules/gc-arctwo-tests, modules/gc-des-tests,
78802         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78803         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78804         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78805         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78806         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78807         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
78808         $(EXEEXT) to automake TESTS variable, for mingw32.
78809
78810 2006-01-17  Simon Josefsson  <jas@extundo.com>
78811
78812         * modules/socklen (Include): Need sys/socket.h.
78813
78814 2006-01-17  Bruno Haible  <bruno@clisp.org>
78815
78816         * modules/ssize_t (Include): Add <sys/types.h>.
78817
78818 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
78819
78820         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
78821         it's not portable and it doesn't work with cross-compiles.
78822         Problem reported by Bruno Haible.  Fix missing-$ typo in
78823         'test "gl_cv_ignore_unused_libraries" ...' that prevented
78824         -zignore from being used with Sun's C compiler.
78825
78826 2006-01-12  Simon Josefsson  <jas@extundo.com>
78827
78828         * lib/base64.c: Fix warning, reported by Bruno Haible
78829         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
78830
78831 2006-01-12  Bruno Haible  <bruno@clisp.org>
78832
78833         * modules/ldd: New file.
78834         * build-aux/ldd.sh.in: New file.
78835         * MODULES.html.sh (Support for building libraries and executables): Add
78836         ldd.
78837
78838 2006-01-12  Bruno Haible  <bruno@clisp.org>
78839
78840         * m4/ldd.m4: New file.
78841
78842 2006-01-12  Bruno Haible  <bruno@clisp.org>
78843
78844         * gnulib-tool (func_import, func_create_testdir): Don't go into an
78845         endless loop while replacing $auxdir with build-aux.
78846
78847 2006-01-11  Simon Josefsson  <jas@extundo.com>
78848
78849         * lib/stdint_.h (SIZE_MAX): Add missing (.
78850
78851 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
78852
78853         Sync from coreutils.
78854         * lib/md5.c: Fix commentary typos.
78855         (alignof, UNALIGNED_P): No need for a GCC-specific version.
78856         * lib/md5.h (__attribute__): Remove; unused.
78857         * lib/sha1.c: Fix commentary to match md5 better.
78858         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
78859         so that we don't need to worry about alignment.  All uses changed.
78860         This merges the 2005-10-28 md5 change into sha1.
78861
78862 2006-01-11  Jim Meyering  <jim@meyering.net>
78863
78864         Sync from coreutils.
78865         * lib/md5.c (OP): Fix spacing.
78866
78867 2006-01-11  Bruno Haible  <bruno@clisp.org>
78868
78869         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78870         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
78871         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
78872
78873 2006-01-11  Bruno Haible  <bruno@clisp.org>
78874
78875         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78876         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
78877         the "early" section as well.
78878
78879 2006-01-11  Bruno Haible  <bruno@clisp.org>
78880
78881         Avoid "ar: no archive members specified" error on MacOS X.
78882         * gnulib-tool (func_modules_add_dummy): New function.
78883         (func_import, func_create_testdir): Invoke it.
78884
78885 2006-01-11  Bruno Haible  <bruno@clisp.org>
78886
78887         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
78888         with $auxdir in AC_CONFIG_FILES statements.
78889
78890 2006-01-11  Bruno Haible  <bruno@clisp.org>
78891
78892         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78893         Initialize also noinst_HEADERS to empty.
78894
78895 2006-01-11  Bruno Haible  <bruno@clisp.org>
78896
78897         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
78898         variables.
78899         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
78900         autoreconf.
78901
78902 2006-01-11  Bruno Haible  <bruno@clisp.org>
78903
78904         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
78905         overridable by the user.
78906         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78907
78908 2006-01-10  Simon Josefsson  <jas@extundo.com>
78909
78910         * modules/sys_socket: New file.
78911
78912 2006-01-10  Simon Josefsson  <jas@extundo.com>
78913
78914         * m4/sys_socket_h.m4: New file.
78915
78916 2006-01-10  Simon Josefsson  <jas@extundo.com>
78917
78918         * lib/socket_.h: New file.
78919
78920 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78921
78922         * modules/readutmp (Maintainer): Add myself.
78923
78924 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78925
78926         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
78927         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
78928         People who are still concerned with buggy memcmp implementations
78929         can invoke gl_FUNC_MEMCMP themselves.
78930
78931 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78932
78933         * lib/regex_internal.h (BITSET_WORD_BITS):
78934         Work around a bug in 64-bit PGC (before version 6.1-2), where the
78935         preprocessor mishandles large unsigned values as if they were signed.
78936         Problem reported by Claudio Fontana in
78937         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
78938
78939 2006-01-10  Jim Meyering  <jim@meyering.net>
78940
78941         Avoid the double-free (first in fts_read, second in fts_close) that
78942         would occur when an `active' directory is made inaccessible (e.g.,
78943         via chmod a-x) during a traversal.
78944         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78945         before returning.  Reproduce this failure by
78946         mkdir -p a/b; cd a; chmod a-x . b
78947         Reported by Stavros Passas.
78948
78949         Sync from coreutils.
78950         * lib/sha1.c: Tweak grammar in a comment.
78951
78952 2006-01-10  Jim Meyering  <jim@meyering.net>
78953
78954         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
78955         Patch by Joerg Sonnenberger.
78956
78957 2006-01-10  Bruno Haible  <bruno@clisp.org>
78958
78959         * modules/readutmp: Depend on module free.
78960         * modules/strtok_r: Depend on module restrict.
78961
78962 2006-01-10  Bruno Haible  <bruno@clisp.org>
78963
78964         * modules/gettext (configure.ac): Add an invocation of
78965         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
78966
78967 2006-01-10  Bruno Haible  <bruno@clisp.org>
78968
78969         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
78970         Reported by Werner Lemberg <wl@gnu.org>.
78971
78972 2006-01-10  Bruno Haible  <bruno@clisp.org>
78973
78974         * lib/localcharset.c: Update from GNU gettext.
78975
78976 2006-01-10  Bruno Haible  <bruno@clisp.org>
78977
78978         * lib/argp.h (__const): Remove macro. Use const instead.
78979         * lib/argp-fmtstream.h (__const): Likewise.
78980         * lib/glob_.h (__const): Remove macro.
78981         * lib/glob-libc.h: Use const instead of __const.
78982
78983 2006-01-10  Bruno Haible  <bruno@clisp.org>
78984
78985         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
78986         variable.
78987         Needed to avoid an automake error regarding the 'gettext' module.
78988
78989 2006-01-09  Simon Josefsson  <jas@extundo.com>
78990
78991         * modules/inet_ntop (Depends-on): Add restrict.
78992
78993 2006-01-09  Simon Josefsson  <jas@extundo.com>
78994
78995         * modules/gc-rijndael-tests (License): Put under LGPL.
78996
78997         * modules/gc-des-tests (License): Likewise.
78998
78999         * modules/gc-arcfour-tests (License): Likewise.
79000
79001         * modules/gc-arctwo-tests (License): Likewise.
79002
79003         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
79004
79005         * modules/gc-hmac-sha1-tests (Files): Likewise.
79006
79007         * modules/gc-hmac-md5-tests (License): Likewise.
79008
79009         * modules/gc-sha1-tests (License): Likewise.
79010
79011         * modules/gc-md5-tests (License): Likewise.
79012
79013         * modules/gc-md4-tests (License): Likewise.
79014
79015         * modules/gc-md2-tests (License): Likewise.
79016
79017         * modules/gc-tests (License): Likewise.
79018
79019         * modules/des-tests (License): Likewise.
79020
79021         * modules/md4-tests (License): Likewise.
79022
79023         * modules/md2-tests (License): Likewise.
79024
79025 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79026
79027         Sync from coreutils:
79028
79029         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
79030         * modules/lib-ignore: New file.
79031         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
79032         chdir-safer.m4, lchmod.m4.
79033         * modules/openat: Add mkdirat.c, openat-priv.h.
79034
79035 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79036
79037         Sync from coreutils.
79038         * m4/lib-ignore.m4: New file.
79039         * m4/lchmod.m4: New file.
79040
79041 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79042
79043         Sync from coreutils.
79044         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
79045         for write access: POSIX says that must fail.
79046         * lib/fts.c (diropen): Likewise.
79047         * lib/save-cwd.c (save_cwd): Likewise.
79048         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
79049         well, for minor improvements on hosts that lack O_DIRECTORY.
79050         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
79051         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
79052         Fall back on chown if open failed with EACCES.
79053
79054         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
79055         Report an error at compile-time if only a 1-second nominal clock
79056         resolution is found.
79057
79058         * lib/lchmod.h: New file.
79059         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
79060         (make_dir_parents): Use lchown rather than chown, and
79061         lchmod rather than chmod.
79062
79063         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
79064         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
79065         "proc" reported by n0dalus.
79066
79067         * lib/mountlist.c: Include <limits.h>.
79068         (dev_from_mount_options)
79069         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
79070         New function.  It no longer assumes "dev=" has the System V meaning
79071         on Linux (since it doesn't).  It also parses "dev=" more carefully.
79072         (read_file_system_list)
79073         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
79074         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
79075         dev= in that case.
79076
79077         * lib/posixtm.h (PDS_PRE_2000): New macro.
79078         * lib/posixtm.c (year): Arg is now syntax_bits rather than
79079         allow_century.  All usages changed.  Reject dates outside the range
79080         1969-1999 if PDS_PRE_2000 is used.
79081
79082 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79083
79084         Sync from coreutils.
79085         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
79086         (Time of day items): Mention the possibility of leap seconds.
79087         Problem reported by Dr. David Alan Gilbert.
79088
79089 2006-01-09  Jim Meyering  <jim@meyering.net>
79090
79091         Sync from coreutils.
79092
79093         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
79094
79095         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
79096
79097         * lib/modechange.c (mode_compile): Reject an invalid mode string
79098         that starts with an octal digit.  From Andreas Gruenbacher.
79099
79100         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
79101         and dup to open_safer and dup_safer, respectively.
79102         (openat_permissive): Fix typo in comment.
79103
79104         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
79105         "gettext.h"; either no longer needed or are guaranteed by openat.h.
79106         (_): Remove; no longer needed.
79107         (openat): Renamed from rpl_openat; no need for rpl_openat
79108         since openat.h renames openat for us.
79109         Replace most of the body with a call to openat_permissive,
79110         to avoid duplicate code.
79111         Port to (probably hypothetical) environments were mode_t is
79112         wider than int.
79113         (openat_permissive): Require mode arg, so that we can check
79114         types better.  Put it just after flags.  Change cwd failure
79115         indicator from pointer-to-bool to pointer-to-errno-value.
79116         All callers changed.
79117         Invoke openat_save_fail and/or openat_restore_fail if
79118         cwd_errno is null, so that openat can call us.
79119         (openat_permissive, fdopendir, fstatat, unlinkat):
79120         Simplify errno handling to avoid some duplicate code,
79121         as it's OK to set errno on success.
79122         * lib/openat.h: Revamp code so that function macros depend on
79123         __OPENAT_PREFIX only, not also on AT_FDCWD.
79124         (openat_ro): Remove.  Caller changed to use openat_permissive.
79125         (openat_permissive): Now a macro, if not a function.
79126         (openat_restore_fail, openat_save_fail): Now always functions,
79127         since mkdirat needs them even if __OPENAT_PREFIX is defined.
79128
79129         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
79130         and openat.c.
79131         * lib/mkdirat.c: Include openat-priv.h.
79132         Remove definitions of macros defined therein.
79133         * lib/openat.c: Likewise.
79134
79135         * lib/mkdirat.c (mkdirat): New file and function.
79136         * lib/openat.h (mkdirat): Declare.
79137
79138         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
79139
79140         * lib/openat.h (openat_permissive): Declare.
79141         (openat_ro): Define.
79142
79143         * lib/openat.c (EXPECTED_ERRNO): New macro.
79144         (openat_permissive): New function -- used in remove.c rewrite.
79145         (all functions): Set errno just before returning, only if there
79146         was an actual failure.
79147         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
79148
79149         Emulate openat-family functions using Linux's procfs, if possible.
79150         Idea and some code based on Ulrich Drepper's glibc changes.
79151
79152         * lib/openat.c: (BUILD_PROC_NAME): New macro.
79153         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
79154         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
79155         before falling back on save_cwd and restore_cwd.
79156         (fdopendir, fstatat, unlinkat): Likewise.
79157
79158         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
79159         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
79160
79161         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
79162         as second argument to va_arg.  Otherwise, some versions of gcc
79163         warn that `if this code is reached, the program will abort'.
79164
79165 2006-01-09  Jim Meyering  <jim@meyering.net>
79166
79167         Sync from coreutils.
79168         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
79169         Require openat-priv.h.
79170
79171 2006-01-09  Bruno Haible  <bruno@clisp.org>
79172
79173         * modules/strnlen (Include): Use strnlen.h.
79174
79175 2006-01-09  Bruno Haible  <bruno@clisp.org>
79176
79177         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
79178
79179 2006-01-09  Bruno Haible  <bruno@clisp.org>
79180
79181         * lib/sysexit_.h (EX_OK): New macro.
79182         Suggested by Martin Lambers <marlam@marlam.de>.
79183
79184 2006-01-09  Bruno Haible  <bruno@clisp.org>
79185
79186         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
79187         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
79188
79189 2006-01-09  Bruno Haible  <bruno@clisp.org>
79190
79191         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
79192         numbers.
79193
79194 2006-01-09  Bruno Haible  <bruno@clisp.org>
79195
79196         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
79197         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
79198         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
79199         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
79200
79201 2006-01-09  Bruno Haible  <bruno@clisp.org>
79202
79203         * build-aux/javacomp.sh.in: New file, moved from lib/.
79204         * modules/javacomp-script (Files): Update.
79205         (configure.ac): Add AC_CONFIG_FILES invocation.
79206         (EXTRA_DIST): Remove variable.
79207
79208         * build-aux/javaexec.sh.in: New file, moved from lib/.
79209         * modules/javaexec (Files): Update.
79210         (configure.ac): Add AC_CONFIG_FILES invocation.
79211         (EXTRA_DIST): Remove javaexec.sh.in.
79212
79213         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
79214         * modules/csharpcomp-script (Files): Update.
79215         (configure.ac): Add AC_CONFIG_FILES invocation.
79216         (EXTRA_DIST): Remove variable.
79217
79218         * build-aux/csharpexec.sh.in: New file, moved from lib/.
79219         * modules/csharpexec (Files): Update.
79220         (configure.ac): Add AC_CONFIG_FILES invocation.
79221         (EXTRA_DIST): Remove csharpexec.sh.in.
79222
79223 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79224
79225         Sync from coreutils.
79226
79227         Add POSIX ACL support
79228         * lib/acl.h (copy_acl, set_acl): Add declarations.
79229         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
79230         systems other than Linux.
79231         (chmod_or_fchmod): New function: use fchmod when possible,
79232         and chmod otherwise.
79233         (file_has_acl): Add a POSIX ACL implementation, with a
79234         Linux-specific subcase.
79235         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
79236         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
79237         acls are unsupported.
79238         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
79239         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
79240         are unsupported.
79241
79242 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79243
79244         Sync from coreutils.
79245         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
79246
79247 2006-01-07  Bruno Haible  <bruno@clisp.org>
79248
79249         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
79250         gl_EARLY.
79251
79252 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79253
79254         * lib/strftime.c (tzname): Don't declare if it is already #defined.
79255         Problem reported for Mingw by Mark Junker.
79256
79257 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79258
79259         * README: Gnulib normally doesn't generate a tarball.
79260
79261 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
79262
79263         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
79264         long int, not int, for nanosecond counts, so that people who are
79265         used to POSIX struct timespec won't be surprised.  Reported by Jim
79266         Meyering.
79267
79268 2005-12-28  Bruno Haible  <bruno@clisp.org>
79269
79270         * build-aux/config.rpath: Update from GNU gettext.
79271
79272 2005-12-16  Jim Meyering  <jim@meyering.net>
79273
79274         * modules/fprintftime: New module.
79275         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
79276
79277 2005-12-16  Jim Meyering  <jim@meyering.net>
79278
79279         * m4/fprintftime.m4: New file.
79280
79281 2005-12-16  Jim Meyering  <jim@meyering.net>
79282
79283         * lib/fprintftime.c, lib/fprintftime.h: New files.
79284
79285 2005-12-15  Simon Josefsson  <jas@extundo.com>
79286
79287         * modules/socklen (configure.ac): Fix M4 macro name, to align with
79288         new m4/socklen.m4.
79289
79290 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79291
79292         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
79293         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
79294
79295 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79296
79297         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
79298         * lib/argp-help.c (fill_in_uparams): Check if the constructed
79299         struct uparams is valid. Fall back to the default values if it is
79300         not.
79301
79302 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79303
79304         * modules/argp (Files): Add argp-pin.c
79305         (Depends-on): dirname
79306         (lib_SOURCES): Add argp-pin.c
79307
79308 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79309
79310         * m4/argp.m4:  Check if program_invocation_name and
79311         program_invocation_short_name are declared and define appropriate
79312         macros if they are not.
79313
79314 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79315
79316         * lib/argp-help.c (__argp_base_name): New function
79317         (__argp_short_program_name): Rewrite using __argp_base_name
79318         * lib/argp-namefrob.h: Define program_invocation_name and
79319         program_invocation_short_name if requested
79320         (__argp_base_name): Add prototype
79321         * lib/argp-parse.c (argp_def): Use gettext wrappers
79322         (argp_default_parser): Use __argp_base_name
79323         * lib/argp-pin.c: New file. Defines program_invocation_name and
79324         program_invocation_short_name on systems that lack them.
79325
79326 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79327
79328         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
79329         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79330         porting problem reported by Georg Schwarz in
79331         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79332
79333 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79334
79335         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
79336         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79337         porting problem reported by Georg Schwarz in
79338         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79339
79340 2005-12-05  Bruno Haible  <bruno@clisp.org>
79341
79342         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
79343         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
79344         Reported by Mark Junker <mjscod@gmx.de>.
79345
79346 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
79347
79348         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
79349         Use implementation from Albert Chin, with some
79350         comments/corrections by Stepan Kasal and myself.
79351
79352 2005-12-02  Bruno Haible  <bruno@clisp.org>
79353
79354         * gnulib-tool (func_import): Accept GPLed build tool modules when
79355         --lgpl is given.
79356         * modules/csharpcomp-script: New file.
79357         * modules/csharpcomp: Depend on it.
79358         * modules/javacomp-script: New file.
79359         * modules/javacomp: Depend on it.
79360         Suggested by Simon Josefsson.
79361
79362 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
79363
79364         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
79365         statement, to work around an HP-UX 10.20 compiler bug reported by
79366         Peter O'Gorman.
79367
79368 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79369
79370         * modules/savedir (Depends-on): Add openat.
79371
79372 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79373
79374         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
79375         (uintmax_t) [defined uintmax_t]: Do not declare.
79376         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
79377         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
79378         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
79379         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
79380         sake of portability to weird hosts that C allows (though we don't
79381         know of any practical examples).
79382
79383         * lib/savedir.h (fdsavedir): New decl.
79384         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
79385         contains most of the former guts of savedir.
79386         (savedir): Use savedirstream.
79387         Include "openat.h".
79388
79389 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
79390
79391         * modules/obstack (Files): Add m4/ulonglong.m4.
79392         Problem reported by Davide Angelocola.
79393
79394 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
79395
79396         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
79397         coreutils no longer futzes with rounding modes.
79398
79399 2005-11-14  Jim Meyering  <jim@meyering.net>
79400
79401         * lib/mkstemp-safer.c: Include <config.h>, required for possible
79402         replacement of mkstemp.
79403
79404 2005-11-10  Simon Josefsson  <jas@extundo.com>
79405
79406         * lib/readline.c: Remove EOL.
79407
79408 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79409
79410         * modules/gethrxtime (Depends-on): Add gettime.
79411
79412 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79413
79414         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
79415         or gettimeofday; no longer needed.
79416
79417 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79418
79419         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
79420         time business.
79421         (gethrxtime) [! (HAVE_NANOUPTIME
79422         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
79423         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
79424         our own approximation.
79425
79426 2005-11-08  Eric Blake  <ebb9@byu.net>
79427
79428         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79429
79430 2005-11-08  Eric Blake  <ebb9@byu.net>
79431
79432         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79433
79434 2005-11-04  Bruno Haible  <bruno@clisp.org>
79435
79436         * gnulib-tool: Implement --update mode.
79437
79438 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79439
79440         Fix porting problem reported by Theodoros V. Kalamatianos.
79441         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
79442         Don't assume that futimes failing means we must fail.
79443
79444 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79445
79446         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
79447         variables to suggest the intended function of the PATH_MAX check.
79448
79449 2005-10-30  Kean Johnston  <jkj@sco.com>
79450
79451         Trivial changes to support SCO systems.
79452         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
79453         as PATH_MAX.
79454         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
79455         where __ptr is null when no I/O is pending.
79456
79457 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79458
79459         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
79460         leave errno alone.  Problem reported by Dmitry V. Levin.
79461
79462 2005-10-28  Simon Josefsson  <jas@extundo.com>
79463
79464         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
79465         Test more.
79466
79467         * tests/test-gc-md2.c, tests/test-md2.c: New files.
79468
79469         * modules/md2, modules/md2-tests: New files.
79470
79471 2005-10-28  Simon Josefsson  <jas@extundo.com>
79472
79473         * m4/inet_ntop.m4: More tests.
79474
79475         * m4/gc-md2.m4, md2.m4: New file.
79476
79477 2005-10-28  Simon Josefsson  <jas@extundo.com>
79478
79479         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
79480         "restrict" keywords, as per POSIX.  Protect the function
79481         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
79482         Don't use K&R prototypes.  Check the sprintf return values.
79483         Re-define EAFNOSUPPORT if not present.  Indent.
79484
79485         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
79486         suggested by Bruno Haible <bruno@clisp.org>.
79487
79488         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
79489
79490         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
79491
79492         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
79493         libgcrypt).
79494
79495         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
79496
79497         * lib/md2.h, lib/md2.c: New files.
79498
79499 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
79500
79501         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
79502         errno alone.  Problem reported by Frederic Jolliton.
79503
79504 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
79505
79506         * modules/verify (License): Change from GPL to LGPL.  This is a
79507         tiny module and there are apparently near-equivalents that are
79508         under the BSD license.
79509
79510 2005-10-24  Simon Josefsson  <jas@extundo.com>
79511
79512         * modules/sha1: Relicense to LGPL.
79513
79514 2005-10-24  Simon Josefsson  <jas@extundo.com>
79515
79516         * lib/md4.h: Shrink buffer size, now that we changed the type.
79517
79518 2005-10-23  Simon Josefsson  <jas@extundo.com>
79519
79520         * gnulib-tool (func_import): Fix --tests-base.
79521
79522 2005-10-22  Simon Josefsson  <jas@extundo.com>
79523
79524         * modules/arcfour (Depends-on): Need stdint.
79525
79526 2005-10-22  Simon Josefsson  <jas@extundo.com>
79527
79528         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
79529         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
79530
79531 2005-10-22  Simon Josefsson  <jas@extundo.com>
79532
79533         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
79534         suggested by Bruno Haible <bruno@clisp.org>.
79535
79536 2005-10-22  Simon Josefsson  <jas@extundo.com>
79537
79538         * lib/crc.h: Include stddef.h, for size_t.
79539
79540 2005-10-22  Simon Josefsson  <jas@extundo.com>
79541
79542         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
79543         arcfour_context struct (simplify test vector testing in GNU
79544         Shishi).
79545
79546 2005-10-21  Simon Josefsson  <jas@extundo.com>
79547
79548         * modules/des, modules/des-tests: New files.
79549
79550         * modules/gc-des, modules/gc-des-tests: New files.
79551
79552         * tests/test-des.c, tests/test-gc-des.c: New file.
79553
79554 2005-10-21  Simon Josefsson  <jas@extundo.com>
79555
79556         * modules/arctwo, modules/arctwo-tests: New files.
79557
79558         * tests/test-arctwo.c: New file.
79559
79560         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
79561
79562         * tests/test-gc-arctwo.c: New file.
79563
79564 2005-10-21  Simon Josefsson  <jas@extundo.com>
79565
79566         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
79567         Bruno Haible <bruno@clisp.org>.
79568
79569         * m4/gc-des.m4: New file.
79570
79571 2005-10-21  Simon Josefsson  <jas@extundo.com>
79572
79573         * m4/arctwo.m4: New file.
79574
79575         * m4/gc-arctwo.m4: New file.
79576
79577 2005-10-21  Simon Josefsson  <jas@extundo.com>
79578
79579         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
79580         block.
79581
79582 2005-10-21  Simon Josefsson  <jas@extundo.com>
79583
79584         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
79585         <bruno@clisp.org>.
79586
79587         * lib/hmac-sha1.c (hmac_sha1): Likewise.
79588
79589         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
79590         Bruno Haible <bruno@clisp.org>.
79591
79592         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
79593         <bruno@clisp.org>.
79594
79595 2005-10-21  Simon Josefsson  <jas@extundo.com>
79596
79597         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
79598
79599 2005-10-21  Simon Josefsson  <jas@extundo.com>
79600
79601         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
79602
79603 2005-10-21  Simon Josefsson  <jas@extundo.com>
79604
79605         * lib/des.h, lib/des.c: New files.
79606
79607         * lib/gc-gnulib.c: Support DES.c
79608
79609 2005-10-21  Simon Josefsson  <jas@extundo.com>
79610
79611         * lib/arctwo.h, lib/arctwo.c: New files.
79612
79613         * lib/gc-gnulib.c: Support ARCTWO.
79614
79615 2005-10-21  Simon Josefsson  <jas@extundo.com>
79616
79617         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
79618         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79619
79620 2005-10-21  Simon Josefsson  <jas@extundo.com>
79621
79622         * gnulib-tool (func_import, func_create_testdir): Define automake
79623         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
79624         Makefile.am snippet),
79625         suggested by Bruno Haible <bruno@clisp.org>.
79626
79627         * modules/gc (Makefile.am): Use it.
79628
79629 2005-10-21  Bruno Haible  <bruno@clisp.org>
79630
79631         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
79632         patch.
79633
79634 2005-10-19  Simon Josefsson  <jas@extundo.com>
79635
79636         * tests/test-gc-rijndael.c: New file.
79637
79638         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
79639
79640 2005-10-19  Simon Josefsson  <jas@extundo.com>
79641
79642         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
79643         interface too.
79644
79645 2005-10-19  Simon Josefsson  <jas@extundo.com>
79646
79647         * tests/test-gc-arcfour.c: New file.
79648
79649         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
79650
79651 2005-10-19  Simon Josefsson  <jas@extundo.com>
79652
79653         * modules/gc-md4, modules/gc-md4-tests: New file.
79654
79655         * tests/test-gc-md4.c: New file.
79656
79657 2005-10-19  Simon Josefsson  <jas@extundo.com>
79658
79659         * m4/gc-md4.m4: New file.
79660
79661 2005-10-19  Simon Josefsson  <jas@extundo.com>
79662
79663         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
79664         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
79665         <kasal@ucw.cz>.
79666
79667 2005-10-19  Simon Josefsson  <jas@extundo.com>
79668
79669         * m4/gc-arcfour.m4: New file.
79670
79671         * m4/gc-rijndael.m4: New file.
79672
79673 2005-10-19  Simon Josefsson  <jas@extundo.com>
79674
79675         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
79676
79677 2005-10-19  Simon Josefsson  <jas@extundo.com>
79678
79679         * lib/gc-gnulib.c: Support ARCFOUR.
79680
79681 2005-10-19  Simon Josefsson  <jas@extundo.com>
79682
79683         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
79684         support.
79685
79686         * lib/gc.h: Add ECB enum type.
79687
79688         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
79689
79690 2005-10-18  Simon Josefsson  <jas@extundo.com>
79691
79692         * tests/test-md5.c: New file.
79693
79694         * modules/md5-tests: New file.
79695
79696 2005-10-18  Simon Josefsson  <jas@extundo.com>
79697
79698         * tests/test-md4.c: New file.
79699
79700         * modules/md4, modules/md4-tests: New files.
79701
79702 2005-10-18  Simon Josefsson  <jas@extundo.com>
79703
79704         * m4/md4.m4: New file.
79705
79706 2005-10-18  Simon Josefsson  <jas@extundo.com>
79707
79708         * lib/md4.h, lib/md4.c: New files, based on md5.?.
79709
79710 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
79711
79712         * gnulib-tool (func_create_testdir): Omit the second check whether
79713         BUILT_SOURCES in nonempty.
79714
79715 2005-10-17  Simon Josefsson  <jas@extundo.com>
79716
79717         * tests/test-rijndael.c: New file.
79718
79719 2005-10-17  Simon Josefsson  <jas@extundo.com>
79720
79721         * modules/sha1: Depend on stdint instead of md5.
79722
79723         * modules/md5: Depend on stdint, remove uint32_t.
79724
79725 2005-10-17  Simon Josefsson  <jas@extundo.com>
79726
79727         * modules/gc-sha1-tests: New file.
79728
79729         * tests/test-gc-sha1.c: New file.
79730
79731 2005-10-17  Simon Josefsson  <jas@extundo.com>
79732
79733         * m4/md5.m4: Remove call to uint32_t.m4.
79734
79735 2005-10-17  Simon Josefsson  <jas@extundo.com>
79736
79737         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
79738
79739         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
79740         md5.h.
79741
79742         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
79743
79744         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
79745
79746 2005-10-17  Simon Josefsson  <jas@extundo.com>
79747
79748         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
79749
79750 2005-10-17  Simon Josefsson  <jas@extundo.com>
79751
79752         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
79753
79754 2005-10-17  Simon Josefsson  <jas@extundo.com>
79755
79756         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
79757
79758         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
79759
79760 2005-10-17  Bruno Haible  <bruno@clisp.org>
79761
79762         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
79763         that it can also be used in a test.
79764
79765 2005-10-16  Bruno Haible  <bruno@clisp.org>
79766
79767         * gnulib-tool (func_emit_tests_Makefile_am): Also define
79768         TESTS_ENVIRONMENT, so that individual tests can augment it.
79769
79770         * gnulib-tool (func_create_testdir): Use an intermediate target for
79771         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
79772         macros, like $(ALLOCA_H), which cannot be passed through the command
79773         line.
79774
79775 2005-10-15  Simon Josefsson  <jas@extundo.com>
79776
79777         * modules/rijndael-tests: New file.
79778
79779         * modules/rijndael: New file.
79780
79781 2005-10-15  Simon Josefsson  <jas@extundo.com>
79782
79783         * m4/rijndael.m4: New file.
79784
79785 2005-10-15  Simon Josefsson  <jas@extundo.com>
79786
79787         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
79788
79789         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
79790
79791 2005-10-14  Simon Josefsson  <jas@extundo.com>
79792
79793         * tests/test-arcfour.c: New file.
79794
79795         * modules/arcfour, modules/arcfour-tests: New files.
79796
79797 2005-10-14  Simon Josefsson  <jas@extundo.com>
79798
79799         * m4/arcfour.m4: New file.
79800
79801 2005-10-14  Simon Josefsson  <jas@extundo.com>
79802
79803         * lib/arcfour.h, lib/arcfour.c: New files.
79804
79805 2005-10-14  Roland McGrath  <roland@redhat.com>
79806
79807         Import from libc.  [BZ #1331]
79808         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
79809         macro argument.
79810         Reported by Matej Vela <vela@debian.org>.
79811
79812 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79813
79814         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
79815         include <wchar.h>; no longer needed.
79816
79817 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79818
79819         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
79820
79821 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
79822         and  Ulrich Drepper  <drepper@redhat.com>
79823
79824         Import from libc.
79825         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
79826         instead of inline stream orientation test and two separate
79827         function calls.  Pay no attention to USE_IN_LIBIO.
79828
79829 2005-10-13  Simon Josefsson  <jas@extundo.com>
79830
79831         * modules/gc-hmac-md5-tests: New file.
79832
79833         * tests/test-gc-hmac-sha1.c: New file.
79834
79835         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
79836
79837         * modules/gc-hmac-md5-tests: New file.
79838
79839         * tests/test-gc-md5.c: New file.
79840
79841         * modules/gc-md5-tests: New file.
79842
79843 2005-10-13  Simon Josefsson  <jas@extundo.com>
79844
79845         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
79846         Move memory allocation outside of loop.
79847
79848 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
79849
79850         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
79851         intermediate directory is in a read-only file system.  Problem
79852         reported by Eric Blake.
79853
79854 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
79855
79856         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
79857
79858 2005-10-12  Simon Josefsson  <jas@extundo.com>
79859
79860         * tests/test-hmac-sha1.c: New file.
79861
79862         * modules/hmac-sha1-tests: New file.
79863
79864         * modules/hmac-sha1: New file.
79865
79866 2005-10-12  Simon Josefsson  <jas@extundo.com>
79867
79868         * modules/gc-sha1: New file.
79869
79870 2005-10-12  Simon Josefsson  <jas@extundo.com>
79871
79872         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
79873
79874         * tests/test-gc-pbkdf2-sha1.c: New file.
79875
79876 2005-10-12  Simon Josefsson  <jas@extundo.com>
79877
79878         * modules/gc-md5, modules/gc-hmac-md5: New files.
79879
79880         * modules/gc (Files): Remove md5, memxor and hmac files.
79881
79882 2005-10-12  Simon Josefsson  <jas@extundo.com>
79883
79884         * m4/gc-pbkdf2-sha1.m4: New file.
79885
79886         * m4/gc-hmac-sha1.m4: New file.
79887
79888         * m4/gc-sha1: New file.
79889
79890         * m4/hmac-sha1.m4: New file.
79891
79892 2005-10-12  Simon Josefsson  <jas@extundo.com>
79893
79894         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
79895
79896         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
79897
79898 2005-10-12  Simon Josefsson  <jas@extundo.com>
79899
79900         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
79901         suggested by Bruno Haible <bruno@clisp.org>.
79902
79903 2005-10-12  Simon Josefsson  <jas@extundo.com>
79904
79905         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
79906
79907 2005-10-12  Simon Josefsson  <jas@extundo.com>
79908
79909         * lib/gc-pbkdf2-sha1.c: New file.
79910
79911         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
79912
79913 2005-10-12  Simon Josefsson  <jas@extundo.com>
79914
79915         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
79916
79917         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
79918
79919 2005-10-12  Simon Josefsson  <jas@extundo.com>
79920
79921         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
79922         GC_USE_HMAC_MD5, respectively.
79923
79924         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
79925         (gc_md5): Fix typo.
79926
79927         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
79928
79929         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
79930
79931         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
79932
79933 2005-10-12  Bruno Haible  <bruno@clisp.org>
79934
79935         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
79936         Reported by Stepan Kasal <kasal@ucw.cz>.
79937
79938 2005-10-11  Simon Josefsson  <jas@extundo.com>
79939
79940         * tests/test-crc.c: New file.
79941
79942         * modules/crc, modules/crc-tests: New files.
79943
79944 2005-10-11  Simon Josefsson  <jas@extundo.com>
79945
79946         * m4/crc.m4: New file.
79947
79948 2005-10-11  Simon Josefsson  <jas@extundo.com>
79949
79950         * lib/gc.h: Add gc_hash and gc_hash_buffer.
79951
79952         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
79953
79954         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
79955
79956 2005-10-11  Simon Josefsson  <jas@extundo.com>
79957
79958         * lib/crc.h, lib/crc.c: New files.
79959
79960         * lib/gc.h (gc_hash_buffer): Add doc.
79961
79962 2005-10-11  Bruno Haible  <bruno@clisp.org>
79963
79964         * modules/c-strcasestr: New file.
79965         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
79966
79967 2005-10-11  Bruno Haible  <bruno@clisp.org>
79968
79969         * modules/c-strcase: New file.
79970         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
79971
79972 2005-10-11  Bruno Haible  <bruno@clisp.org>
79973
79974         * lib/strcasecmp.c: Include limits.h.
79975         (strcasecmp): Avoid integer overflow on exotic platforms.
79976         * lib/strncasecmp.c: Include limits.h.
79977         (strncasecmp): Avoid integer overflow on exotic platforms.
79978         Reported by Paul Eggert.
79979
79980 2005-10-11  Bruno Haible  <bruno@clisp.org>
79981
79982         * lib/c-strcasestr.h: New file, from GNU gettext.
79983         * lib/c-strcasestr.c: New file, from GNU gettext.
79984
79985 2005-10-11  Bruno Haible  <bruno@clisp.org>
79986
79987         * lib/c-strcase.h: New file, from GNU gettext.
79988         * lib/c-strcasecmp.c: New file, from GNU gettext.
79989         * lib/c-strncasecmp.c: New file, from GNU gettext.
79990
79991 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
79992
79993         * modules/mempcpy (License): GPL -> LGPL.
79994         * modules/strchrnul (License): Likewise.
79995         * modules/sysexits (License): Likewise.
79996
79997 2005-10-08  Simon Josefsson  <jas@extundo.com>
79998
79999         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
80000
80001 2005-10-07  Simon Josefsson  <jas@extundo.com>
80002
80003         * m4/memxor.m4: Remove gl_C_RESTRICT call.
80004
80005 2005-10-06  Simon Josefsson  <jas@extundo.com>
80006
80007         * tests/test-hmac-md5.c: New file.
80008
80009         * modules/hmac-md5-tests: New file.
80010
80011         * modules/hmac-md5: New file.
80012
80013 2005-10-06  Simon Josefsson  <jas@extundo.com>
80014
80015         * m4/hmac-md5.m4: New file.
80016
80017         * m4/memxor.m4: Require gl_C_RESTRICT.
80018
80019 2005-10-06  Simon Josefsson  <jas@extundo.com>
80020
80021         * lib/memxor.c (memxor): Avoid casts and warnings.
80022
80023 2005-10-06  Simon Josefsson  <jas@extundo.com>
80024
80025         * lib/hmac-md5.c: New file.
80026
80027         * lib/hmac.h: New file.
80028
80029 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
80030
80031         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
80032         promotes to int, not unsigned int, to catch the AIX 5.3
80033         compiler bug.
80034
80035 2005-10-05  Simon Josefsson  <jas@extundo.com>
80036
80037         * modules/memxor: New file.
80038
80039         * modules/iconv (Files): Move config.rpath to havelib, it is used
80040         there.
80041
80042         * modules/havelib (Files): Add config.rpath.
80043
80044 2005-10-05  Simon Josefsson  <jas@extundo.com>
80045
80046         * m4/memxor.m4: New file.
80047
80048 2005-10-05  Simon Josefsson  <jas@extundo.com>
80049
80050         * lib/memxor.c (memxor): Fix compiler error.
80051
80052         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
80053         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
80054
80055         * lib/memxor.h, lib/memxor.c: New files.
80056
80057         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
80058         we assume all systems have it, suggested by Jim Meyering
80059         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
80060         any systems lack sys/socket.h; mingw32 is known to lack it, but we
80061         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
80062         same reasons.
80063
80064 2005-10-05  Simon Josefsson  <jas@extundo.com>
80065
80066         * config/srclist.txt: Add glibc bug 1423 for md5.h.
80067
80068 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
80069
80070         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
80071         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
80072         needed, since the source code now assumes these .h files.
80073
80074 2005-10-05  Derek Price  <derek@ximbiot.com>
80075
80076         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
80077
80078 2005-10-05  Bruno Haible  <bruno@clisp.org>
80079
80080         * modules/stdint (License): Change to LGPL.
80081
80082 2005-10-04  Simon Josefsson  <jas@extundo.com>
80083
80084         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
80085         D. Baushke" <mdb@gnu.org>.
80086
80087 2005-10-04  Bruno Haible  <bruno@clisp.org>
80088
80089         * lib/verify.h (verify_true): Provide alternative definition for C++.
80090
80091 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
80092
80093         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
80094         (SSIZE_MAX): New macro, if not already defined.
80095         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
80096         than 2 GiB.
80097
80098 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80099
80100         Sync from coreutils.
80101         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
80102         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
80103         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
80104         ULLONG_MAX doesn't work with 2.7.2.1.
80105
80106 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80107
80108         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
80109         From Ben Pfaff.
80110
80111         * modules/exclude (Depends-on): Depend on verify.
80112         * modules/strtoimax (Depends-on): Likewise.
80113         * modules/utimecmp (Depends-on): Likewise.
80114
80115 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80116
80117         * lib/exclude.c: Include verify.h.
80118         (verify): Remove.  All callers changed to use verify.h's version.
80119         * lib/strtoimax.c: Likewise.
80120         * lib/utimecmp.c: Likewis.e
80121
80122         Sync from coreutils.
80123         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
80124         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
80125         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
80126         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
80127         bother returning ENOSYS if settimeofday or stime fails; just let
80128         them return whatever errno they want to return.
80129         * lib/utimens.c: Include unistd.h, for dup2.
80130         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
80131         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
80132
80133 2005-10-02  Jim Meyering  <jim@meyering.net>
80134
80135         Sync from coreutils.
80136         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
80137         from glibc-2.2.5 that fails for read-only files.
80138
80139 2005-10-02  Jim Meyering  <jim@meyering.net>
80140
80141         Sync from coreutils.
80142         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
80143         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
80144         `#if HAVE_CONFIG_H'.
80145         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
80146         Remove AT_FDCWD test.
80147         Do not consume the fd unless successful.
80148         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
80149         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
80150         block, so that we don't even try to compile it if settimeofday is
80151         available.  This works around a compilation failure on OSF1 V5.1,
80152         due to stime requiring a `long int*' while tv_sec is `int'.
80153
80154 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
80155
80156         Sync from coreutils.
80157         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
80158         against `yes', rather than just testing for nonempty.
80159
80160 2005-10-01  Simon Josefsson  <jas@extundo.com>
80161
80162         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
80163         and Darwin.
80164
80165         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
80166         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
80167         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
80168         freeaddrinfo and gai_strerror are declared by the POSIX headers.
80169         Check if struct addrinfo is declared.
80170
80171 2005-10-01  Simon Josefsson  <jas@extundo.com>
80172
80173         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
80174         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
80175         AI_* and EAI_* definitions.  Protect function declarations.
80176
80177 2005-10-01  Jim Meyering  <jim@meyering.net>
80178
80179         Sync from coreutils.
80180
80181         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
80182         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
80183         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
80184         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80185         in the inet and nsl libraries.  Required on Solaris 5.7.
80186
80187 2005-10-01  Jim Meyering  <jim@meyering.net>
80188
80189         Sync from coreutils.
80190         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80191         in the inet and nsl libraries.  Required on Solaris 5.7.
80192
80193 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
80194
80195         * lib/getdelim.c (getdelim): Remove unused variables.
80196
80197 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
80198
80199         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
80200         so that the code works even with ancient cpp.  Portability problem
80201         with GCC 2.7.2.1 reported by Thomas M.Ott.
80202
80203 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
80204
80205         * modules/regex (Depends-on): Add strcase.
80206
80207         * modules/gethostname (Licence): Change from GPL to LGPL, since
80208         gethostname.c is a trivial implementation of a standard library
80209         function.
80210         * modules/poll (License): Change from GPL to LGPL, since it's
80211         derived from LGPL code.
80212
80213 2005-09-27  Jim Meyering  <jim@meyering.net>
80214
80215         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
80216         HAVE_CONFIG_H.
80217
80218         * lib/intprops.h (signed_type_or_expr__): Define.
80219         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
80220         for unsigned types.
80221
80222 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
80223
80224         * lib/verify.h (verify_expr): Remove, replacing with:
80225         (verify_true): New macro that returns true instead of void.
80226         (verify_type__): Remove.
80227         (verify): Use verify_true rather than verify_type__.
80228
80229 2005-09-26  Bruno Haible  <bruno@clisp.org>
80230
80231         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
80232         is necessary.
80233         (lib_SOURCES): Remove mbchar.c.
80234         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
80235         (Files): Add m4/mbrtowc.m4.
80236         * modules/mbiter: Likewise.
80237         * modules/mbuiter: Likewise.
80238
80239 2005-09-26  Bruno Haible  <bruno@clisp.org>
80240
80241         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
80242         compile mbchar.c if they are not both present.
80243         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
80244         * m4/mbiter.m4 (gl_MBITER): Likewise.
80245         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
80246         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
80247         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
80248
80249 2005-09-25  Jim Meyering  <jim@meyering.net>
80250
80251         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
80252         also uses socklen_t.
80253
80254 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
80255
80256         * lib/utimens.c (ENOSYS): Define if not already defined.
80257         (futimens): Support having a null PATH if the file descriptor
80258         is nonnegative.
80259
80260         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
80261         Remove.
80262         (__attribute): Define to empty unless GCC 3.1 or later.
80263         This works around a core dump on OpenBSD 3.4, which has GCC
80264         2.95.3, which dumps core when given __attribute__(()).  It also
80265         simplifies other tests, since we really don't want to bother with
80266         worrying about which ancient version of GCC supported what.
80267         Original problem reported by Yoann Vandoorselaere, with part of
80268         the fix suggested by Derek Price.
80269
80270 2005-09-24  Jim Meyering  <jim@meyering.net>
80271
80272         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
80273         so we can once again use a positive bitfield width of 1 -- now we
80274         don't have to explain why we were using a bitfield width of 2.
80275
80276 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80277
80278         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
80279         and similarly for the other external symbols.  Problem reported
80280         by James Gallager.
80281
80282         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
80283         bug reported by Jim Meyering.
80284
80285         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
80286         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
80287         not needed, since socklen is a prerequisite module.
80288
80289 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80290
80291         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
80292         Problem reported by Eric Blake.
80293         (getaddrinfo): Initialize se so that it's not garbage.
80294         Redo internal storage allocation so that it doesn't make unportable
80295         assumptions about alignment.
80296         Fix a memory leak.
80297
80298         * lib/utimens.c (futimens): Use futimesat if available.
80299         Prefer it to futimes since it doesn't have the futimes bug.
80300
80301         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
80302         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
80303         Instead, declare a function that returns a pointer to an array,
80304         and use verify_type__ to declare the size of the array.
80305         Problem and germ of a solution reported by Bruno Haible.
80306         (verify_type__): Use 2, not 1, for bitfield size, to avoid
80307         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
80308
80309 2005-09-23  Jim Meyering  <jim@meyering.net>
80310
80311         Sync from coreutils.
80312         Correct build failure (socklen_t not defined) on at least
80313         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
80314         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
80315
80316 2005-09-23  Jim Meyering  <jim@meyering.net>
80317
80318         * modules/getaddrinfo (Depends-on): Add socklen.
80319
80320 2005-09-23  Bruno Haible  <bruno@clisp.org>
80321
80322         * tests/test-verify.c: New file.
80323
80324 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80325
80326         Sync from coreutils.
80327
80328         * modules/argmatch (Depends-on): Add verify.
80329         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
80330         unistd-safer.
80331         * modules/save-cwd (Depends-on): Likewise.
80332
80333         * modules/openat (Files): Add lib/openat-die.c.
80334         (Depends-on): Remove error, exitfail.
80335         Add dirname.
80336
80337         * modules/verify: New file.
80338         * MODULES.html.sh (Diagnostics <assert.h>): New section,
80339         with "verify" module.
80340
80341 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80342
80343         Sync from coreutils.
80344
80345         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
80346         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
80347         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
80348         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
80349         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
80350         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
80351         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
80352         Don't bother checking for string.h, stdlib.h, unistd.h.
80353         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
80354         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
80355         module's job.
80356         * m4/jm-macros.m4 (gl_MACROS): Likewise.
80357         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
80358
80359         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
80360         (gl_GETDATE): Use it.
80361
80362         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
80363
80364 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80365
80366         Sync from coreutils.
80367
80368         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
80369         stat-time.h.
80370         * lib/argmatch.h: Include verify.h
80371         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
80372         (ARGMATCH_ASSERT): Remove; unused.
80373         * lib/canonicalize.c: Assume STDC_HEADERS.
80374         * lib/exclude.c: Include "strcase.h".
80375         * lib/regex_internal.h [!defined _LIBC]: Likewise.
80376         * lib/getusershell.c: Include stdio--.h rather than stdio.h
80377         and stdio-safer.h.
80378         (getusershell): Call fopen, not fopen_safer.
80379         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
80380         Do not include unistd-safer.h.
80381         (save_cwd): Don't call fd_safer; no longer needed
80382         now that we include fcntl--.h.
80383
80384         * lib/getdate.y (relative_time): New type.
80385         (RELATIVE_TIME_0): New constant.
80386         (parser_control): Use relative_time instead of doing it ourselves.
80387         (%union): Add new relative_time rel member.
80388         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
80389         Now typeless.
80390         (relunit, relunit_snumber): Now of type rel.
80391         (zone, rel, relunit, get_date): Adjust to above changes.
80392
80393         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
80394         Do not include unistd-safer.h.
80395         (getloadavg): Don't call fd_safer; no longer needed
80396         now that we include fcntl--.h.
80397
80398         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
80399         (make_dir_parents): Treat ENOSYS like EEXIST.
80400
80401         Improve quality of diagnostics on restore_cwd failure.
80402         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
80403         (make_dir_parents): Last arg is now int * (for errno), not bool *.
80404         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
80405         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
80406         each time through the loop.  Do not diagnose restore_cwd failure;
80407         that is the caller's job (and perhaps the caller does not care).
80408
80409         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
80410         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
80411         If the file already exists but is not a directory, don't bother
80412         to try to make its parents.
80413         Close potential file descriptor leak if we can't chdir("/") (!).
80414         Don't always return true if chdir($PWD) fails; return true only
80415         if the requested action was done successfully (except for the
80416         chdir($PWD)).
80417         Don't log final directory unless we actually made it.
80418         Refactor to avoid duplicate code to fix up permissions.
80419         Don't attempt to fix up parent permissions if chdir($PWD) fails.
80420
80421         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
80422         to make it a bit faster and (I hope) clearer.
80423         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
80424         Fix bug in formats like %2N.
80425
80426         * lib/verify.h: New file.
80427
80428 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80429
80430         Sync from coreutils.
80431         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
80432
80433 2005-09-22  Jim Meyering  <jim@meyering.net>
80434
80435         Sync from coreutils.
80436
80437         * m4/lstat.m4 (gl_FUNC_LSTAT):
80438         Use AC_LIBSOURCES to require lstat.c and lstat.h.
80439         Remove obsolete comment.
80440         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
80441         * m4/xstrtod.m4: Likewise.
80442
80443         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
80444
80445 2005-09-22  Jim Meyering  <jim@meyering.net>
80446
80447         Sync from coreutils.
80448
80449         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
80450
80451         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
80452         the .tm_year member, since otherwise gcc-4.0 would now warn about
80453         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
80454
80455         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
80456         order to avoid an unsuppressible warning from gcc on 64-bit systems.
80457
80458         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
80459         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
80460         when run in a time zone for which daylight savings time is in effect
80461         for the starting date.
80462
80463         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
80464         stop us from restricting permissions of just-created absolute-named
80465         directories.
80466         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
80467         to restore initial working directory.
80468         * lib/mkdir-p.c (make_dir_parents): New parameter:
80469         different_working_dir, to tell caller if/when we change the working
80470         directory and are unable to return to the initial one.
80471         * lib/mkdir-p.h (make_dir_parents): Update prototype.
80472         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
80473         `return false'.  This fixes a bug introduced on 2004-07-30.
80474
80475         * lib/openat.c (fdopendir): Be sure to close the supplied
80476         file descriptor before returning.  This makes our replacement
80477         implementation a little closer to Solaris's, where fdopendir
80478         ties the file descriptor to the returned DIR* pointer.
80479         * lib/openat.c (unlinkat): New function.
80480         * lib/openat.h (unlinkat): Add prototype.
80481         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
80482         (openat_restore_fail): Rename from openat_restore_die.
80483         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
80484
80485         Provide an alternative to exiting immediately upon save_cwd or
80486         restore_cwd failure.  Now, an application can arrange e.g.,
80487         to perform a longjump in that case.
80488         * lib/openat.c: Include dirname.h.
80489         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
80490         (rpl_openat, fdopendir, fstatat): Call openat_save_die
80491         and openat_restore_die rather than calling error directly.
80492         Don't include "error.h" or "exitfail.h"; they're no longer needed.
80493
80494         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
80495         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
80496         define.
80497
80498         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
80499         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
80500                             int utc, int nanoseconds);
80501         Background:
80502         date should not have to allocate a megabyte of virtual memory to
80503         handle a format argument like +%1048575T.  When implemented with
80504         strftime, it must allocate such a buffer, use strftime to fill it
80505         in, print it, then free it.
80506         With fprintftime, it simply prints everything and exits.
80507         With no need for memory allocation, that's one fewer way to fail.
80508         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
80509         optional field width, not before, so we accept %9:z, not %:9z.
80510         (my_strftime): Be sure to use L_('x') for literals.
80511
80512         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
80513         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
80514         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
80515         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
80516         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
80517         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
80518         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
80519         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
80520         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
80521         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
80522         * lib/xgethostname.c, lib/xreadlink.c:
80523         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
80524
80525         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
80526         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
80527         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
80528         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80529         and don't include <sys/file.h>).
80530
80531 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
80532
80533         Sync from coreutils.
80534
80535         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
80536         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
80537         [!LDAV_DONE]: Avoid unused variable warning.
80538
80539 2005-09-21  Bruno Haible  <bruno@clisp.org>
80540
80541         * lib/unicodeio.h (unicode_to_mb): New declaration.
80542
80543 2005-09-20  Derek Price  <derek@ximbiot.com>
80544
80545         * lib/getaddrinfo.c: Don't include <netdb.h> included from
80546         getaddrinfo.h.
80547
80548 2005-09-20  Bruno Haible  <bruno@clisp.org>
80549
80550         * gnulib-tool: Remove trailing slashes from the values specified for
80551         --source-base, --m4-base, --tests-base, --aux-dir.
80552         Suggested by Simon Josefsson <jas@extundo.com>.
80553
80554 2005-09-20  Bruno Haible  <bruno@clisp.org>
80555
80556         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
80557         func_modules_to_filelist, func_import, func_create_testdir): Make all
80558         sorting results locale-independent, so that gnulib-cache.m4 doesn't
80559         change when gnulib-tool is invoked in a different locale.
80560
80561 2005-09-19  Simon Josefsson  <jas@extundo.com>
80562
80563         * m4/socklen.m4: Fix typo.
80564
80565 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80566
80567         Use a consistent style for including <config.h>.
80568         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
80569         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
80570         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
80571         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
80572         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
80573         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
80574         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
80575         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
80576         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
80577         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
80578         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
80579         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
80580         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
80581         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
80582         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
80583         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
80584         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
80585         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
80586         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
80587         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
80588         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
80589         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
80590         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
80591         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
80592         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
80593         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
80594         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
80595         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
80596         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
80597         lib/xstrtoumax.c, lib/yesno.c:
80598         Standardize inclusion of config.h.
80599         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
80600         lib/inttostr.h:  Removed inclusion of config.h from header files.
80601         * lib/inttostr.c:  Adjusted in-tree users.
80602         * lib/timespec.h: Remove superfluous warning to include config.h.
80603         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
80604         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
80605         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
80606         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
80607         config.h with HAVE_CONFIG_H.
80608
80609 2005-09-19  Jim Meyering  <jim@meyering.net>
80610
80611         * modules/pathmax (License): Change to LGPL.
80612
80613 2005-09-19  Derek Price  <derek@ximbiot.com>
80614
80615         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
80616
80617 2005-09-19  Bruno Haible  <bruno@clisp.org>
80618
80619         * gnulib-tool (import): Provide default for --tests-base.
80620
80621 2005-09-19  Bruno Haible  <bruno@clisp.org>
80622
80623         * doc/quote.texi: New file, extracted from gnulib.texi.
80624         * doc/ctime.texi: New file, extracted from gnulib.texi.
80625         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
80626         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
80627         * doc/gnulib.texi: Include them.
80628
80629 2005-09-18  Bruno Haible  <bruno@clisp.org>
80630
80631         Portability fix.
80632         * gnulib-tool (func_readlink): New function.
80633         (func_ln_if_changed): Use it.
80634
80635 2005-09-18  Bruno Haible  <bruno@clisp.org>
80636
80637         * gnulib-tool: Support --with-tests also with --import.
80638         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
80639         (func_import): Use variables $testsbase and $inctests. Emit a
80640         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
80641         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
80642         SUBDIRS += $testsdir.
80643         (func_create_testdir): Update.
80644
80645 2005-09-18  Bruno Haible  <bruno@clisp.org>
80646
80647         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
80648         instead of $dry_run.
80649         (func_cp_if_changed, func_mv_if_changed): Remove functions.
80650         (func_ln_if_changed): Don't handle dry-run here.
80651         (func_import): In dry-run mode, detect more precisely which actions
80652         would be performed, and don't use "...ing" verbs.
80653
80654 2005-09-18  Bruno Haible  <bruno@clisp.org>
80655
80656         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
80657         (func_import): Use join on two temporary files instead of three nested
80658         loops, in order to determine which files are new or old.
80659
80660 2005-09-18  Bruno Haible  <bruno@clisp.org>
80661
80662         * gnulib-tool (func_import): Comment out code that spits out the
80663         new files with --dry-run.
80664
80665 2005-09-18  Bruno Haible  <bruno@clisp.org>
80666
80667         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
80668
80669 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80670
80671         * lib/stat-time.h: New file.
80672         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
80673         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
80674         in a different way.
80675         (timespec_cmp): New function.
80676         * lib/utimecmp.c: Include stat-time.h.
80677         (SYSCALL_RESOLUTION): Depend on whether various struct stat
80678         members exist, not on the obsolescent ST_MTIM_NSEC.
80679         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
80680
80681 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80682
80683         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
80684
80685 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80686
80687         * MODULES.html.sh (File system functions): Add stat-time.
80688         * modules/stat-time: New file.
80689         * modules/timespec (Files): Remove m4/st_mtim.m4; this
80690         is now done in a different way, by the stat-time module.
80691         * modules/utimecmp (Depends-on): Add stat-time.
80692
80693 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
80694
80695         * m4/st_mtim.m4: Remove.  Superseded by...
80696         * m4/stat-time.m4: New file.
80697         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
80698         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
80699
80700 2005-09-15  Derek Price  <derek@ximbiot.com>
80701
80702         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
80703
80704 2005-09-15  Derek Price  <derek@ximbiot.com>
80705
80706         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
80707         * lib/regex_internal.c: Ditto, using this...
80708         (__GNUC_PREREQ): ...new macro.
80709         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
80710         using...
80711         (__GNUC_PREREQ): ...this new macro.
80712
80713         * lib/strstr.h: Include string.h. Define strstr as a macro here.
80714
80715 2005-09-15  Derek Price  <derek@ximbiot.com>
80716             Paul Eggert  <eggert@cs.ucla.edu>
80717
80718         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
80719         changes, consolidating in...
80720         * lib/regex_internal.h: ...this file.
80721
80722 2005-09-13  Jim Meyering  <jim@meyering.net>
80723
80724         * lib/canon-host.c: Filter through gnu indent and reword comments
80725         slightly.
80726         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
80727
80728 2005-09-13  Derek Price  <derek@ximbiot.com>
80729
80730         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
80731         failure.
80732         Reported by Jim Meyering  <jim@meyering.net>.
80733
80734 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80735
80736         * lib/base64.c: Typo.
80737         (base64_encode): Put b64str in initialized data section.
80738
80739 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
80740
80741         Merge glibc and coreutils changes into gnulib, plus a few
80742         extra fixes.
80743         * lib/md5.c: Use #error rather than a string.
80744         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
80745         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
80746         (__attribute__): Define to empty for non recent-GCC.
80747         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
80748         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
80749         Renamed from their non-__ counterparts, with new macros replacing
80750         them if not _LIBC.  Add __THROW attribute.
80751         (rol): Remove.
80752         (struct md5_ctx): Align buffer if using GCC.
80753         * lib/sha1.h (struct sha1_ctx): Likewise.
80754         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
80755         The old name was backwards.
80756         (NOTSWAP): Remove; not used.
80757         (rol): New macro, moved here from md5.h.
80758         (sha1_process_block): Remove a FIXME that doesn't make sense.
80759
80760 2005-09-12  Derek Price  <derek@ximbiot.com>
80761
80762         Return usable errors from canon-host.
80763         * lib/canon-host.h: New file.
80764         * lib/canon-host.c (canon_host): Wrap...
80765         (canon_host_r): ...this new function, which now relies exclusively on
80766         getaddrinfo.
80767         (ch_strerror): New function.
80768         (last_cherror): New global.
80769         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
80770         interface.
80771         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
80772         void *.
80773         (freeaddrinfo): Free ai->ai_canonname when set.
80774
80775 2005-09-12  Derek Price  <derek@ximbiot.com>
80776
80777         Make canon-host require getaddrinfo.
80778         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
80779         AC_LIBSOURCE canon-host.h.  Call...
80780         (gl_PREREQ_CANON_HOST): ...this new function, which requires
80781         gl_GETADDRINFO.
80782         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
80783
80784 2005-09-12  Derek Price  <derek@ximbiot.com>
80785
80786         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
80787         LGPL.
80788         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
80789
80790 2005-09-12  Derek Price  <derek@ximbiot.com>
80791
80792         * lib/gai_strerror.c: Include config.h when available.  Include
80793         getaddrinfo.h before other headers to test interface.
80794         Reported by Larry Jones <lawrence.jones@ugs.com>.
80795
80796 2005-09-12  Derek Price  <derek@ximbiot.com>
80797             Paul Eggert  <eggert@cs.ucla.edu>
80798
80799         * modules/glob (Files): Add glob-libc.h.
80800
80801 2005-09-12  Derek Price  <derek@ximbiot.com>
80802             Paul Eggert  <eggert@cs.ucla.edu>
80803
80804         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
80805         glob_.h, glob-libc.h.
80806         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
80807
80808 2005-09-12  Derek Price  <derek@ximbiot.com>
80809             Paul Eggert  <eggert@cs.ucla.edu>
80810
80811         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
80812         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
80813         protecting things that should be done only in gnulib contexts.
80814         * lib/glob_.h: New file, containing only the glob things needed for
80815         gnulib.
80816         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
80817         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
80818         (glob, globfree, glob_pattern_p): Now defined simply in terms of
80819         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
80820         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
80821         and to respect the namespace rules better.
80822
80823 2005-09-08  Simon Josefsson  <jas@extundo.com>
80824
80825         * modules/socklen: New file.
80826
80827 2005-09-08  Simon Josefsson  <jas@extundo.com>
80828
80829         * m4/socklen.m4: New file.
80830
80831 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80832
80833         * modules/utimens (Files): Add m4/utimbuf.m4, since
80834         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
80835         Reported by Sergey Poznyakoff.
80836
80837 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80838
80839         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
80840         definitions, since that's the preferred style in glibc.
80841         Fix a minor spacing issue, and update copyright notice to match
80842         glibc's.
80843
80844 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80845
80846         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
80847
80848 2005-09-06  Simon Josefsson  <jas@extundo.com>
80849
80850         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
80851         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
80852
80853 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80854
80855         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
80856         warning.
80857
80858 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80859
80860         * config/srclist.txt: Add glibc bug 1302.
80861
80862 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
80863
80864         Change bitset word type from unsigned int to unsigned long int,
80865         as this has better performance on typical 64-bit hosts.
80866         Port bitset code to hosts with unusual word sizes.
80867         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
80868         (build_collating_symbol):
80869         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
80870         argument is a bitset.  This is merely a style issue, but it makes
80871         it clearer that an entire array is expected.
80872         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
80873         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
80874         Port to the case where bitset_word is not the same as unsigned int.
80875         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
80876         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
80877         Likewise.
80878         * lib/regexec.c (check_dst_limits_calc_pos_1,
80879         check_subexp_matching_top):
80880         (build_trtable, group_nodes_into_DFAstates):
80881         Likewise.
80882         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
80883         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
80884         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
80885         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
80886         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
80887         * lib/regcomp.c (optimize_subexps, lower_subexp):
80888         Work even if bitset_word has holes in its bitwise representation.
80889         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
80890         * lib/regexec.c (check_dst_limits_calc_pos_1,
80891         check_subexp_matching_top):
80892         Likewise.
80893         * lib/regex_internal.c (re_string_reconstruct):
80894         Don't assume UCHAR_MAX == 255.
80895         * lib/regex_internal.h (bitset_set_all): Likewise.
80896         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
80897         All uses changed.
80898         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
80899         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
80900         All uses changed.
80901         (BITSET_WORD_MAX): New macro.
80902         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
80903         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
80904         (bitset_empty, bitset_copy):
80905         Prefer sizeof (bitset) to multiplying it out ourselves.
80906         (bitset_not_merge): Remove; unused.
80907         (bitset_contain): Return bool, not unsigned int with one bit on.
80908         All callers changed.
80909         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
80910         alignment than re_node_set; do this by defining a new internal
80911         type struct dests_alloc and using it to allocate memory.
80912
80913 2005-09-05  Bruno Haible  <bruno@clisp.org>
80914
80915         * gnulib-tool (func_import): Fix comparison in handling of symbolic
80916         links.
80917
80918 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
80919
80920         * modules/size_max (Makefile.am): Add size_max.h
80921
80922 2005-09-04  Derek Price  <derek@ximbiot.com>
80923
80924         * gnulib-tool (func_import): Fix reversed $symbolic logic.
80925
80926 2005-09-03  Simon Josefsson  <jas@extundo.com>
80927
80928         * gnulib-tool: Fix typo.
80929
80930 2005-09-03  Simon Josefsson  <jas@extundo.com>
80931
80932         * config/srclist.txt: Add glibc bug 1293.
80933
80934 2005-09-03  Derek Price  <derek@ximbiot.com>
80935
80936         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
80937         From Larry Jones <lawrence.jones@ugs.com>.
80938
80939 2005-09-02  Simon Josefsson  <jas@extundo.com>
80940
80941         * modules/socklen: New file.
80942
80943 2005-09-02  Simon Josefsson  <jas@extundo.com>
80944
80945         * modules/havelib: New module.
80946
80947         * modules/gettext, modules/iconv, modules/lock, modules/readline:
80948         Use havelib.
80949
80950 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80951
80952         Check for arithmetic overflow when calculating sizes, to prevent
80953         some buffer-overflow issues.  These patches are conservative, in the
80954         sense that when I couldn't determine whether an overflow was possible,
80955         I inserted a run-time check.
80956         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
80957         macros.
80958         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
80959         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
80960         (re_xnrealloc, re_x2nrealloc): New inline functions.
80961         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
80962         parse_bracket_exp):
80963         (build_equiv_class, build_charclass): Check for arithmetic overflow
80964         in size expression calculations.
80965         * lib/regex_internal.c (re_string_realloc_buffers):
80966         (build_wcs_upper_buffer, re_node_set_add_intersect):
80967         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
80968         (re_dfa_add_node, register_state): Likewise.
80969         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
80970         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
80971         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
80972         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
80973
80974 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80975
80976         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
80977         m4/ulonglong.m4.  Problem reported by Martin Lambers.
80978
80979 2005-09-02  Bruno Haible  <bruno@clisp.org>
80980
80981         Support for lib vs. lib64 distinction on biarch platforms.
80982         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
80983         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
80984         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
80985
80986 2005-09-02  Bruno Haible  <bruno@clisp.org>
80987
80988         * gnulib-tool (import): In the other first-use case, provide defaults
80989         as well.
80990
80991 2005-09-02  Bruno Haible  <bruno@clisp.org>
80992
80993         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
80994         patches not yet found in the latest gettext release.
80995
80996 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
80997
80998         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
80999         to avoid a collision with bits/local_lim.h in glibc.
81000         All uses changed.  Problem reported by Dmitry V. Levin in
81001         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
81002
81003         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
81004         bugs in int versus size_t comparisons.
81005         (re_string_context_at): Fix bug where the code assumed that
81006         Idx is signed.
81007
81008         Use bool where appropriate.
81009         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
81010         All callers changed.
81011         (calc_eclosure_iter): Likewise, for ROOT arg.
81012         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
81013         (build_charclass_op): Likewise, for NON_MATCH arg.
81014         * lib/regex_internal.c (re_string_allocate, re_string_construct):
81015         (re_string_construct_common): Likewise, for ICASE arg.
81016         * lib/regexec.c (re_search_2_stub, re_search_stub):
81017         Likewise, for RET_LEN arg.
81018         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
81019         (set_regs): Likewise, for FL_BACKTRACK arg.
81020         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
81021         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
81022         (calc_eclosure_iter, parse_bracket_exp):
81023         Use bool for internal variables that are booleans.
81024         * lib/regexec.c (re_search_internal, check_matching,
81025         proceed_next_node):
81026         (set_regs, build_sifted_states, sift_states_bkref):
81027         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
81028         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81029         (find_collation_sequence_value):
81030         Likewise.
81031         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
81032         (re_node_set_compare):
81033         Return bool, not int. All callers changed.
81034         * lib/regexec.c (check_halt_node_context, check_dst_limits):
81035         (build_trtable, check_node_accept): Likewise.
81036         * lib/regex_internal.h: Include stdbool.h.
81037
81038         Fix bugs uncovered when converting to bool.
81039         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
81040         failure instead of charging ahead blindly.
81041         * lib/regex_internal.c (register_state): Likewise.
81042         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
81043         for freeing internal storage.
81044         (group_nodes_into_DFA_states): Use unsigned int, not int, for
81045         bitset pieces used as boolean, to avoid undefined behavior
81046         on hosts that do int overflow checking.
81047
81048 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
81049
81050         * config/srclist.txt: Add glibc bugs 1285-1287.
81051
81052 2005-09-01  Jim Meyering  <jim@meyering.net>
81053
81054         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
81055         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
81056         Require gl_STAT_MACROS, too.
81057
81058 2005-09-01  Bruno Haible  <bruno@clisp.org>
81059
81060         * gnulib-tool (import): In the first-use case, provide defaults.
81061
81062 2005-09-01  Bruno Haible  <bruno@clisp.org>
81063
81064         * gnulib-tool (func_import): Remove the .tmp files.
81065
81066 2005-09-01  Bruno Haible  <bruno@clisp.org>
81067
81068         * gnulib-tool (func_import): Fix handling of symbolic links.
81069
81070 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81071
81072         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
81073         old glibc regex code mishandles strings longer than 2**31 bytes.
81074         This patch fixes this when the regex code is used in gnulib
81075         (i.e., outside glibc).
81076
81077         This patch should not affect the use of the regex code inside
81078         glibc.  No doubt this problem also needs to be handled for glibc
81079         as well, but the result will be an incompatible change to the
81080         glibc ABI, and the old ABI will have to be supported too.  That
81081         can be the the subject for another patch.
81082
81083         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
81084         governing whether the rest of this patch is active.  By default,
81085         the macro is disabled and the patch has no effect.
81086         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
81087         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
81088         (struct re_pattern_buffer, re_search, re_search_2, re_match):
81089         (re_match_2, re_set_registers): Use the new types.
81090         * lib/regex_internal.h (Idx, re_hashval_t): New types.
81091         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
81092         New macros.
81093         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
81094         (re_string_context_at, bin_tree_t, re_dfastate_t):
81095         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
81096         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
81097         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
81098         (re_string_char_size_at, re_string_wchar_at):
81099         (re_string_elem_size_at):
81100         Use the new types and macros to port to 64-bit hosts.
81101         Use unsigned types for internal values, so that the code
81102         mostly works even for arrays larger than SSIZE_MAX.
81103         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
81104         (search_duplicated_node, calc_eclosure_iter, fetch_number):
81105         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
81106         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
81107         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
81108         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
81109         (calc_inveclosure, parse_dup_op, build_range_exp):
81110         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
81111         (fetch_number, create_token_tree, mark_opt_subexp):
81112         Likewise.
81113         * lib/regex_internal.c (re_string_construct_common,
81114         create_ci_newstate):
81115         (create_cd_newstate, re_string_allocate, re_string_construct):
81116         (re_string_realloc_buffers, build_wcs_upper_buffer):
81117         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81118         (re_string_reconstruct, re_string_peek_byte_case):
81119         (re_string_fetch_byte_case, re_string_context_at):
81120         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81121         (re_node_set_init_copy, re_node_set_add_intersect):
81122         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81123         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81124         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81125         (re_acquire_state, re_acquire_state_context, register_state):
81126         Likewise.
81127         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
81128         search_cur_bkref_entry):
81129         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
81130         (re_search_internal, re_search_2_stub, re_search_stub)
81131         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
81132         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
81133         (update_cur_sifted_state, check_dst_limits):
81134         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81135         (check_subexp_limits, sift_states_bkref, merge_state_array):
81136         (check_subexp_matching_top, get_subexp, get_subexp_sub):
81137         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
81138         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81139         (expand_bkref_cache, check_node_accept_bytes):
81140         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
81141         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
81142         (acquire_init_state_context, check_halt_node_context):
81143         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
81144         (sift_states_backward, clean_state_log_if_needed):
81145         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
81146         (find_recover_state, transit_state_sb, transit_state_mb):
81147         (transit_state_bkref, build_trtable, match_ctx_clean):
81148         Likewise.
81149         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
81150         to work around an assumption that REG_MISSING is negative.
81151
81152         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
81153         (seek_collating_symbol_entry) [defined _LIBC]:
81154         (lookup_collation_sequence_value) [defined _LIBC]:
81155         (build_range_exp, build_collating_symbol) [defined _LIBC]:
81156         Use prototypes rather than old-style function definitions.
81157         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
81158         (transit_state_sb) [0]:
81159         (find_collation_sequence_value) [defined _LIBC]: Likewise.
81160
81161         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
81162         rm_eo.
81163
81164         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
81165         (optimize_subexps, lower_subexp):
81166         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
81167         since the signed shift might overflow.  Use 1u<<31 instead.
81168         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81169         Likewise.
81170         * lib/regexec.c (check_dst_limits_calc_pos_1,
81171         check_subexp_matching_top): Likewise.
81172
81173         * lib/regcomp.c (optimize_subexps, lower_subexp):
81174         Use CHAR_BIT rather than 8, for clarity.
81175         * lib/regexec.c (check_dst_limits_calc_pos_1):
81176         (check_subexp_matching_top): Likewise.
81177         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
81178         have to worry about portability issues when shifting it left.
81179         Remove no-longer-needed test for table_size > 0.
81180         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
81181         in a word, as the resulting behavior is undefined.
81182         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
81183         in one case, a <= should have been an <, and in another case the
81184         whole test was missing.
81185         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
81186         the standard name CHAR_BIT.
81187         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
81188         this is not true on one's complement and signed-magnitude hosts.
81189
81190         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
81191         next_last_offset.
81192         (struct re_dfa_t): Remove unused member states_alloc.
81193         * lib/regcomp.c (init_dfa): Don't initialize unused members.
81194
81195 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81196
81197         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
81198         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
81199         and large-file glibc and in 32-bit large-file Solaris.
81200
81201 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81202
81203         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
81204         lengths fit in regoff_t; this isn't true if regoff_t is the same
81205         width as size_t.
81206         * lib/regex.c (re_search_internal): 5th arg is LAST_START
81207         (= START + RANGE) instead of RANGE.  This avoids overflow
81208         problems when regoff_t is the same width as size_t.
81209         All callers changed.
81210         (re_search_2_stub): Check for overflow when adding the
81211         sizes of the two strings.
81212         (re_search_stub): Check for overflow when adding START
81213         to RANGE; if it occurs, substitute the extreme value.
81214
81215 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81216
81217         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
81218
81219 2005-08-31  Jim Meyering  <jim@meyering.net>
81220
81221         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
81222         a pointer-to-const.
81223         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
81224         (register_state): Likewise.
81225         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
81226         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81227         (group_nodes_into_DFAstates): Likewise.
81228
81229 2005-08-31  Jim Meyering  <jim@meyering.net>
81230
81231         * check-module: Add a FIXME comment.
81232
81233 2005-08-31  Eric Blake  <ebb9@byu.net>
81234
81235         * modules/unistd-safer (Files): Add unistd--.h.
81236         * modules/stdio-safer (Files): Add stdio--.h.
81237
81238 2005-08-31  Derek Price  <derek@ximbiot.com>
81239
81240         * lib/getdelim.c (getdelim): Return EOF on EOF.
81241         Reported by Larry Jones <lawrence.jones@ugs.com>.
81242
81243 2005-08-31  Bruno Haible  <bruno@clisp.org>
81244
81245         Avoid unnecessary diffs in the generated lib/Makefile.am.
81246         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
81247         the generated files.
81248         (func_import): Don't set cmd.
81249
81250 2005-08-31  Bruno Haible  <bruno@clisp.org>
81251
81252         * lib/strstr.c: Include <stddef.h>, for NULL.
81253         * lib/strcasestr.c: Likewise.
81254         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81255
81256 2005-08-31  Bruno Haible  <bruno@clisp.org>
81257
81258         * gnulib-tool: New option --macro-prefix.
81259         (func_import): Use macro_prefix.
81260         (import): Handle option --macro-prefix.
81261
81262 2005-08-31  Bruno Haible  <bruno@clisp.org>
81263
81264         * gnulib-tool (import): Rename most ac_* variables to cached_*.
81265         Also use new variables cached_lgpl, cached_libtool.
81266
81267 2005-08-31  Bruno Haible  <bruno@clisp.org>
81268
81269         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
81270         always instantiating them.
81271
81272 2005-08-31  Bruno Haible  <bruno@clisp.org>
81273
81274         * gnulib-tool (func_import): Read the previous cached settings
81275         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
81276         earlier added by gnulib but are now dropped. Warn when a gnulib file
81277         overwrites a non-gnulib file.
81278
81279 2005-08-31  Bruno Haible  <bruno@clisp.org>
81280
81281         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
81282         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
81283         projects that don't keep autogenerated files in CVS. Put into
81284         actioncmd only the specified modules, not the transitive closure.
81285
81286 2005-08-31  Bruno Haible  <bruno@clisp.org>
81287
81288         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
81289         Create directories that shall be filled.
81290         (import): Don't look for gl_* macros in configure.ac. Recurse across
81291         all directories containing a gnulib-cache.m4 files, if meaningful.
81292
81293 2005-08-31  Bruno Haible  <bruno@clisp.org>
81294
81295         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
81296         (import): Set seen_libtool when we see gl_LIBTOOL.
81297
81298 2005-08-31  Bruno Haible  <bruno@clisp.org>
81299
81300         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
81301         declaration macro definitions from generated gnulib.m4.
81302
81303 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
81304
81305         * lib/iconvme.h: Add prototype for iconv_alloc.
81306
81307 2005-08-29  Simon Josefsson  <jas@extundo.com>
81308
81309         * lib/iconvme.c: Fix errno.
81310
81311 2005-08-29  Bruno Haible  <bruno@clisp.org>
81312
81313         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
81314         that it works when the directory contains spaces.
81315
81316 2005-08-29  Bruno Haible  <bruno@clisp.org>
81317
81318         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
81319
81320 2005-08-29  Bruno Haible  <bruno@clisp.org>
81321
81322         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
81323         Emit more advice.
81324
81325 2005-08-29  Bruno Haible  <bruno@clisp.org>
81326         and Stepan Kasal  <kasal@ucw.cz>
81327
81328         * check-module: If more parameters are given, check each of them
81329         separately; add more exceptions, as noted by Jim Meyering.
81330         (check_module): New procedure.
81331         (%exempt_header): Now contains all exceptions.
81332
81333 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
81334
81335         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
81336
81337 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81338
81339         * lib/iconvme.c: Split iconv_string into iconv_alloc.
81340
81341 2005-08-28  Bruno Haible  <bruno@clisp.org>
81342
81343         * m4/gnulib-tool.m4: New file.
81344
81345 2005-08-27  Jim Meyering  <jim@meyering.net>
81346
81347         * modules/unistd-safer (Files): Add pipe-safer.c.
81348         * modules/fcntl-safer (Files): Add creat-safer.c.
81349
81350 2005-08-27  Jim Meyering  <jim@meyering.net>
81351
81352         * m4/stdlib-safer.m4: New file.  From coreutils.
81353         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
81354         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
81355         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
81356         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
81357         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
81358
81359 2005-08-27  Jim Meyering  <jim@meyering.net>
81360
81361         * lib/fopen-safer.c: Merge minor changes from coreutils.
81362         * lib/dup-safer.c: Likewise.
81363         * lib/fd-safer.c: Likewise.
81364
81365         Merge from coreutils.
81366         * lib/stdio--.h: New file.
81367         * lib/stdlib--.h: New file.
81368         * lib/mkstemp-safer.c: New file.
81369
81370         GNU tar needs these.
81371         * lib/pipe-safer.c: New file.
81372         * lib/creat-safer.c: New file.
81373         * lib/fcntl--.h (creat): Define to creat_safer.
81374         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
81375         * lib/unistd--.h (pipe): Define to pipe_safer.
81376         * lib/unistd-safer.h: Declare pipe_safer.
81377
81378 2005-08-26  Simon Josefsson  <jas@extundo.com>
81379
81380         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
81381         Haible <bruno@clisp.org>.
81382
81383 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
81384
81385         * lib/regex_internal.h: Remove all references to
81386         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
81387         or better.
81388         (bitset_not, bitset_merge, bitset_not_merge):
81389         (bitset_mask, re_string_allocate, re_string_construct):
81390         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
81391         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
81392         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
81393         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
81394         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81395         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81396         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
81397         (re_acquire_state_context):
81398         Remove unnecessary forward decls.
81399         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
81400         Put __attribute at function definition,
81401         now that the function decl has been removed.
81402         * lib/regex_internal.c (re_string_peek_byte_case):
81403         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
81404         Likewise.
81405
81406 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
81407
81408         * m4/regex.m4: Add AC_PREREQ(2.50).
81409         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
81410
81411 2005-08-25  Simon Josefsson  <jas@extundo.com>
81412
81413         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
81414         __fsetlocking.
81415
81416 2005-08-25  Simon Josefsson  <jas@extundo.com>
81417
81418         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
81419         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
81420         GLIBC specific code.
81421
81422 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81423
81424         Make regex safe for g++.  This fixes one real bug (an "err"
81425         that should have been "*err").  g++ problem reported by
81426         Sam Steingold.
81427         * lib/regex_internal.h (re_calloc): New macro, consistent with
81428         re_malloc etc.  All callers of calloc changed to use re_calloc.
81429         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
81430         not int.  All callers changed.
81431         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
81432         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
81433         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
81434         (find_recover_state): Change "err" to "*err"; this fixes what
81435         appears to be a real bug.
81436         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
81437         versus int.
81438
81439 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81440
81441         * modules/regex (Depends-on): Add malloc, since the code
81442         assumes that !malloc(0) means failure.
81443
81444 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81445
81446         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
81447
81448         alloca modernization/simplification for regex.
81449         * lib/regex.c: Remove portability cruft for alloca.  This no longer
81450         needs to be at the start of the file, and can be moved into
81451         regex_internal.h and simplified.
81452         * lib/regex_internal.h: Include <alloca.h>.
81453         (__libc_use_alloca) [!defined _LIBC]: New macro.
81454         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
81455         now works outside glibc.
81456
81457 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81458
81459         * config/srclist.txt: Add glibc bugs 1241, 1245.
81460
81461 2005-08-25  Jim Meyering  <jim@meyering.net>
81462
81463         * lib/open-safer.c: Include <config.h>.
81464         Otherwise, we'd lose LARGEFILE support in any file using
81465         e.g. "fcntl--.h"
81466
81467 2005-08-25  Bruno Haible  <bruno@clisp.org>
81468
81469         * m4/minmax.m4: Require autoconf 2.52.
81470         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
81471         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
81472         alternatives of translit over the alphabet.
81473         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
81474
81475 2005-08-24  Simon Josefsson  <jas@extundo.com>
81476
81477         * tests/test-getpass.c: New file.
81478
81479 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81480
81481         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
81482         for GNU regex features.
81483
81484 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81485
81486         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
81487         * lib/regex.h (regerror): Likewise.
81488
81489         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
81490         requires this.  (The code never needed it.)
81491
81492         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
81493         All uses of recently-renamed identifiers changed to use the new,
81494         POSIX-compliant names.  The code will build and run just fine
81495         without these changes, but it's better to eat our own dog food
81496         and use the standard-conforming names.
81497
81498         * lib/regex.h: Fix a multitude of POSIX name space violations.
81499         These changes have an effect only for programs that define
81500         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
81501         do not change anything for programs compiled in the normal way.
81502         Also, there is no effect on the ABI.
81503
81504         (_REGEX_SOURCE): New macro.
81505         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
81506         defined and _GNU_SOURCE is not; this fixes a name space violation.
81507
81508         Rename the following macros to obey POSIX requirements.
81509         The old names are still visible as macros if _REGEX_SOURCE is defined.
81510         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
81511         RE_BACKSLASH_ESCAPE_IN_LISTS.
81512         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
81513         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
81514         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
81515         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
81516         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
81517         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
81518         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
81519         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
81520         (REG_INTERVALS): renamed from RE_INTERVALS.
81521         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
81522         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
81523         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
81524         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
81525         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
81526         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
81527         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
81528         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
81529         RE_UNMATCHED_RIGHT_PAREN_ORD.
81530         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
81531         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
81532         (REG_DEBUG): renamed from RE_DEBUG.
81533         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
81534         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
81535         unusual, since we can't clash with the POSIX REG_ICASE.
81536         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
81537         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
81538         (REG_NO_SUB): renamed from RE_NO_SUB.
81539         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
81540         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
81541         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
81542         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
81543         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
81544         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
81545         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
81546         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
81547         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
81548         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
81549         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
81550         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
81551         RE_SYNTAX_POSIX_MINIMAL_BASIC.
81552         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
81553         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
81554         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
81555         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
81556         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
81557         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
81558         (REG_FIXED): Renamed from REGS_FIXED.
81559         (REG_NREGS): Renamed from RE_NREGS.
81560
81561         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
81562         of other REG_* macros, since POSIX says the user is allowed to
81563         #undef these macros selectively.
81564
81565         (reg_errcode_t): Update comment stating what other tables need
81566         to be consistent.
81567
81568         Rename the following enum values to obey POSIX requirements.
81569         The old names are still visible as macros.
81570         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
81571         is not defined, since GNU is supposed to be a superset of POSIX as
81572         much as possible, and since we want reg_errcode_t to be a signed
81573         type for implementation consistency.
81574         (_REG_NOERROR): Renamed from REG_NOERROR.
81575         (_REG_NOMATCH): Renamed from REG_NOMATCH.
81576         (_REG_BADPAT): Renamed from REG_BADPAT.
81577         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
81578         (_REG_ECTYPE): Renamed from REG_ECTYPE.
81579         (_REG_EESCAPE): Renamed from REG_EESCAPE.
81580         (_REG_ESUBREG): Renamed from REG_ESUBREG.
81581         (_REG_EBRACK): Renamed from REG_EBRACK.
81582         (_REG_EPAREN): Renamed from REG_EPAREN.
81583         (_REG_EBRACE): Renamed from REG_EBRACE.
81584         (_REG_BADBR): Renamed from REG_BADBR.
81585         (_REG_ERANGE): Renamed from REG_ERANGE.
81586         (_REG_ESPACE): Renamed from REG_ESPACE.
81587         (_REG_BADRPT): Renamed from REG_BADRPT.
81588         (_REG_EEND): Renamed from REG_EEND.
81589         (_REG_ESIZE): Renamed from REG_ESIZE.
81590         (_REG_ERPAREN): Renamed from REG_ERPAREN.
81591         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
81592         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
81593         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
81594         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
81595
81596         (_REG_RE_NAME, _REG_RM_NAME): New macros.
81597         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
81598         changed.  But support the old name if the new one is not defined
81599         and if _REGEX_SOURCE.
81600
81601         Change the following member names in struct re_pattern_buffer.
81602         The old names are still supported if !_REGEX_SOURCE.
81603         The new names are always supported, regardless of _REGEX_SOURCE.
81604         (re_buffer): Renamed from buffer.
81605         (re_allocated): Renamed from allocated.
81606         (re_used): Renamed from used.
81607         (re_syntax): Renamed from syntax.
81608         (re_fastmap): Renamed from fastmap.
81609         (re_translate): Renamed from translate.
81610         (re_can_be_null): Renamed from can_be_null.
81611         (re_regs_allocated): Renamed from regs_allocated.
81612         (re_fastmap_accurate): Renamed from fastmap_accurate.
81613         (re_no_sub): Renamed from no_sub.
81614         (re_not_bol): Renamed from not_bol.
81615         (re_not_eol): Renamed from not_eol.
81616         (re_newline_anchor): Renamed from newline_anchor.
81617
81618         Change the following member names in struct re_registers.
81619         The old names are still supported if !_REGEX_SOURCE.
81620         The new names are always supported, regardless of _REGEX_SOURCE.
81621         (rm_num_regs): Renamed from num_regs.
81622         (rm_start): Renamed from start.
81623         (rm_end): Renamed from end.
81624
81625         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
81626         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
81627         Prepend __ to parameter names.
81628
81629         Undo yesterday's changes.
81630
81631 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81632
81633         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
81634         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
81635         lib/regex.c.
81636
81637 2005-08-24  Jim Meyering  <jim@meyering.net>
81638
81639         Sync from coreutils.
81640         * m4/fcntl-safer.m4: New file.
81641
81642         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
81643         and object files for this module.
81644
81645 2005-08-24  Jim Meyering  <jim@meyering.net>
81646
81647         Sync from coreutils.
81648         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
81649
81650 2005-08-24  Jim Meyering  <jim@meyering.net>
81651
81652         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
81653         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
81654
81655 2005-08-24  Jim Meyering  <jim@meyering.net>
81656
81657         * modules/fcntl-safer: New module.
81658         * modules/fts (Depends-on): Add fcntl-safer.
81659         * MODULES.html.sh (File descriptor based Input/Output):
81660         Add fcntl-safer.
81661
81662 2005-08-24  Bruno Haible  <bruno@clisp.org>
81663
81664         Support for unit test modules.
81665         * modules/README: Mention tests modules.
81666         * modules/TEMPLATE-TESTS: New file.
81667         * gnulib-tool: New options --extract-tests-module, --with-tests and
81668         --tests-base (unused for the moment).
81669         (testsbase, inctests): New variables.
81670         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
81671         (func_verify_module): Exclude TEMPLATE-TESTS.
81672         (func_verify_nontests_module, func_verify_tests_module): New functions.
81673         (func_get_dependencies): Add implicit dependency for tests modules.
81674         (func_get_tests_module): New function.
81675         (func_modules_transitive_closure): When --with-tests was specified,
81676         include the unit tests as well, unless explicitly avoided.
81677         (func_emit_lib_Makefile_am): Ignore the tests modules here.
81678         (func_emit_tests_Makefile_am): New function.
81679         (func_create_testdir): When --with-tests was specified, emit a
81680         tests/ directory.
81681         * MODULES.html.sh (Future developments): Update.
81682
81683 2005-08-24  Bruno Haible  <bruno@clisp.org>
81684
81685         * modules/tls-tests: New file.
81686         * tests/test-tls.c: New file, from GNU gettext.
81687
81688 2005-08-24  Bruno Haible  <bruno@clisp.org>
81689
81690         * modules/lock-tests: New file.
81691         * tests/test-lock.c: New file, from GNU gettext.
81692
81693 2005-08-24  Bruno Haible  <bruno@clisp.org>
81694
81695         * lib/lock.h: Add multiple inclusion guard.
81696         * lib/tls.h: Add multiple inclusion guard.
81697
81698 2005-08-24  Bruno Haible  <bruno@clisp.org>
81699
81700         * gnulib-tool: Add support for the --aux-dir option to
81701         --create-testdir, --create-megatestdir, --test, --megatest.
81702         (func_create_testdir, func_create_megatestdir): Optionally emit a
81703         AC_CONFIG_AUX_DIR directive.
81704         (create-testdir, create-megatestdir, test, megatest): Provide a
81705         default value for $auxdir.
81706
81707 2005-08-24  Bruno Haible  <bruno@clisp.org>
81708
81709         * gnulib-tool (import): Use compound statement instead of subshell
81710         where possible.
81711
81712 2005-08-24  Bruno Haible  <bruno@clisp.org>
81713
81714         * gnulib-tool (import): Change --aux-dir default to "build-aux".
81715
81716 2005-08-24  Bruno Haible  <bruno@clisp.org>
81717
81718         * gnulib-tool (func_version): Update.
81719
81720 2005-08-24  Bruno Haible  <bruno@clisp.org>
81721
81722         * gnulib-tool (func_import, func_create_testdir,
81723         func_create_megatestdir): Quote all autoconf macro arguments.
81724
81725 2005-08-24  Bruno Haible  <bruno@clisp.org>
81726
81727         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
81728         option --force, because --force causes the aclocal.m4 of each
81729         subdirectory to be newer than the corresponding config.h.in.
81730
81731 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81732
81733         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
81734         All contents moved to gl_REGEX.
81735         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
81736         assume that it does.
81737
81738 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81739
81740         * lib/regex.h (REG_NOSYS)
81741         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
81742         Define, since POSIX requires it as of 2001.
81743         (_REG_ENOSYS)
81744         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
81745         New private symbol, used to keep the enum signed in all cases.
81746         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
81747         Youngman in
81748         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
81749
81750         * lib/regex_internal.c (re_string_skip_chars, register_state):
81751         (calc_state_hash):
81752         Remove forward decls; no longer needed now that we use prototypes.
81753         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
81754         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
81755         (clean_state_log_if_needed): Likewise.
81756
81757 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81758
81759         * config/srclist.txt: Add glibc bugs 1231-1233.
81760
81761 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81762
81763         Fix problems reported by Sam Steingold in
81764         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
81765         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
81766         assumed that reg_errcode_t is a signed type, which is not
81767         necessarily true if _XOPEN_SOURCE is not defined.
81768         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
81769         since some compilers warn about it otherwise.
81770
81771 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81772
81773         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
81774         (init_word_char, create_initial_state, duplicate_node_closure):
81775         (fetch_token, peek_token_bracket, build_range_exp):
81776         (build_collating_symbol): Remove forward decls; no longer needed
81777         now that we use prototypes.
81778
81779         * lib/regcomp.c:
81780         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
81781         (re_compile_fastmap_iter, regcomp, regerror, regfree):
81782         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
81783         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
81784         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
81785         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
81786         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
81787         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
81788         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
81789         (build_range_exp, build_collating_symbol, parse_bracket_exp):
81790         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
81791         (build_charclass, build_charclass_op, fetch_number, create_tree):
81792         (create_token_tree, mark_opt_subexp, duplicate_tree):
81793         Use prototypes rather than old-style definitions.
81794
81795         * lib/regex_internal.c:
81796         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
81797         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
81798         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81799         (re_string_reconstruct, re_string_peek_byte_case):
81800         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
81801         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81802         (re_node_set_init_copy, re_node_set_add_intersect):
81803         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81804         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81805         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81806         (re_acquire_state, re_acquire_state_context, register_state):
81807         (create_ci_newstate, create_cd_newstate, free_state):
81808         Likewise.
81809         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
81810         re_search_2):
81811         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
81812         (re_search_internal, prune_impossible_nodes):
81813         (acquire_init_state_context, check_matching, static):
81814         (check_halt_node_context, check_halt_state_context, proceed_next_node):
81815         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
81816         (update_regs, sift_states_backward, build_sifted_states):
81817         (clean_state_log_if_needed, merge_state_array):
81818         (update_cur_sifted_state, add_epsilon_src_nodes):
81819         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
81820         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
81821         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
81822         (find_recover_state, check_subexp_matching_top, transit_state_mb):
81823         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
81824         (check_arrival, check_arrival_add_next_nodes):
81825         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81826         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81827         (check_node_accept_bytes, check_node_accept, extend_buffers):
81828         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
81829         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
81830         (sift_ctx_init):
81831         Likewise.
81832
81833         * lib/regex_internal.h:
81834         (re_string_allocate, re_string_construct, re_string_reconstruct):
81835         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
81836         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
81837         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
81838         (re_string_context_at, re_string_peek_byte_case):
81839         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
81840         is defined, since we now use prototypes always.
81841
81842         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
81843         C89 or better.  All uses removed.
81844
81845 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81846
81847         * config/srclist.txt: Add glibc bugs 1220-1227.
81848
81849 2005-08-20  Jim Meyering  <jim@meyering.net>
81850
81851         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
81852         of unused local, dfa.
81853
81854 2005-08-20  Bruno Haible  <bruno@clisp.org>
81855
81856         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
81857
81858 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81859
81860         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
81861         (re_node_set_insert_last, re_dfa_add_node):
81862         Rename local variables to avoid GCC shadowing warnings.
81863
81864 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81865
81866         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
81867         [defined lint]: Suppress bogus uninitialized-variable warnings.
81868
81869         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
81870         and let the caller return REG_ESPACE if out of space.  This
81871         removes an uninitialied-variable warning with GCC 4.0.1, and also
81872         avoids taking the address of a local variable.  All callers
81873         changed.
81874
81875 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81876
81877         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
81878         $LIBCSRC/posix/regexec.c.
81879         Add glibc bug 1217 for regcomp.c.
81880
81881 2005-08-19  Jim Meyering  <jim@meyering.net>
81882
81883         * lib/regexec.c (proceed_next_node): Redo local variables to
81884         avoid GCC shadowing warnings.
81885
81886 2005-08-18  Bruno Haible  <bruno@clisp.org>
81887
81888         * lib/strstr.c (strstr): Fix return value in multibyte case.
81889         * lib/strcasestr.c (strcasestr): Likewise.
81890
81891 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
81892
81893         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
81894
81895 2005-08-17  Jim Meyering  <jim@meyering.net>
81896
81897         Make the %s format (seconds since the epoch) work for a negative
81898         number and when used with a zero-padded field width, e.g. %015s.
81899
81900         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
81901         label so that it precedes the code to set `digits'.  Otherwise,
81902         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
81903         print `00-22'.  Now, it prints `-0022', as it should.
81904
81905 2005-08-17  Bruno Haible  <bruno@clisp.org>
81906
81907         * modules/strstr (Files): Add m4/mbrtowc.m4.
81908         (Depends-on): Add mbuiter.
81909
81910 2005-08-17  Bruno Haible  <bruno@clisp.org>
81911
81912         * modules/strcasestr: New file.
81913         * MODULES.html.sh (String handling, based on ANSI C 89): Add
81914         strcasestr.
81915
81916 2005-08-17  Bruno Haible  <bruno@clisp.org>
81917
81918         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
81919
81920 2005-08-17  Bruno Haible  <bruno@clisp.org>
81921
81922         * modules/mbuiter: New file.
81923         * MODULES.html.sh (Extended multibyte and wide character utilities):
81924         Add mbuiter.
81925
81926 2005-08-17  Bruno Haible  <bruno@clisp.org>
81927
81928         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
81929         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
81930
81931 2005-08-17  Bruno Haible  <bruno@clisp.org>
81932
81933         * m4/strcasestr.m4: New file.
81934
81935 2005-08-17  Bruno Haible  <bruno@clisp.org>
81936
81937         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
81938         * lib/strstr.c: Completely rewritten, with multibyte locale support.
81939
81940 2005-08-17  Bruno Haible  <bruno@clisp.org>
81941
81942         * lib/strcasestr.h: New file.
81943         * lib/strcasestr.c: New file.
81944
81945 2005-08-17  Bruno Haible  <bruno@clisp.org>
81946
81947         * lib/strcasecmp.c: Use mbuiter.h.
81948
81949 2005-08-17  Bruno Haible  <bruno@clisp.org>
81950
81951         * lib/mbuiter.h: New file.
81952
81953 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
81954
81955         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
81956         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
81957         and gl_GETOPT are both invoked via different paths (as happens
81958         with GNU tar CVS because it uses both argp and getopt), the former
81959         wins.
81960
81961 2005-08-16  Bruno Haible  <bruno@clisp.org>
81962
81963         * modules/tls: New file.
81964         * MODULES.html.sh (Multithreading): Add tls.
81965
81966 2005-08-16  Bruno Haible  <bruno@clisp.org>
81967
81968         * modules/strnlen1: New file.
81969         * MODULES.html.sh (String handling): Add strnlen1.
81970
81971 2005-08-16  Bruno Haible  <bruno@clisp.org>
81972
81973         * modules/strcase (Files): Add m4/mbrtowc.m4.
81974         (Depends-on): Add strnlen1, mbchar.
81975
81976 2005-08-16  Bruno Haible  <bruno@clisp.org>
81977
81978         * modules/mbiter: New file.
81979         * MODULES.html.sh (Extended multibyte and wide character utilities):
81980         Add mbiter.
81981
81982 2005-08-16  Bruno Haible  <bruno@clisp.org>
81983
81984         * modules/mbfile: New file.
81985         * MODULES.html.sh (Extended multibyte and wide character utilities):
81986         Add mbfile.
81987
81988 2005-08-16  Bruno Haible  <bruno@clisp.org>
81989
81990         * modules/mbchar: New file.
81991         * MODULES.html.sh (Extended multibyte and wide character utilities):
81992         New section.
81993
81994 2005-08-16  Bruno Haible  <bruno@clisp.org>
81995
81996         * m4/tls.m4: New file, from GNU gettext.
81997
81998 2005-08-16  Bruno Haible  <bruno@clisp.org>
81999
82000         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
82001         always.
82002         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
82003
82004 2005-08-16  Bruno Haible  <bruno@clisp.org>
82005
82006         * m4/mbiter.m4: New file.
82007
82008 2005-08-16  Bruno Haible  <bruno@clisp.org>
82009
82010         * m4/mbfile.m4: New file.
82011
82012 2005-08-16  Bruno Haible  <bruno@clisp.org>
82013
82014         * m4/mbchar.m4: New file.
82015
82016 2005-08-16  Bruno Haible  <bruno@clisp.org>
82017
82018         * lib/tls.h: New file, from GNU gettext.
82019         * lib/tls.c: New file, from GNU gettext.
82020
82021 2005-08-16  Bruno Haible  <bruno@clisp.org>
82022
82023         * lib/strnlen1.h: New file.
82024         * lib/strnlen1.c: New file.
82025
82026 2005-08-16  Bruno Haible  <bruno@clisp.org>
82027
82028         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
82029         (mbi_init): Update.
82030         (mbi_avail, mbi_advance): Let the iteration end before the terminating
82031         NUL byte, not after it.
82032
82033 2005-08-16  Bruno Haible  <bruno@clisp.org>
82034
82035         * lib/strcase.h (strcasecmp): Add note in comments.
82036         * lib/strncasecmp.c: Use code from strcasecmp.c.
82037         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
82038         (strcasecmp): Work correctly in multibyte locales.
82039
82040 2005-08-16  Bruno Haible  <bruno@clisp.org>
82041
82042         * lib/mbiter.h: New file.
82043
82044 2005-08-16  Bruno Haible  <bruno@clisp.org>
82045
82046         * lib/mbfile.h: New file.
82047
82048 2005-08-16  Bruno Haible  <bruno@clisp.org>
82049
82050         * lib/mbchar.h: New file.
82051         * lib/mbchar.c: New file.
82052
82053 2005-08-16  Bruno Haible  <bruno@clisp.org>
82054
82055         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
82056         the valid ones. Makes the comparison operations transitive:
82057         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
82058         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
82059
82060 2005-08-15  Simon Josefsson  <jas@extundo.com>
82061
82062         * modules/ssize_t (License): Change to 'unlimited'.
82063
82064         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
82065
82066 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
82067
82068         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
82069         Add comments for each pending glibc patch.
82070
82071 2005-08-15  Bruno Haible  <bruno@clisp.org>
82072
82073         * lib/regex.h (__restrict_arr): Don't define to __restrict if
82074         __cplusplus is defined.
82075
82076 2005-08-14  Jim Meyering  <jim@meyering.net>
82077
82078         Sync from coreutils.
82079
82080         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
82081         Use the hash-table-based cycle-detection code not just when
82082         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
82083         Reported by James Youngman in
82084         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
82085         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
82086         FTS_TIGHT_CYCLE_CHECK.
82087         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
82088         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
82089         once again.
82090         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
82091         * lib/fts.c (fd_safer): Remove decl.
82092         Include fcntl--.h rather than unistd-safer.h
82093         (fts_safe_changedir): Don't call fd_safer; no longer needed
82094         now that we include fcntl--.h.
82095
82096 2005-08-12  Simon Josefsson  <jas@extundo.com>
82097
82098         * modules/getndelim2: Use ssize_t module.
82099         * modules/getnline: Likewise.
82100         * modules/safe-read: Likewise.
82101         * modules/xreadlink: Likewise.
82102
82103         * modules/ssize_t: New file.
82104
82105 2005-08-12  Simon Josefsson  <jas@extundo.com>
82106
82107         * m4/readline.m4: Look for termcap, curses or ncurses if required.
82108
82109 2005-08-12  Simon Josefsson  <jas@extundo.com>
82110
82111         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82112         ssize_t.
82113
82114 2005-08-12  Simon Josefsson  <jas@extundo.com>
82115
82116         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
82117         readline, getdelim and check_version.
82118         (Support for systems lacking ISO C 99: Sizes of integer types):
82119         Add size_max.
82120
82121 2005-08-12  Bruno Haible  <bruno@clisp.org>
82122
82123         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
82124
82125 2005-08-11  Simon Josefsson  <jas@extundo.com>
82126
82127         * modules/readline: New file.
82128
82129         * modules/strnlen (Files): Add strnlen.h.
82130
82131 2005-08-11  Simon Josefsson  <jas@extundo.com>
82132
82133         * m4/readline.m4: New file.
82134
82135 2005-08-11  Simon Josefsson  <jas@extundo.com>
82136
82137         * lib/readline.h, readline.c: New file.
82138
82139 2005-08-11  Simon Josefsson  <jas@extundo.com>
82140
82141         * doc/gnulib.texi (Initial import, Finishing touches): Mention
82142         gl_AVOID.
82143
82144 2005-08-11  Bruno Haible  <bruno@clisp.org>
82145
82146         * lib/strnlen.h (strnlen): Change parameter name to match comment.
82147
82148 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
82149
82150         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
82151
82152 2005-08-10  Simon Josefsson  <jas@extundo.com>
82153
82154         * tests/test-iconvme.c: New file.
82155
82156 2005-08-10  Simon Josefsson  <jas@extundo.com>
82157
82158         * m4/strnlen.m4: New file.
82159
82160         * m4/strndup.m4: Don't check for strnlen declaration, done in
82161         strnlen.m4.
82162
82163 2005-08-10  Simon Josefsson  <jas@extundo.com>
82164
82165         * lib/strndup.c: Use strnlen.h.
82166
82167         * lib/strnlen.h: New file.
82168
82169 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82170
82171         * README: Typos.
82172
82173 2005-08-02  Simon Josefsson  <jas@extundo.com>
82174
82175         * modules/readline: New file.
82176
82177 2005-08-02  Simon Josefsson  <jas@extundo.com>
82178
82179         * modules/getdelim: New file.
82180
82181         * modules/getline: Rewrite, don't use getndelim2.
82182
82183 2005-08-02  Simon Josefsson  <jas@extundo.com>
82184
82185         * m4/getline.m4: Separate out getdelim stuff into separate module.
82186
82187         * m4/getdelim.m4: New file.
82188
82189 2005-08-02  Simon Josefsson  <jas@extundo.com>
82190
82191         * lib/getline.h, getline.c: Rewrite.
82192
82193         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
82194
82195 2005-07-31  Bruno Haible  <bruno@clisp.org>
82196
82197         * lib/lock.h (gl_lock_initializer): New macro.
82198         (gl_lock_define_initialized): Use it.
82199         (gl_rwlock_initializer): New macro.
82200         (gl_rwlock_define_initialized): Use it.
82201         (gl_recursive_lock_initializer): New macro.
82202         (gl_recursive_lock_define_initialized): Use it.
82203
82204 2005-07-30  Karl Berry  <karl@gnu.org>
82205
82206         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
82207         Report from Ben Pfaff, regarding getopt.
82208
82209 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
82210
82211         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
82212         normal way.
82213         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
82214         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
82215         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
82216         (gl_GETOPT): Use the new macros.  Most of the implementation
82217         is moved to the new macros.  This is for programs like Emacs
82218         that don't want all the functionality of gl_GETOPT.
82219
82220 2005-07-26  Bruno Haible  <bruno@clisp.org>
82221
82222         * m4/lock.m4: Update from GNU gettext.
82223
82224 2005-07-26  Bruno Haible  <bruno@clisp.org>
82225
82226         * lib/lock.h: Update from GNU gettext.
82227         * lib/lock.c: Update from GNU gettext.
82228
82229 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
82230
82231         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
82232         obsolescent AC_TRY_RUN.  Include the default includes files, for
82233         'exit'.
82234
82235 2005-07-24  Bruno Haible  <bruno@clisp.org>
82236
82237         * modules/visibility: New file.
82238         * MODULES.html.sh (Misc): Add visibility.
82239
82240 2005-07-24  Bruno Haible  <bruno@clisp.org>
82241
82242         * m4/visibility.m4: New file.
82243
82244 2005-07-24  Bruno Haible  <bruno@clisp.org>
82245
82246         * doc/visibility.texi: New file.
82247
82248 2005-07-22  Bruno Haible  <bruno@clisp.org>
82249
82250         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
82251         $(ALLOCA_H), redundant through BUILT_SOURCES.
82252         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
82253         redundant through BUILT_SOURCES.
82254         * modules/byteswap (Makefile.am): Remove explicit dependency on
82255         $(BYTESWAP_H), redundant through BUILT_SOURCES.
82256         * modules/fnmatch (Makefile.am): Remove explicit dependency on
82257         $(FNMATCH_H), redundant through BUILT_SOURCES.
82258         * modules/getopt (Makefile.am): Remove explicit dependency on
82259         $(GETOPT_H), redundant through BUILT_SOURCES.
82260         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
82261         redundant through BUILT_SOURCES.
82262         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
82263         redundant through BUILT_SOURCES.
82264         * modules/stdbool (Makefile.am): Remove explicit dependency on
82265         $(STDBOOL_H), redundant through BUILT_SOURCES.
82266         * modules/stdint (Makefile.am): Remove explicit dependency on
82267         $(STDINT_H), redundant through BUILT_SOURCES.
82268         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
82269         Remove explicit dependency on $(SYSEXITS_H).
82270         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
82271
82272 2005-07-18  Simon Josefsson  <jas@extundo.com>
82273
82274         * lib/check-version.c (check_version): Accept identical versions too.
82275
82276 2005-07-18  Bruno Haible  <bruno@clisp.org>
82277
82278         * modules/lock: New file.
82279         * MODULES.html.sh (Multithreading): New section.
82280
82281 2005-07-18  Bruno Haible  <bruno@clisp.org>
82282
82283         * m4/lock.m4: New file, from GNU gettext.
82284
82285 2005-07-18  Bruno Haible  <bruno@clisp.org>
82286
82287         * lib/lock.h: New file, from GNU gettext.
82288         * lib/lock.c: New file, from GNU gettext.
82289
82290 2005-07-18  Bruno Haible  <bruno@clisp.org>
82291
82292         * lib/lock.h (gl_once_t): New type.
82293         (gl_once_define, gl_once): New macros.
82294         * lib/lock.c (fresh_once): New variable.
82295         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
82296         functions.
82297
82298 2005-07-16  Simon Josefsson  <jas@extundo.com>
82299
82300         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
82301         workaround, suggested by Bruno.
82302
82303 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82304
82305         * modules/xalloc (Depends-on): Add xalloc-die.
82306         * modules/xvasprintf (Depends-on): Add xalloc-die.
82307
82308 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82309
82310         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
82311         with a minor change.
82312
82313 2005-07-15  Bruno Haible  <bruno@clisp.org>
82314
82315         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
82316         When using lib/poll.c, define poll as rpl_poll.
82317
82318 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
82319
82320         * modules/argp (Depends-on): Remove unlocked-io.
82321
82322 2005-07-14  Derek Price  <derek@ximbiot.com>
82323
82324         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
82325         for glob symlink bug.
82326
82327 2005-07-14  Bruno Haible  <bruno@clisp.org>
82328
82329         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
82330         Instead, test for *_unlocked function declarations directly.
82331
82332 2005-07-11  Simon Josefsson  <jas@extundo.com>
82333
82334         * modules/size_max: New file.
82335
82336         * modules/xsize: Depend on size_max module for size_max.m4.
82337
82338 2005-07-11  Simon Josefsson  <jas@extundo.com>
82339
82340         * lib/size_max.h: New file.
82341
82342 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
82343
82344         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
82345         copyright symbol and the year.
82346         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
82347         (version_etc_va): Use parameterized copyright notice.
82348         Reword to conform to the current GNU coding standards.
82349
82350 2005-07-11  Karl Berry  <karl@gnu.org>
82351
82352         * doc/gnulib.texi (Quoting): new node.
82353         (Initial import): more info, from Patrice.
82354
82355 2005-07-11  Bruno Haible  <bruno@clisp.org>
82356
82357         * gnulib-tool (func_usage): Document option --avoid.
82358         (Command line options): Handle --avoid.
82359         (func_acceptable): New function.
82360         (func_modules_transitive_closure): Use it.
82361
82362 2005-07-11  Bruno Haible  <bruno@clisp.org>
82363
82364         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
82365         Reported by Jim Meyering.
82366
82367 2005-07-10  Bruno Haible  <bruno@clisp.org>
82368
82369         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
82370         Needed when size_t is smaller than 'unsigned int'.
82371         Reported by Paul Eggert.
82372
82373 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82374
82375         * modules/argp (Depends-on): Add unlocked-io
82376
82377 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82378
82379         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
82380         block of defines.
82381
82382 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
82383
82384         * config/srclist.txt: Comment out regcomp.c, since we have a porting
82385         fix now.
82386
82387 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
82388         and Paul Eggert  <eggert@cs.ucla.edu>
82389
82390         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
82391         in wint_t, not wchar_t.  Remove now-unnecessary cast.
82392
82393 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82394
82395         * modules/regex (Files): Add lib/regex_internal.c,
82396         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
82397         (Depends-on): Add extensions.
82398         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
82399
82400 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82401
82402         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
82403         pathconf.
82404         * m4/same.m4 (gl_SAME): Likewise.
82405         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
82406
82407         * m4/regex.m4: Adjust to new libc regex implementation.
82408         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
82409         all the .c and .h parts of (the new) regex.
82410         Quote the m4 stuff better.
82411         Check for RE_ICASE bug of old gnulib.
82412         Check for REG_STARTEND of recent libc.
82413         Rename local variables from jm_* to gl_*.
82414         Quote operand of "test -f".
82415         Say "recent enough" version of libc, not "version 2".
82416         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
82417         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
82418         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
82419         Remove check for btowc, isascii.
82420         Require AM_LANGINFO_CODESET.
82421
82422 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82423
82424         * lib/regex.c, regex.h: Sync from libc.
82425         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
82426         * lib/regexec.c:
82427         New files, synced from libc, except that regex_internal.h
82428         currently has a small porting fix.
82429
82430 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82431
82432         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
82433         regex_internal.c, regexec.c.
82434         Add regex_internal.h too, but as a comment, since the libc version
82435         is currently broken in gnulib mode.
82436
82437 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
82438
82439         Support programs like Emacs that use gnulib but not gettext.
82440         * MODULES.html.sh (Internationalization functions): Add gettext-h.
82441         * modules/gettext-h: New file.
82442         * modules/gettext (Files): Remove lib/gettext.h.
82443         (Depends-on): Add gettext-h.
82444         (Makefile.am): Remove lib_SOURCES.
82445         * modules/argmatch, modules/c-stack, modules/closeout:
82446         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
82447         * modules/execute, modules/file-type, modules/getaddrinfo:
82448         * modules/getopt, modules/human, modules/javacomp:
82449         * modules/javaexec, modules/mkdir-p, modules/obstack:
82450         * modules/openat, modules/pagealign_alloc, modules/pipe:
82451         * modules/quotearg, modules/regex, modules/rpmatch:
82452         * modules/unicodeio, modules/userspec, modules/version-etc:
82453         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
82454         * modules/xsetenv:
82455         Depend on gettext-h, not gettext.
82456
82457 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
82458
82459         * gnulib-tool (func_import): Add support for 'public domain' license.
82460         * modules/alloca, modules/atexit, modules/memmove:
82461         Now public domain, not GPL.
82462         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
82463         * modules/realloc, modules/strerror, modules/strtod:
82464         Now LGPL, not GPL.
82465
82466 2005-07-05  Bruno Haible  <bruno@clisp.org>
82467
82468         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
82469         autoconf CVS. Needed for mingw.
82470
82471 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82472
82473         Remove the dependency of the strftime module on the tzset module.
82474         * modules/strftime (Depends-on): Remove dependency on tzset.
82475
82476 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82477
82478         Remove the dependency of the strftime module on the tzset module.
82479         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
82480         gl_FUNC_TZSET_CLOBBER.
82481
82482 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82483
82484         Remove the dependency of the strftime module on the tzset module.
82485         * lib/strftime.c (my_strftime)
82486         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
82487         Copy the input structure, to work around some of the bug with
82488         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
82489         Solaris releases, you should also use the tzset module, but we won't
82490         require it as a dependency any more since we don't want LGPLed code
82491         to depend on GPLed code.
82492
82493 2005-07-02  Jim Meyering  <jim@meyering.net>
82494
82495         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
82496         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
82497         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
82498         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
82499
82500 2005-07-02  Jim Meyering  <jim@meyering.net>
82501
82502         * lib/backupfile.c (backup_args): Change a `0' to NULL.
82503
82504 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
82505
82506         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
82507         declares only 'struct timespec;' (!).
82508
82509 2005-07-01  Jim Meyering  <jim@meyering.net>
82510
82511         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
82512         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
82513         * lib/save-cwd.c, tempname.c:
82514         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
82515         and don't include <sys/file.h>).
82516
82517 2005-06-29  Jim Meyering  <jim@meyering.net>
82518
82519         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
82520         type name.  Use the variable name instead.
82521         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
82522         Likewise.
82523
82524 2005-06-28  Simon Josefsson  <jas@extundo.com>
82525
82526         * modules/check-version (Files): Add check-version.m4.
82527
82528 2005-06-28  Simon Josefsson  <jas@extundo.com>
82529
82530         * m4/check-version.m4: New file, suggested by Jim Meyering
82531         <jim@meyering.net>.
82532
82533 2005-06-28  Simon Josefsson  <jas@extundo.com>
82534
82535         * lib/check-version.h, lib/check-version.c: New files.
82536
82537 2005-06-28  Simon Josefsson  <jas@extundo.com>
82538
82539         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
82540         collision with global variable.  Better indentation.  Don't
82541         increment buffer pointer beyond buffer end.  Based on comments
82542         from Paul Eggert <eggert@cs.ucla.edu>.
82543
82544         * lib/base64.h: Indent.
82545
82546 2005-06-28  Simon Josefsson  <jas@extundo.com>
82547
82548         * doc/gnulib.texi (Library version handling): New section.
82549
82550 2005-06-28  Jim Meyering  <jim@meyering.net>
82551
82552         * check-module (find_included_lib_files): Hard-code another
82553         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
82554         but modules/fts-lgpl (correctly) does not list those files.
82555
82556         * modules/canonicalize (Files): Add lib/pathmax.h.
82557
82558 2005-06-25  Simon Josefsson  <jas@extundo.com>
82559
82560         * modules/check-version: New file.
82561
82562 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
82563
82564         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
82565         initializer of struct addrinfo, as an indication that we don't
82566         care how many members the structure has.
82567
82568 2005-06-24  Derek Price  <derek@ximbiot.com>
82569         and Bruno Haible  <bruno@clisp.org>
82570
82571         Remove stat module & update lstat.
82572         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
82573         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82574         * m4/stat.m4: Remove this file.
82575
82576 2005-06-24  Derek Price  <derek@ximbiot.com>
82577         and Bruno Haible  <bruno@clisp.org>
82578
82579         Remove stat module & update lstat.
82580         * lib/stat.c: Remove this file...
82581         (slash_aware_lstat): ...moving this content and its support...
82582         * lib/lstat.c (rpl_lstat): ...into here.
82583         * lib/lstat.h: New file.
82584
82585 2005-06-24  Derek Price  <derek@ximbiot.com>
82586         and Bruno Haible  <bruno@clisp.org>
82587
82588         Remove stat module & update lstat.
82589         * config/srclist.txt (libc sources): Remove stat.
82590
82591 2005-06-24  Derek Price  <derek@ximbiot.com>
82592         and Bruno Haible  <bruno@clisp.org>
82593
82594         Remove stat module & update lstat.
82595         * MODULES.html.sh (stat): Remove.
82596         * MODULES.html: Regenerated.
82597         * modules/lstat (Description): Correct function name.
82598         (Files): Add "lstat.h".
82599         (Depends-on): Remove stat, add xalloc, stat-macros.
82600         * modules/stat: Remove this file.
82601         (Include): Add "lstat.h", remove <sys/stat.h>.
82602
82603 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
82604
82605         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
82606         (ranged_convert): Don't save conversion in a temporary struct.
82607         This causes a warning with GCC 4.0.0, and anyway in the typical
82608         case it's not worth the extra 100 bytes or so of code.
82609         (ranged_convert, __mktime_internal): When calling a function via a
82610         pointer P, use P () rather than (*P) (), as we now assume C89 or
82611         better.
82612
82613 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82614
82615         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
82616         "who -r" failed to give output.  Problem reported by Tim Waugh.
82617
82618         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
82619         (xcalloc): Use it to avoid needless tests.
82620         Problem reported by Jim Meyering.
82621
82622 2005-06-20  Derek Price  <derek@ximbiot.com>
82623
82624         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
82625         unnecessary for Autoconfs > 2.59c.
82626
82627 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82628
82629         * lib/argp.h (__option_is_short): Check upper limit of
82630         __key. Isprint() requires its argument to have the value
82631         of an unsigned char or EOF.
82632
82633 2005-06-16  Jim Meyering  <jim@meyering.net>
82634
82635         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
82636         when either N or S is zero.
82637
82638 2005-06-16  Derek Price  <derek@ximbiot.com>
82639
82640         * m4/bison.m4: Declare YACC & YFLAGS precious.
82641
82642 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
82643
82644         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
82645         multibyte string or pattern, fall back on unibyte matching.
82646         Problem reported by James Youngman.
82647
82648 2005-06-08  Bruno Haible  <bruno@clisp.org>
82649
82650         * modules/csharpcomp: New file.
82651         * MODULES.html.sh (C#): Add csharpcomp.
82652
82653 2005-06-08  Bruno Haible  <bruno@clisp.org>
82654
82655         * m4/csharpcomp.m4: New file, from GNU gettext.
82656
82657 2005-06-08  Bruno Haible  <bruno@clisp.org>
82658
82659         * lib/csharpcomp.h: New file, from GNU gettext.
82660         * lib/csharpcomp.c: New file, from GNU gettext.
82661         * lib/csharpcomp.sh.in: New file, from GNU gettext.
82662
82663 2005-06-08  Bruno Haible  <bruno@clisp.org>
82664
82665         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
82666         warning on mingw.
82667
82668 2005-06-07  Derek Price  <derek@ximbiot.com>
82669
82670         Sync from CVS.
82671         * lib/glob_.h: Indent nested #ifdef.
82672
82673 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82674
82675         Sync from coreutils.
82676         Use "file name" when talking about file names, instead of "filename"
82677         or "path", as per the GNU coding standards.
82678         * lib/mkdir-p.c: Renamed from makepath.c.
82679         (make_dir_parents): Renamed from make_path.  All callers changed.
82680         * lib/mkdir-p.h: Likewise.  All includers changed.
82681         * lib/filenamecat.c: Renamed from path-concat.c.
82682         (file_name_concat): Renamed from path_concat.  All callers changed.
82683         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
82684         * lib/filenamecat.h: Likewise.  All includers changed.
82685         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
82686         in comments or local variable names.
82687         * lib/basename.c: Likewise.
82688         * lib/canonicalize.c, canonicalize.h: Likewise.
82689         * lib/dirname.c, dirname.h: Likewise.
82690         * lib/euidaccess.c: Likewise.
82691         * lib/exclude.c: Likewise
82692         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
82693         * lib/fsusage.c, fsuage.h: Likewise.
82694         * lib/fts.c, fts_.h: Likewise.
82695         * lib/getcwd.c: Likewise.
82696         * lib/getloadavg.c: Likewise.
82697         * lib/mkstemp.c: Likewise.
82698         * lib/mountlist.c, mountlist.h: Likewise.
82699         * lib/openat.c, openat.h: Likewise.
82700         * lib/readlink-stub.c: Likewise.
82701         * lib/readutmp.c, readutmp.h: Likewise.
82702         * lib/rename.c: Likewise.
82703         * lib/rmdir.c: Likewise.
82704         * lib/same.c: Likewise.
82705         * lib/savedir.c: Likewise.
82706         * lib/stripslash.c: Likewise.
82707         * lib/tempname.c: Likewise.
82708         * lib/xreadlink.c: Likewise.
82709         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
82710         All uses changed.
82711         * lib/exclude.h: Likewise.
82712
82713         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
82714         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82715         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
82716         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82717         * lib/pathmax.h: Include <limits.h> unconditionally, since other
82718         files have been getting away with it for years (MORE/BSD 4.3
82719         is extinct now).
82720         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
82721         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82722
82723         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
82724         Define to 256, not 255, as per modern POSIX.
82725
82726 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82727
82728         Sync from coreutils.
82729         Use "file name" when talking about file names, instead of "filename"
82730         or "path", as per the GNU coding standards.
82731         * MODULES.html.sh: mkdir-p renamed from makepath.
82732         filenamecat renamed from path-concat.
82733         * modules/filenamecat: Renamed from modules/path-concat.
82734         (Files): filenamecat.h and filenamecat.c renamed from
82735         path-concat.h and path-concat.c.
82736         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
82737         (Include): filenamecat.h, not path-concat.h.
82738         * modules/mkdir-p: Renamed from modules/makepath.
82739         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
82740         makepath.c.
82741         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
82742         (Include): mkdir-p.h, not makepath.h.
82743
82744 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82745
82746         Sync from coreutils.
82747         * m4/mkdir-p.m4: Renamed from makepath.m4.
82748         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
82749         Rename files from makepath.c to mkdir-p.c, and from
82750         makepath.h to mkdir-p.h.
82751         * m4/filenamecat.m4: Renamed from path-concat.m4.
82752         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
82753         Rename files from path-concat.c to filenamecat.c,
82754         and from path-concat.h to filenamecat.h.
82755         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
82756         "file name" in local variables or comments.
82757         * m4/rename.m4: Likewise.
82758
82759 2005-06-01  Bruno Haible  <bruno@clisp.org>
82760
82761         * modules/csharpexec: New file.
82762         * MODULES.html.sh (C#): New section.
82763
82764 2005-06-01  Bruno Haible  <bruno@clisp.org>
82765
82766         * m4/csharp.m4: New file, from GNU gettext.
82767         * m4/csharpexec.m4: New file, from GNU gettext.
82768
82769 2005-06-01  Bruno Haible  <bruno@clisp.org>
82770
82771         * lib/csharpexec.h: New file, from GNU gettext.
82772         * lib/csharpexec.c: New file, from GNU gettext.
82773         * lib/csharpexec.sh.in: New file, from GNU gettext.
82774
82775 2005-05-31  Derek Price  <derek@ximbiot.com>
82776             Paul Eggert  <eggert@cs.ucla.edu>
82777
82778         Sync from cvs.
82779         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82780
82781 2005-05-31  Derek Price  <derek@ximbiot.com>
82782             Paul Eggert  <eggert@cs.ucla.edu>
82783
82784         Sync from cvs.
82785         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82786
82787 2005-05-29  Derek Price  <derek@ximbiot.com>
82788
82789         * config/srclist.txt (glob_.h, glob.c): Add these files.
82790
82791 2005-05-29  Derek Price  <derek@ximbiot.com>
82792
82793         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
82794         * modules/glob: New file.
82795         * modules/getlogin_r: Add link to POSIX spec in description.
82796
82797 2005-05-29  Derek Price  <derek@ximbiot.com>
82798             Paul Eggert  <eggert@cs.ucla.edu>
82799
82800         * m4/glob.m4: New file.
82801
82802 2005-05-29  Derek Price  <derek@ximbiot.com>
82803             Paul Eggert  <eggert@cs.ucla.edu>
82804
82805         * lib/glob_.h, lib/glob.c: New files.
82806
82807 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82808
82809         * modules/fts (Files): Remove m4/inttypes-pri.m4.
82810         * modules/fts-lgpl (Depends-on): Remove gettext.
82811
82812 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82813
82814         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
82815         and don't require gt_INTTYPES_PRI.
82816
82817 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82818
82819         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
82820
82821         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
82822         the configuration hassle isn't worth it.
82823         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
82824         (LONGEST_MODIFIER, PRIuMAX): Remove.
82825
82826 2005-05-27  Bruno Haible  <bruno@clisp.org>
82827
82828         * lib/getlogin_r.h: Remove second include of <stddef.h>.
82829
82830 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
82831
82832         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
82833         _POSIX_PTHREAD_SEMANTICS for Solaris.
82834
82835 2005-05-25  Derek Price  <derek@ximbiot.com>
82836
82837         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
82838
82839 2005-05-25  Derek Price  <derek@ximbiot.com>
82840             Paul Eggert  <eggert@cs.ucla.edu>
82841
82842         * modules/getlogin_r, m4/getlogin_r.m4: New files.
82843         * lib/getlogin_r.c, getlogin_r.h: New files.
82844
82845 2005-05-25  Bruno Haible  <bruno@clisp.org>
82846             Derek Price  <derek@ximbiot.com>
82847
82848         * lib/getlogin_r.h: Simplify API documentation.
82849
82850 2005-05-23  Derek Price  <derek@ximbiot.com>
82851
82852         * modules/minmax (Files): Add m4/minmax.m4.
82853         (configure.ac): Add gl_MINMAX.
82854
82855 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
82856
82857         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
82858         so that unistd-safer.h (GPL'ed code) need not be included.
82859
82860 2005-05-22  Bruno Haible  <bruno@clisp.org>
82861
82862         * m4/minmax.m4: New file.
82863         Based on a patch by Derek Price <derek@ximbiot.com>.
82864
82865 2005-05-22  Bruno Haible  <bruno@clisp.org>
82866
82867         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
82868         (INT64_MIN): Fix definition.
82869         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
82870
82871         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
82872         NEED_SIGNED_INT_TYPES.
82873
82874         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
82875         HAVE_SYSTEM_INTTYPES.
82876
82877 2005-05-22  Bruno Haible  <bruno@clisp.org>
82878
82879         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
82880         Also include <sys/param.h> if it defines MIN, MAX.
82881         Based on a patch by Derek Price <derek@ximbiot.com>.
82882
82883 2005-05-21  Jim Meyering  <jim@meyering.net>
82884
82885         * modules/fts (Files): Add m4/inttypes-pri.m4.
82886         (Depends-on): Add lstat and remove gettext.  Alphabetize.
82887
82888 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82889
82890         New fts module.
82891         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
82892         (setup_dir, free_dir): New functions.
82893         (enter_dir, leave_dir): Define trivial
82894         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
82895         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
82896         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
82897         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
82898         Move to fts-cycle.c.
82899         (fts_open): Use setup_dir.
82900         (fts_close): Use free_dir.
82901         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
82902         This adds a label and some gotos, but the alternatives were messier.
82903         Check for memory allocation failure when entering a dir.
82904         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
82905         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
82906         (FTS): New member fts_cycle, that is a union that contains the
82907         old active_dir_ht and cycle_state.  All uses changed to mention
82908         fts_cycle.ht and fts_cycle.state.
82909         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
82910         fts.c, with the following changes:
82911         (setup_dir, free_dir): New functions.
82912         (enter_dir): Now returns bool.  Return true if successful, false
82913         if memory exhausted.  All callers changed.
82914         Do not bother partly cleaning up on
82915         memory allocation failure; that is free_dir's job.
82916         However, free ad if hash_insert fails, to avoid memory leak.
82917         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
82918         fts->fts_options to see which union member to use.
82919
82920 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82921
82922         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
82923         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
82924
82925 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82926
82927         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
82928
82929 2005-05-20  Jim Meyering  <jim@meyering.net>
82930
82931         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
82932         Now a macro, to pacify GCC.
82933
82934 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82935
82936         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
82937         of -1.
82938
82939 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82940
82941         * lib/chown.c (rpl_chown): Return -1 on failure.
82942
82943 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82944
82945         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
82946         Don't check for stddef.h.
82947         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
82948         don't use its results.
82949         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
82950         since we include them unconditionally.  Don't require
82951         AM_STDBOOL_H, since stdbool is a prerequisite.
82952         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
82953         since we assume C89 or better.
82954         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
82955         as we don't use their results.
82956         Don't check for fchdir, memmove, memset, strrchr, as we use
82957         them unconditionally.
82958         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
82959         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
82960
82961 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82962
82963         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
82964         Include <stddef.h> unconditionally, since we assume C89 now.
82965         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
82966         * lib/fts.c: Include fts_.h first, to check interface.
82967         Do not include intprops.h; no longer needed.
82968         Include cycle-check.h and hash.h, since fts_.h no longer does.
82969         Remove unnecessary casts of closedir to void.
82970         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
82971         decide whether to decrement nlinks.
82972         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
82973         (FTS): Use struct hash_table * instead of Hash_table, so that
82974         we no longer need to include hash.h here.
82975
82976 2005-05-18  Jim Meyering  <jim@meyering.net>
82977
82978         * modules/dirfd (License): Change to LGPL.  Most of the code
82979         is already in the public domain.
82980
82981 2005-05-18  Jim Meyering  <jim@meyering.net>
82982
82983         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
82984         Reported by Yoann Vandoorselaere.
82985
82986 2005-05-17  Jim Meyering  <jim@meyering.net>
82987
82988         * m4/fts.m4: New file, from coreutils.
82989
82990 2005-05-17  Jim Meyering  <jim@meyering.net>
82991
82992         * lib/fts.c, lib/fts_.h: New files, from coreutils.
82993
82994 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82995
82996         Sync from coreutils.
82997         * m4/unlinkdir.m4: New file.
82998
82999 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83000
83001         Sync from coreutils.
83002         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
83003         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
83004         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
83005         White space changes only.
83006         * lib/makepath.c (make_path): Port to hosts where leading "//" is
83007         special.
83008         * lib/yesno.c: Include getline.h, not ctype.h.
83009         (yesno): Don't remove leading white space; POSIX doesn't allow it.
83010         Use getline to remove arbitrary restriction on response length.
83011
83012 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83013
83014         * config/srclist-update: Spell out "Street" in FSF postal
83015         mail address; this is the style the FSF seems to prefer.
83016
83017         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
83018         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
83019         this updates FSF postal mail address.
83020
83021         Sync from coreutils.
83022         * modules/unlinkdir: New file.
83023         * modules/yesno (Depends-on): Add getline.
83024         * MODULES.html.sh (File system functions): Add unlinkdir.
83025
83026 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83027
83028         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
83029         lib/strsep.h:
83030         Change the initial comment to refer to GPL, not LGPL.
83031         gnulib-tool will change it to LGPL as needed.
83032
83033         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
83034         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
83035         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
83036         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
83037         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
83038         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
83039         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
83040         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
83041         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
83042         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
83043         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
83044         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
83045         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
83046         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
83047         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
83048         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
83049         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
83050         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
83051         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
83052         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
83053         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
83054         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
83055         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
83056         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
83057         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
83058         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
83059         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
83060         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
83061         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
83062         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
83063         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
83064         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
83065         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
83066         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
83067         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
83068         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
83069         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
83070         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
83071         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
83072         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
83073         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
83074         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
83075         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
83076         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
83077         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
83078         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
83079         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
83080         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
83081         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
83082         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
83083         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83084         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
83085         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
83086         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
83087         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
83088         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
83089         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
83090         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
83091         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
83092         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
83093         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
83094         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
83095         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
83096         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
83097         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
83098         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
83099         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
83100         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
83101         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
83102         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
83103         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
83104         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
83105         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
83106         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
83107         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
83108         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
83109         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
83110         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
83111         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
83112         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
83113         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
83114         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
83115         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
83116         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
83117         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
83118         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
83119         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
83120         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
83121         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
83122         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
83123         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
83124         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
83125         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
83126         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
83127         lib/yesno.c, lib/yesno.h:
83128         Update FSF postal mail address.
83129
83130 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83131
83132         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
83133         tests/test-memmem.c, tests/test-stpncpy.c:
83134         Update FSF postal mail address.
83135
83136 2005-05-13  Bruno Haible  <bruno@clisp.org>
83137
83138         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
83139         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
83140         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
83141         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
83142         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
83143         Add support for 64-bit integers in the MSVC compiler.
83144
83145 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83146
83147         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
83148
83149 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
83150
83151         * gnulib-tool (func_import): Sort and uniquify recommended includes.
83152
83153 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
83154
83155         * doc/getdate.texi (General date syntax): Don't say that date
83156         date --iso-8601=ns generates acceptable dates; it doesn't yet.
83157         Problem reported by Nic Ferrier.
83158
83159 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83160
83161         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
83162         specified in ai_socktype. Fix invalid ai_protocol
83163         check. ai_protocol is usually set to 0 or depending on
83164         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
83165         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
83166         ai_socktype / ai_protocol in the returned addrinfo structure.
83167
83168 2005-05-10  Simon Josefsson  <jas@extundo.com>
83169
83170         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
83171         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
83172
83173 2005-05-10  Karl Berry  <karl@gnu.org>
83174
83175         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
83176         (from http://www.gnu.org/licenses).
83177         * doc/COPYING.LIB: also rename to COPYING.LESSER.
83178         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
83179         fdl.texi suffices.
83180
83181 2005-05-10  Karl Berry  <karl@gnu.org>
83182
83183         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
83184         (COPYING.DOC): remove.
83185
83186         * config/srclist-update: new FSF address.
83187
83188 2005-05-10  Derek Price  <derek@ximbiot.com>
83189
83190         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
83191         possible.
83192
83193 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83194             Bruno Haible  <bruno@clisp.org>
83195
83196         * modules/inet_ntop: New file.
83197         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83198         inet_ntop.
83199
83200 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83201             Bruno Haible  <bruno@clisp.org>
83202
83203         * m4/inet_ntop.m4: New file.
83204
83205 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83206             Bruno Haible  <bruno@clisp.org>
83207
83208         * lib/inet_ntop.h: New file.
83209         * lib/inet_ntop.c: New file, from glibc with modifications.
83210
83211 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
83212
83213         * modules/time_r (License): Change to LGPL.
83214         * modules/extensions (License): Change to LGPL.  Actually,
83215         the license is more permissive than that, but currently gnulib-tool
83216         doesn't know how to handle more-permissive licenses.
83217
83218         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
83219         Problem reported by Dave Love.
83220
83221 2005-05-08  Jim Meyering  <jim@meyering.net>
83222
83223         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
83224         blank.
83225
83226 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83227
83228         * modules/argmatch (Depends-on): Add stdbool.
83229         * modules/backupfile (Depends-on): Likewise.
83230         * modules/chdir-long (Depends-on): Likewise.
83231         * modules/closeout (Depends-on): Likewise.
83232         * modules/cycle-check (Depends-on): Likewise.
83233         * modules/dirname (Depends-on): Likewise.
83234         * modules/fnmatch (Depends-on): Likewise.
83235         * modules/fsusage (Depends-on): Likewise.
83236         * modules/fwriteerror (Depends-on): Likewise.
83237         * modules/getcwd (Depends-on): Likewise.
83238         * modules/getloadavg (Depends-on): Likewise.
83239         * modules/hard-locale (Depends-on): Likewise.
83240         * modules/makepath (Depends-on): Likewise.
83241         * modules/mountlist (Depends-on): Likewise.
83242         * modules/nanosleep (Depends-on): Likewise.
83243         * modules/posixtm (Depends-on): Likewise.
83244         * modules/quotearg (Depends-on): Likewise.
83245         * modules/readtokens (Depends-on): Likewise.
83246         * modules/readtokens0 (Depends-on): Likewise.
83247         * modules/readutmp (Depends-on): Likewise.
83248         * modules/save-cwd (Depends-on): Likewise.
83249         * modules/strftime (Depends-on): Likewise.
83250         * modules/userspec (Depends-on): Likewise.
83251         * modules/utimecmp (Depends-on): Likewise.
83252         * modules/xgetcwd (Depends-on): Likewise.
83253         * modules/xnanosleep (Depends-on): Likewise.
83254         * modules/xstrtod (Depends-on): Likewise.
83255         * modules/yesno (Depends-on): Likewise.
83256
83257 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
83258
83259         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
83260         needless checks.
83261
83262 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83263
83264         Merge from coreutils.  Among other things,
83265         add bulletproofing for cases where stdin, stdout, or stderr are closed.
83266         * lib/fd-safer.c: New file.
83267         * lib/fcntl-safer.h, open-safer.c: Remove.
83268         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
83269         * lib/dup-safer.c: Include unistd-safer.h first.
83270         Don't include errno.h.
83271         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
83272         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
83273         * lib/file-type.c: Rely on file-type.h change.
83274         * lib/getloadavg.c: Include unistd-safer.h.
83275         (getloadavg): Use safer open.
83276         * lib/getusershell.c: Include "stdio-safer.h".
83277         (getusershell): Use safer fopen.
83278         * lib/long-options.c (long_options): Use NULL rather than 0.
83279         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
83280         'free'.
83281         * lib/modechange.c: Likewise.
83282         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
83283         (MODE_DONE): New constant.
83284         (struct mode_change): Remove 'next' member.
83285         (make_node_op_equals): New function; like the old one of the
83286         same name, except it allocates an array.
83287         (mode_compile, mode_create_from_ref): Use it.
83288         (mode_compile): Allocate result as an array, not a linked list.
83289         Parse octal string ourself, so that we catch mistakes like "+0".
83290         (mode_adjust): Arg is an array, not a linked list.
83291         * lib/modechange.c: Include stat-macros.h, xalloc.h.
83292         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
83293         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
83294         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
83295         Remove.  This is now stat-macros.h's job.
83296         (talloc): Remove.  All callers replaced by xalloc, so that
83297         our invokers don't have to worry about reporting memory failures.
83298         (make_node_op_equals): Remove.
83299         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83300         New constants.
83301         (struct mode_change): Moved here from modechange.h.
83302         (mode_append_entry): Remove.
83303         (mode_compile): Remove MASKED_OPS arg, since it encouraged
83304         apps to have incorrect behavior.  Use simpler algorithm for head
83305         and tail.  Don't futz with umask; that's now the job of mode_adjust.
83306         Detect more invalid usages rather than having somewhat-random behavior.
83307         Don't insert an "a=" action, as that leads to incorrect behavior.
83308         (mode_compile, mode_create_from_ref): Return NULL on error instead
83309         of an enum, since now there's only one way to have an error.  All
83310         callers changed.
83311         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
83312         at the correct time.  Simplify calculation of "+u" and its ilk.
83313         Don't mishandle "+X".
83314         (mode_free): Remove "register" and localize decls.
83315         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83316         (struct mode_change): Move to modechange.c; callers don't
83317         need to see this stuff.
83318         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
83319         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
83320         (mode_change, mode_adjust): Reflect the new signatures noted above.
83321         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
83322         that might redefine system include files.
83323         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
83324         (my_usleep): Use NULL rather than (void *) 0.
83325         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
83326         Use siginterrupt to specify that system calls should be interrupted.
83327         (rpl_nanosleep): Move initialization of suspended closer to call of
83328         my_usleep.
83329         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
83330         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
83331         (desirable_utmp_entry): New function.
83332         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
83333         using x2nrealloc, to simplify logic.
83334         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
83335         size calculation.  Do not assume utmp file is a regular file.
83336         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
83337         (READ_UTMP_CHECK_PIDS): New constant.
83338         * lib/save-cwd.c: Include unistd-safer.h.
83339         (save_cwd): Use fd_safer.
83340         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
83341         [!_LIBC] Include "stat-macros.h" instead.
83342         * lib/unistd-safer.h (fd_safer): New decl.
83343
83344 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83345
83346         * modules/getloadavg (Depends-on): Add unistd-safer.
83347         * modules/getusershell (Depends-on): Add stdio-safer.
83348         * modules/lstat (Depends-on): Remove xalloc.
83349         * modules/mkstemp (Depends-on): Add stat-macros.
83350         * modules/modechange (Depends-on): Remove xstrtol.
83351         Add stat-macros, xalloc.
83352         * modules/save-cwd (Depends-on): Add unistd-safer.
83353         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
83354         * modules/unistd-safer (Files): Add lib/fd-safer.c
83355         (Makefile.am): Remove lib_SOURCES.
83356
83357         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
83358         Remove fcntl-safer; unistd-safer supersedes it.
83359
83360 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83361
83362         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
83363         AC_HEADER_STAT.
83364         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
83365         (gl_PREREQ_CHOWN): Remove.
83366         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
83367         it.  Don't require AC_HEADER_STAT.
83368         (gl_PREREQ_LSTAT): Remove.
83369         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
83370         Don't require AC_HEADER_STAT.
83371         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
83372         (gl_PREREQ_RMDIR): Remove.
83373         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
83374         mention stat-macros.h or AC_HEADER_STAT, since we'll make
83375         the stat-macros module a prerequisite.
83376         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
83377         * m4/filemode.m4 (gl_FILEMODE): Likewise.
83378         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
83379         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
83380         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
83381         variable names.
83382         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
83383         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
83384         variable prefixes.
83385         * m4/fcntl-safer.m4: Remove.
83386         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
83387         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
83388         Invoke gl_PREREQ_FD_SAFER.
83389         (gl_PREREQ_FD_SAFER): New macro.
83390         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
83391         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
83392         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
83393         Remove duplicate call to AC_LIBOBJ(readutmp).
83394         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
83395
83396         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
83397         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
83398
83399 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83400
83401         * MODULES.html.sh (Misc): Add byteswap.
83402
83403 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83404
83405         * modules/getcwd (Depends-on): Add extensions.
83406         * modules/openat (Depends-on): Likewise.
83407
83408 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83409
83410         * modules/byteswap: New file.
83411
83412 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83413
83414         * m4/byteswap.m4: New file.
83415
83416 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83417
83418         * lib/byteswap_.h: New file.
83419
83420 2005-04-25  Karl Berry  <karl@gnu.org>
83421
83422         * m4/gettext.m4: Update from GNU gettext 0.14.4.
83423
83424 2005-04-25  Albert Chin  <china@thewrittenword.com>
83425
83426         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
83427         Toolkit C bug.
83428
83429 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
83430
83431         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
83432         (func_ln_if_changed): Remove forcibly for no error message
83433         in case file does not exist.
83434
83435 2005-04-19  Simon Josefsson  <jas@extundo.com>
83436
83437         * gnulib-tool (Options): Make --symlink mean --symbolic.
83438
83439 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
83440
83441         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
83442
83443 2005-04-16  Simon Josefsson  <jas@extundo.com>
83444
83445         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
83446
83447 2005-04-15  Simon Josefsson  <jas@extundo.com>
83448
83449         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
83450
83451 2005-04-15  Simon Josefsson  <jas@extundo.com>
83452
83453         * gnulib-tool: Rename --symlink to --symbolic.
83454
83455 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
83456
83457         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
83458         symbolic links to files instead of copying/moving.  Add --aux-dir,
83459         specifying directory relative --dir where auxiliary build tools
83460         are placed.
83461
83462 2005-04-14  Bruno Haible  <bruno@clisp.org>
83463
83464         * modules/allocsa (License): Change to LGPL.
83465         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
83466
83467 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
83468
83469         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
83470         that "UTC +1 second" continues to work.  Problem reported
83471         by Dmitry V. Levin.
83472         (relunit_snumber): New rule.
83473         (relunit): Use it.
83474
83475 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
83476
83477         * lib/getdate.y (universal_time_zone_table): New constant.
83478         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
83479         universal_time_zone_table.
83480         (lookup_zone): Prefer universal_time_zone_table to
83481         local_time_zone_table, so that "GMT" time stamps are allowed in
83482         London during the summer.  Problem reported by Ian Abbott.
83483
83484 2005-04-12  Jim Meyering  <jim@meyering.net>
83485
83486         * lib/human.c (humblock): Set *options even when returning due to
83487         xstrtoumax conversion failure.  Thanks to a used-uninitialized
83488         warning from gcc-4.
83489
83490 2005-04-09  Jim Meyering  <jim@meyering.net>
83491
83492         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
83493         -Wuninitialized: initialize tm0.tm_year.
83494
83495 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
83496
83497         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
83498         count, since there's no maximum.  All uses changed.
83499         Add member dsts_seen.
83500         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
83501         not being INT_MAX.
83502         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
83503         Use pc_rels_seen to decide whther a date is absolute.
83504
83505         * lib/getdate.y (number): Don't overwrite year.
83506         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
83507         check.
83508
83509 2005-04-02  Simon Josefsson  <jas@extundo.com>
83510
83511         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
83512         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
83513
83514 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
83515
83516         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
83517         where no absolute path name can be longer than PATH_MAX.
83518
83519 2005-03-27  Jim Meyering  <jim@meyering.net>
83520
83521         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
83522
83523 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
83524
83525         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
83526         "one's complement" -> "ones' complement" in comment, as per Knuth.
83527         "value of type" -> "type or expression" in comment.
83528         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
83529
83530 2005-03-26  Jim Meyering  <jim@meyering.net>
83531
83532         Comment nits.
83533         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
83534         Correct typos: s/or/of/.
83535
83536 2005-03-26  Jim Meyering  <jim@meyering.net>
83537
83538         * modules/check-include-files: Move to ../ and rename to...
83539         * check-module: ...this.
83540
83541 2005-03-25  Jim Meyering  <jim@meyering.net>
83542
83543         * modules/xvasprintf (Files): Add xalloc.h.
83544
83545 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
83546
83547         * modules/gettext (Files): config/config.rpath ->
83548         build-aux/config.rpath
83549         * modules/iconv (Files): Likewise.
83550         Problem reported by Oskar Liljeblad.
83551
83552 2005-03-23  Jim Meyering  <jim@meyering.net>
83553
83554         * modules/check-include-files: New script to check for
83555         missing dependencies, multiple includes, etc.
83556
83557         * modules/c-strtold (Depends-on): Add xalloc.
83558         * modules/c-strtod (Depends-on): Add xalloc.
83559         * modules/hash (Depends-on): Add xalloc.
83560         (Files): Remove lib/xalloc.h.
83561
83562         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
83563         * modules/userspec (Files): Add lib/inttostr.h.
83564
83565 2005-03-23  Jim Meyering  <jim@meyering.net>
83566
83567         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
83568
83569 2005-03-22  Jim Meyering  <jim@meyering.net>
83570
83571         * modules/stat-macros: New module.
83572         * modules/canonicalize, modules/euidaccess, modules/file-type,
83573         * modules/filemode, modules/lchown, modules/makepath,
83574         * modules/rmdir, modules/stat: Depend on new stat-macros module
83575         rather than listing lib/stat-macros.h manually.
83576         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
83577
83578 2005-03-22  Jim Meyering  <jim@meyering.net>
83579
83580         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
83581
83582 2005-03-22  Bruno Haible  <bruno@clisp.org>
83583
83584         * config/srclist.txt: Replace target directory 'config' with
83585         'build-aux'.
83586         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
83587         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
83588         ../build-aux/.
83589
83590 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
83591
83592         * modules/chdir-long (Depends-on): Add mempcpy.
83593
83594         * modules/acl, modules/backupfile, modules/c-strtod,
83595         modules/c-strtold, modules/canon-host, modules/canonicalize,
83596         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
83597         modules/exclude, modules/exitfail, modules/file-type,
83598         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
83599         modules/getdate, modules/getline, modules/getpagesize,
83600         modules/getpass, modules/getugroups, modules/group-member,
83601         modules/hard-locale, modules/hash, modules/human, modules/idcache,
83602         modules/inttostr, modules/long-options, modules/makepath,
83603         modules/md5, modules/memcasecmp, modules/memcoll,
83604         modules/modechange, modules/mountlist, modules/path-concat,
83605         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
83606         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
83607         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
83608         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
83609         modules/strftime, modules/strndup, modules/strverscmp,
83610         modules/timespec, modules/unlocked-io, modules/userspec,
83611         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
83612         modules/yesno:
83613         Remove lib_SOURCES line from Makefile.am section, as this is now
83614         done automatically by the corresponding Autoconf macro.
83615
83616 2005-03-21  Jim Meyering  <jim@meyering.net>
83617
83618         Changes imported from coreutils.
83619
83620         * lib/cycle-check.c: Don't include xalloc.h.
83621
83622         * lib/path-concat.c: Don't include assert.h.
83623         (path_concat): Remove assertion that would have triggered
83624         for ABASE starting with more than one slash.
83625         Reported by Andreas Schwab.
83626
83627         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
83628         properly when ABASE is an absolute file name.
83629         Correct the description of this function.
83630         Include <assert.h>.
83631         Add an assertion and a test driver.
83632         This fixes a bug introduced on 2004-07-02.
83633         Andreas Schwab reported the resulting failure of cp --parents:
83634         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
83635
83636 2005-03-21  Jim Meyering  <jim@meyering.net>
83637
83638         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
83639         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
83640
83641 2005-03-21  Jim Meyering  <jim@meyering.net>
83642         and  Paul Eggert  <eggert@cs.ucla.edu>
83643
83644         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
83645         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
83646         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
83647         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
83648         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
83649         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
83650         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
83651         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
83652         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
83653         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
83654         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
83655         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
83656         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
83657         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
83658         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
83659         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
83660         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
83661         for these modules.
83662
83663 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
83664
83665         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
83666         (which shouldn't happen), generate nothing instead of returning 0
83667         immediately, so that nstrftime (NULL, ...) doesn't return 0.
83668
83669 2005-03-16  Bruno Haible  <bruno@clisp.org>
83670
83671         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
83672         HAVE_LONGLONG_64BIT.
83673
83674 2005-03-16  Bruno Haible  <bruno@clisp.org>
83675
83676         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
83677         HAVE_LONGLONG_64BIT.
83678
83679 2005-03-16  Bruno Haible  <bruno@clisp.org>
83680
83681         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
83682         HAVE_LONGLONG_64BIT.
83683
83684 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83685
83686         * lib/strftime.c (my_strftime): Prepend space to format so that we can
83687         reliably distinguish strftime failure from empty output on POSIX
83688         hosts.
83689
83690 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83691
83692         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
83693         (iconv_string): Don't guess a size-zero buffer, as that might cause
83694         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
83695         result would be 'too large', where 'too large' is (heuristically)
83696         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
83697         overflow concerns.  This will prevent some unwanted malloc failures
83698         when the inputs are very large.
83699
83700 2005-03-15  Karl Berry  <karl@gnu.org>
83701
83702         * config/srclist.txt (config.rpath): from gettext.
83703         * config/config.rpath: update.
83704
83705 2005-03-15  Bruno Haible  <bruno@clisp.org>
83706
83707         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
83708         to 'negate'.
83709
83710         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
83711         variable.
83712
83713         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
83714         results.
83715
83716 2005-03-14  Simon Josefsson  <jas@extundo.com>
83717
83718         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
83719         <fx@gnu.org>.
83720
83721 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
83722
83723         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
83724         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
83725         intprops.h.
83726         * lib/strtol.c: Likewise.
83727
83728 2005-03-14  Jim Meyering  <jim@meyering.net>
83729
83730         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
83731         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
83732         to be nonzero so that we (and caller) can detect the difference
83733         between a valid zero-length expansion and an error return, even
83734         when the underlying strftime fails before writing anything into
83735         that location.
83736
83737 2005-03-14  Bruno Haible  <bruno@clisp.org>
83738
83739         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
83740         Update from GNU gettext 0.14.3.
83741
83742 2005-03-10  Jim Meyering  <jim@meyering.net>
83743
83744         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
83745
83746 2005-03-10  Jim Meyering  <jim@meyering.net>
83747
83748         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
83749         so that this module works on systems without fchdir.
83750
83751 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
83752
83753         Factor int-properties macros into a single file, except for
83754         glibc-related files.
83755         * lib/intprops.h: New file.
83756         * lib/getloadavg.c: Include it instead of limits.h.
83757         (INT_STRLEN_BOUND): Remove.
83758         * lib/human.c: Include intprops.h.
83759         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
83760         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
83761         302/1000.
83762         * lib/inttostr.h: Include intprops.h instead of limits.h.
83763         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
83764         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
83765         for consistency with intprops.h.
83766         (time_t_is_integer, twos_complement_arithmetic): Use them.
83767         * lib/sig2str.h: Include <signal.h>, intprops.h.
83768         (INT_STRLEN_BOUND): Remove.
83769         * lib/strftime.c (TYPE_SIGNED): Remove.
83770         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
83771         * lib/strtol.c: Adjust comments to match intprops.h.
83772         * lib/userspec.c: Include intprops.h.
83773         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
83774         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
83775         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
83776         instead of rolling our own expressions.
83777         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
83778
83779         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
83780         instead of int.
83781         (my_strftime): Do not mishandle years close to INT_MAX, by doing
83782         the right thing even if adding 1900 would overflow.  Similarly
83783         for tm_mon + 1 and tm_yday + 1.
83784         Make %Y always equivalent to %C%y, and similarly for %G and %g.
83785         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
83786         (DO_SIGNED_NUMBER): New macro.
83787         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
83788
83789 2005-03-07  Bruno Haible  <bruno@clisp.org>
83790
83791         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
83792
83793 2005-03-07  Bruno Haible  <bruno@clisp.org>
83794
83795         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
83796
83797 2005-03-04  Derek R. Price  <derek@ximbiot.com>
83798
83799         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
83800         (func_import): Only replace files via --import when they have actually
83801         changed.
83802
83803 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83804
83805         * m4/mmap-anon.m4: New file.
83806         * m4/pagealign_alloc.m4: New file.
83807
83808 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83809             Bruno Haible  <bruno@clisp.org>
83810
83811         * modules/pagealign_alloc: New file.
83812         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
83813
83814 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83815             Bruno Haible  <bruno@clisp.org>
83816
83817         * lib/pagealign_alloc.h: New file.
83818         * lib/pagealign_alloc.c: New file.
83819
83820 2005-03-03  Bruno Haible  <bruno@clisp.org>
83821
83822         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
83823         Use an all-permissive copyright notice, recommended by RMS.
83824
83825 2005-03-02  Bruno Haible  <bruno@clisp.org>
83826
83827         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
83828         of AIX, the replacement has to be done only after <string.h> is
83829         included, therefore not in config.h. stpncpy.h does the replacement,
83830         and stpncpy.c uses it.
83831
83832 2005-03-02  Bruno Haible  <bruno@clisp.org>
83833
83834         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
83835         stpncpy.c uses it.
83836
83837 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83838
83839         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
83840         The workaround isn't strictly needed for POSIX conformance, and
83841         it's too much of a pain to configure and maintain.  We'll ask
83842         people to fix their kernels instead.
83843         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
83844         (NANOSLEEP_BUG_WORKAROUND): Remove.
83845         (xnanosleep): Remove the workaround.
83846
83847 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83848
83849         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
83850         Reported by Derek Price.
83851         (Include): Add "timespec.h".
83852
83853         * modules/xnanosleep (Depends-on): Remove gethrxtime.
83854
83855 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83856
83857         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
83858         to detect nanosleep bug.
83859
83860 2005-03-01  Bruno Haible  <bruno@clisp.org>
83861
83862         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
83863
83864 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
83865
83866         * modules/gethrxtime: New file.
83867         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
83868         (Depends-on): Add gethrxtime.
83869         (configure.ac): Add gl_XNANOSLEEP.
83870         (Makefile.am): Remove lib_SOURCES line.
83871
83872 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83873
83874         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
83875         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
83876
83877 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83878
83879         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
83880         * lib/timespec.h (gettime): Return void, since it always
83881         succeeds now.  All uses changed.
83882         * lib/gettime.c (gettime): Likewise.
83883         [HAVE_NANOTIME]: Prefer nanotime.
83884         Assume gettimeofday succeeds, as POSIX requires.
83885         Assime time () succeeds, since other code already does.
83886         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
83887         (timespec_subtract): Remove.
83888         (NANOSLEEP_BUG_WORKAROUND): New constant.
83889         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
83890         things considerably.  Use it only on GNU/Linux hosts, since the
83891         workaround shouldn't be needed elsewhere.
83892
83893 2005-02-24  Bruno Haible  <bruno@clisp.org>
83894
83895         * modules/gettext (Files): Add m4/glibc2.m4.
83896
83897 2005-02-24  Bruno Haible  <bruno@clisp.org>
83898
83899         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
83900         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
83901         * m4/progtest.m4:
83902         Update from GNU gettext 0.14.2.
83903         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
83904
83905 2005-02-24  Bruno Haible  <bruno@clisp.org>
83906
83907         * lib/localcharset.c: Update from GNU gettext 0.14.2.
83908         * lib/config.charset: Update from GNU gettext 0.14.2.
83909
83910 2005-02-24  Bruno Haible  <bruno@clisp.org>
83911
83912         * lib/gettext.h: Update from GNU gettext 0.14.2.
83913
83914 2005-02-23  Simon Josefsson  <jas@extundo.com>
83915
83916         * m4/iconvme.m4: New file.
83917
83918 2005-02-23  Jim Meyering  <jim@meyering.net>
83919
83920         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
83921         change.
83922         Thanks to Bruno Haible for catching it.
83923
83924 2005-02-22  Simon Josefsson  <jas@extundo.com>
83925
83926         * modules/iconvme: New file.
83927
83928         * MODULES.html.sh: Add iconvme.
83929
83930 2005-02-22  Simon Josefsson  <jas@extundo.com>
83931
83932         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
83933
83934 2005-02-22  Simon Josefsson  <jas@extundo.com>
83935
83936         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
83937
83938 2005-02-22  Jim Meyering  <jim@meyering.net>
83939
83940         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
83941         s/ifndef/ifdef/.
83942
83943 2005-02-20  Neil Conway  <neilc@samurai.com>
83944
83945         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
83946         returned by OSX/Darwin if the specified buffer is not large
83947         enough for the hostname.
83948
83949 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83950
83951         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
83952         pass it to _help, otherwise the latter coredumps trying to
83953         dereference state.root_argp.
83954
83955 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83956
83957         * modules/chdir-long (Depends-on): Add memrchr.
83958         * modules/memrchr (Files): Add lib/memrchr.h.
83959         (Include): "memrchr.h".
83960
83961 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83962
83963         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
83964
83965 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83966
83967         * lib/memrchr.h: New file.
83968         * lib/chdir-long.c: Include it.
83969         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
83970         Don't bother including stddef.h.
83971
83972 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
83973
83974         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
83975         inclusion.
83976         Include <sys/types.h>, for dev_t.
83977         (ME_DUMMY, ME_REMOTE): Move from here....
83978         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
83979         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
83980         Dmitry V. Levin.
83981         Include mountlist.h first, to test the interface.
83982
83983 2005-01-29  Bruno Haible  <bruno@clisp.org>
83984
83985         * lib/progname.c (program_name): Initialize.
83986         Needed when linking statically on MacOS X.
83987
83988 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83989
83990         Sync from coreutils.
83991         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
83992         (Depends-on): Add c-strtod.
83993         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
83994
83995 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83996
83997         Sync from coreutils.
83998         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
83999
84000         Remove files that are specific to coreutils.
84001         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
84002
84003 2005-01-28  Bruno Haible  <bruno@clisp.org>
84004
84005         * modules/javacomp: New file.
84006         * MODULES.html.sh (Java): Add javacomp.
84007
84008 2005-01-28  Bruno Haible  <bruno@clisp.org>
84009
84010         * m4/javacomp.m4: New file, from GNU gettext.
84011
84012 2005-01-28  Bruno Haible  <bruno@clisp.org>
84013
84014         * lib/javacomp.sh.in: New file, from GNU gettext.
84015         * lib/javacomp.h: New file, from GNU gettext.
84016         * lib/javacomp.c: New file, from GNU gettext.
84017
84018 2005-01-26  Simon Josefsson  <jas@extundo.com>
84019
84020         * lib/gai_strerror.c: Use GPL in header.
84021
84022 2005-01-26  Bruno Haible  <bruno@clisp.org>
84023
84024         * modules/javaexec: New file.
84025         * MODULES.html.sh (Java): Add javaexec.
84026
84027 2005-01-26  Bruno Haible  <bruno@clisp.org>
84028
84029         * m4/javaexec.m4: New file, from GNU gettext.
84030
84031 2005-01-26  Bruno Haible  <bruno@clisp.org>
84032
84033         * lib/javaexec.sh.in: New file, from GNU gettext.
84034         * lib/javaexec.h: New file, from GNU gettext.
84035         * lib/javaexec.c: New file, from GNU gettext.
84036
84037 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84038
84039         * modules/lchown (Depends-on): Remove lchown.h
84040
84041 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84042
84043         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
84044         must be defined if the header file was not found, in order
84045         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
84046
84047 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84048
84049         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
84050         initializers for struct pentry_state.
84051         (__argp_error): Check return value of __asprintf
84052         (__argp_failure): Translate error message
84053
84054         * lib/argp-parse.c: Removed braces around the expansion of N_()
84055
84056 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
84057
84058         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
84059         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
84060         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
84061         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
84062         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
84063         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
84064         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
84065         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
84066         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
84067         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
84068         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
84069         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
84070         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
84071         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
84072         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
84073         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
84074         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
84075         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
84076         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
84077         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
84078         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
84079         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
84080         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
84081         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
84082         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
84083         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
84084         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
84085         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
84086         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
84087         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
84088         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
84089         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
84090         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
84091         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
84092         xstrtol.m4, xstrtoumax.m4, yesno.m4:
84093         Use an all-permissive copyright notice, recommended by RMS.
84094
84095 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
84096
84097         * modules/chdir-long (Depends-on): Remove mempcpy.
84098
84099 2005-01-21  Jim Meyering  <jim@meyering.net>
84100
84101         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
84102         same value as for Solaris 9.
84103
84104         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
84105         component length.  This included changing the parameter to be
84106         of type `char *' rather than `char const *'.
84107         * lib/chdir-long.h (chdir_long): Update prototype.
84108
84109         * lib/openat.c (fdopendir, fstatat): New functions.
84110         * lib/openat.h: Include headers required for use of DIR and struct
84111         stat.
84112         [AT_SYMLINK_NOFOLLOW]: Define.
84113         (fdopendir, fstatat): Add prototypes.
84114
84115 2005-01-21  Bruno Haible  <bruno@clisp.org>
84116
84117         * modules/classpath: New file.
84118         * MODULES.html.sh (Java): Add classpath.
84119
84120 2005-01-21  Bruno Haible  <bruno@clisp.org>
84121
84122         * lib/classpath.h: New file, from GNU gettext.
84123         * lib/classpath.c: New file, from GNU gettext.
84124
84125 2005-01-20  Simon Josefsson  <jas@extundo.com>
84126
84127         * modules/version-etc-fsf: New file.
84128
84129 2005-01-20  Simon Josefsson  <jas@extundo.com>
84130
84131         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
84132         * lib/version-etc.c: Remove version_etc_copyright.
84133         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
84134         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
84135
84136 2005-01-20  Simon Josefsson  <jas@extundo.com>
84137
84138         * lib/base64.h (isbase64): Add.
84139
84140         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
84141         using a unsigned prototype, don't inline.
84142         (base64_decode): Use it.
84143
84144 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84145
84146         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
84147         it.
84148
84149 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84150
84151         * lib/save-cwd.c (save_cwd): Remove code to support the case
84152         where fchdir is missing or flaky.
84153
84154 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84155
84156         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
84157
84158 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
84159
84160         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
84161         AC_LIBSOURCES now does this.
84162         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
84163         with new ullong_max module.
84164
84165 2005-01-19  Bruno Haible  <bruno@clisp.org>
84166
84167         * modules/sh-quote: New file.
84168         * MODULES.html.sh (Executing programs): Add sh-quote.
84169
84170 2005-01-19  Bruno Haible  <bruno@clisp.org>
84171
84172         * lib/sh-quote.h: New file, from GNU gettext.
84173         * lib/sh-quote.c: New file, from GNU gettext.
84174
84175 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84176
84177         Merge from coreutils.
84178         * m4/ullong_max.m4: New file.
84179         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
84180         (gl_MACROS): Assume localeconv exists.
84181
84182 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84183
84184         Merge changes from coreutils, as described below in several
84185         changelogs dated today.
84186
84187         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
84188         (O_DIRECTORY): Remove; not needed here, since "." must be
84189         a directory.  All uses removed.
84190         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
84191         universal on Suns, and we also need to test for IRIX.
84192         Revamp code to use 'if' rather than '#if'.
84193         Avoid unnecessary comparison of cwd->desc to 0.
84194
84195         * lib/utimens.c (futimens): Robustify the previous patch, by checking
84196         for known valid error numbers rather than observed invalid ones.
84197
84198 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84199
84200         * modules/ullong_max: New file.
84201
84202         * modules/chdir-long, modules/openat: New files.
84203         * modules/save-cwd (Depends-on): Depend on chdir-long.
84204         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
84205
84206 2005-01-18  Jim Meyering  <jim@meyering.net>
84207
84208         Merge from coreutils.
84209         * m4/chdir-long.m4, m4/openat.m4: New files.
84210         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
84211         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
84212         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
84213         is sane and DOES follow symlinks.  Besides, testing 20 different
84214         systems found no broken chown implementations.
84215         Prompted by a change in rsync's copy of this macro.
84216         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
84217
84218         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
84219
84220         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
84221         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
84222         NULL-means-set-to-current-time semantics.
84223         Remove temporary file immediately, rather than waiting
84224         for configure's at-exit trap code to do it.
84225
84226 2005-01-18  Jim Meyering  <jim@meyering.net>
84227
84228         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84229
84230         * lib/utimens.c (futimens): Account for the fact that futimes
84231         can also fail with errno == ENOSYS or errno == ENOENT.
84232         Patch from Dmitry V. Levin.
84233
84234         Change the name of the robust chdir function from chdir to chdir_long.
84235         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
84236         (restore_cwd): Use chdir_long, not chdir.
84237         * lib/chdir-long.c: Renamed from chdir.c.
84238         * lib/chdir-long.h: Renamed from chdir.h.
84239         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
84240         Hurd.
84241
84242 2005-01-18  Bruno Haible  <bruno@clisp.org>
84243
84244         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
84245         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
84246         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
84247         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
84248         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
84249         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
84250         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
84251         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
84252         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
84253         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
84254         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
84255         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
84256         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
84257         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
84258         Use an all-permissive copyright notice, recommended by RMS.
84259
84260 2005-01-18  Bob Proulx  <bob@proulx.com>
84261
84262         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
84263         simplify offsetof() macro construct to avoid compile failure with
84264         native HP-UX 11.0 ANSI C compiler.
84265
84266 2005-01-17  Bruno Haible  <bruno@clisp.org>
84267
84268         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
84269         redundant because stpncpy.m4 takes care of it.
84270
84271 2005-01-17  Bruno Haible  <bruno@clisp.org>
84272
84273         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
84274
84275 2005-01-17  Bruno Haible  <bruno@clisp.org>
84276
84277         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
84278         used.
84279
84280 2005-01-17  Bruno Haible  <bruno@clisp.org>
84281
84282         * lib/fwriteerror.h (fwriteerror): Change specification to include
84283         fclose.
84284         * lib/fwriteerror.c: Include <stdbool.h>.
84285         (fwriteerror): At the end, close the file stream. Record whether
84286         stdout was already closed.
84287
84288 2005-01-17  Bruno Haible  <bruno@clisp.org>
84289
84290         * lib/execute.c (environ): Declare if needed.
84291         * lib/pipe.c (environ): Likewise.
84292         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
84293
84294 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84295
84296         * modules/argp: Depend on vsnprintf
84297
84298 2005-01-10  Jim Meyering  <jim@meyering.net>
84299
84300         * modules/closeout (Depends-on): Add atexit.
84301
84302 2005-01-06  Bruno Haible  <bruno@clisp.org>
84303
84304         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
84305
84306 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
84307
84308         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
84309         definitions to be after all include files, to avoid collisions.
84310         Problem reported by Bob Proulx.
84311
84312 2005-01-04  Jim Meyering  <jim@meyering.net>
84313
84314         Changes imported from coreutils.
84315         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
84316         as the mkstemp template, use a temporary directory and an
84317         8.3-friendly template to avoid trouble on systems like DJGPP.
84318         Reported by Juan M. Guerrero via Stepan Kasal.
84319         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
84320         close. Remove the temporary directory right away, rather than waiting
84321         for configure's at-exit trap code to do it.
84322         Suggestion from Stepan Kasal.
84323
84324 2005-01-01  Simon Josefsson  <jas@extundo.com>
84325
84326         * gnulib-tool: Print #include directives when --import'ing.
84327
84328 2004-12-28  Simon Josefsson  <jas@extundo.com>
84329
84330         * tests/test-base64.c: Include required header files.  Remove
84331         unused variables.
84332
84333 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84334
84335         * modules/error (Depends-on): Remove gettext.
84336
84337 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84338
84339         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
84340         not needed.  This removes a dependency on the gettext module.
84341         [defined _LIBC]: Do not include <libintl.h>; not needed.
84342
84343 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84344
84345         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
84346         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
84347
84348 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84349
84350         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
84351         HAVE_DECL_STRTOLD.
84352
84353 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84354
84355         * modules/getdate (Depends-on): Remove alloca-opt.
84356
84357 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84358
84359         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
84360
84361 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84362
84363         * lib/argp-parse.c: Include <stddef.h>.
84364         (alignof, alignto): New macros.
84365         (parser_init): Don't assume that void * is aligned sufficiently
84366         for struct option.
84367
84368         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
84369         need to extend the stack.
84370         (YYINITDEPTH): New macro, so that the initial stack isn't overly
84371         large.
84372
84373 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84374
84375         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
84376
84377 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84378
84379         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
84380         (2004-10-24) change.  Apparently this was a false alarm.
84381
84382         * modules/getdate: Depend on alloca-opt, not alloca.
84383
84384 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84385
84386         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
84387         Remove now-obsolete comment about AIX.
84388         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
84389         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
84390         (YYMAXDEPTH): New macro.
84391
84392 2004-12-18  Simon Josefsson  <jas@extundo.com>
84393
84394         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
84395
84396 2004-12-18  Bruno Haible  <bruno@clisp.org>
84397
84398         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
84399
84400 2004-12-18  Bruno Haible  <bruno@clisp.org>
84401
84402         * lib/fatal-signal.c (fatal_signals): Make non-const.
84403         (init_fatal_signals): New function.
84404         (uninstall_handlers, install_handlers): Ignore signals that were set to
84405         SIG_IGN.
84406         (at_fatal_signal): Call init_fatal_signals.
84407         (init_fatal_signal_set): Likewise. Ignore signals that were set to
84408         SIG_IGN.
84409         Reported by Paul Eggert.
84410
84411 2004-12-18  Bruno Haible  <bruno@clisp.org>
84412
84413         * doc/alloca.texi: New file.
84414         * doc/alloca-opt.texi: New file.
84415
84416 2004-12-17  Jim Meyering  <jim@meyering.net>
84417
84418         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
84419         Otherwise, install-sh could exit with improper exit status when
84420         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
84421
84422 2004-12-16  Simon Josefsson  <jas@extundo.com>
84423
84424         * tests/test-base64.c: Add license.
84425
84426 2004-12-15  Stepan Kasal  <address@hidden>
84427
84428         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
84429
84430 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
84431
84432         * modules/getcwd (Files): Add m4/d-ino.m4.
84433         Suggested by Mark D. Baushke.
84434
84435 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84436
84437         * lib/getdate.y (textint): New member "negative".
84438         (time_zone_hhmm): New function.
84439         Expect 14 shift-reduce conflicts, not 13.
84440         (o_colon_minutes): New rule.
84441         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
84442         (yylex): Set the "negative" member of signed numbers.
84443
84444 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84445
84446         * doc/getdate.texi (Time of day items, Time zone items):
84447         Describe new formats +00:00, UTC+00:00.
84448
84449 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
84450
84451         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
84452         spurious "-l"s.  Problem reported by Stepan Kasal.
84453
84454 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
84455
84456         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
84457         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
84458
84459 2004-12-04  Simon Josefsson  <jas@extundo.com>
84460
84461         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
84462         Vandoorselaere <yoann@prelude-ids.org>.
84463
84464 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84465
84466         Changes imported from coreutils.
84467         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
84468         exist.
84469         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
84470
84471 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84472
84473         Changes imported from coreutils.
84474         * lib/hard-locale.c: Assume <locale.h> exists.
84475         Include "strdup.h".
84476         (GLIBC_VERSION): New macro.
84477         (hard_locale): Assume setlocale exists.
84478         Rewrite to avoid #ifdef.
84479         Use strdup rather than malloc + strcpy.
84480         * lib/human.c: Assume <locale.h> exists.
84481         (human_readable): Assume localeconv exists.
84482
84483 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84484
84485         * modules/hard-locale (Depends-on): Add strdup.
84486
84487 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
84488
84489         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
84490         convert T2, not T.  (Imported from libc.)
84491
84492 2004-11-30  Simon Josefsson  <jas@extundo.com>
84493
84494         * modules/restrict (License): Change to LGPL.
84495
84496 2004-11-30  Simon Josefsson  <jas@extundo.com>
84497
84498         * m4/restrict.m4: Add copyright and copying conditions.
84499
84500 2004-11-30  Simon Josefsson  <jas@extundo.com>
84501
84502         * m4/base64.m4: New file.
84503
84504 2004-11-30  Simon Josefsson  <jas@extundo.com>
84505
84506         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
84507         base64.
84508
84509         * tests/test-base64.c: New file.
84510
84511         * modules/base64: New file.
84512
84513 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
84514
84515         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
84516         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
84517
84518         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
84519
84520 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
84521
84522         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
84523         (__getcwd.c): Don't restore errno; glibc doesn't.
84524         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
84525         first, falling back to our code only if its results look suspicious.
84526         Ensure that the resulting buffer is only as large as necessary.
84527
84528         * lib/readutmp.c: Include readutmp.h first.
84529         Include <errno.h>, since readutmp.h no longer does that.
84530         * lib/readutmp.h: Don't include <errno.h>,
84531         <sys/param.h>, <time.h>; not needed to establish interface.
84532         (errno): Remove decl.
84533         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
84534         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
84535         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
84536
84537 2004-11-28  Simon Josefsson  <jas@extundo.com>
84538
84539         * lib/base64.h, base64.c: New file.
84540
84541 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
84542
84543         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
84544
84545 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
84546
84547         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
84548         (Depends-on): Remove pathmax, same.  Add mempcpy.
84549         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
84550         (Makefile.am): Append getcwd.h to lib_SOURCES.
84551         (Include): Add getcwd.h.
84552         (Maintainer): Change from Jim Meyering to "all, glibc",
84553         since getdate now uses intended-for-glibc code.
84554         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
84555         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
84556
84557 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84558
84559         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
84560         HP's ANSI C compiler.
84561         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
84562         Declaring int functions causes warnings on some modern systems and
84563         shouldn't be needed to compile on ancient ones.
84564         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
84565         defined.
84566
84567         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
84568         with the following changes.
84569         (__set_errno): Parenthesize properly.
84570         Include <stdbool.h>.
84571         (MIN, MAX, MATCHING_INO): New macros.
84572         (__getcwd): Define with prototype, not K&R form.
84573         Use heuristics to allocate default buffer on stack if possible.
84574         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
84575         behavior, and to avoid the PATH_MAX limit when computing
84576         ../../../../...
84577         Use MATCHING_INO to compare inode number to file.
84578         Check for arithmetic overflow in size calculations.
84579         Fix bug in reallocation of dot array that caused getcwd to fail
84580         on directories nested deeper than 75.
84581         Be more careful about saving errno on error.
84582         Do not use realloc; use only free+malloc, as this is a bit
84583         more flexible and avoids a needless copy operation.
84584         Do not inspect st_dev and st_ino for symbolic links; POSIX
84585         doesn't specify the latter.
84586         Check for closedir errors.
84587         Avoid needless casts.
84588         Use "#ifdef weak_alias" around weak_alias, to be like other
84589         glibc code.
84590         The following changes to getcwd.c have effect only when used in
84591         gnulib; they have no effect inside glibc proper.
84592         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
84593         as alloca isn't used.
84594         (alloca, __alloca): Likewise.
84595         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
84596         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
84597         unconditionally, as gnulib assumes C89 or better.
84598         Do not include <sys/param.h>.
84599         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
84600         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
84601         better.
84602         (NULL) [!defined NULL]: Remove; we assume C89 or better.
84603         Include <dirent.h> in a way that is compatible with modern Autoconf.
84604         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
84605         New macros, if not already defined.
84606         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
84607         Use "_LIBC", not "defined _LIBC", for consistency.
84608         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
84609         a mempcpy module.
84610         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
84611         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
84612         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
84613         credit only to Jim Meyering and adjust the copyright dates.
84614         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
84615         <stdlib.h>, <unistd.h>, "pathmax.h".
84616         Instead, include "xgetcwd.h" (first) and "getcwd.h".
84617         (INITIAL_BUFFER_SIZE): Remove.
84618         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
84619
84620 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84621
84622         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
84623         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
84624         Use the _ONCE methods, for efficiency.
84625         Check for fcntl.h.  In test program, include <errno.h>
84626         and <fcntl.h> if available.  Remove old K&R cruft from
84627         test program.  Check for common errors in GNU/Linux,
84628         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
84629         don't do AC_LIBOBJ, as that's getcwd.m4's job.
84630         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
84631         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
84632         name accordingly.
84633         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
84634         accommodate new getcwd.c.
84635         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
84636         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
84637         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
84638         that's all we need now.
84639
84640 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84641
84642         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
84643         argp-parse.c depends on getopt internals, that means we should
84644         always use our getopt, to be on the safe side.
84645         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
84646         order not to spoil the result of an eventual previous invocation
84647         of gl_GETOPT_SUBSTITUTE.
84648
84649 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84650
84651         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
84652         redefinition warnings. To avoid them, include the defines
84653         in `#if !defined __need_getopt ... #endif'. The only place
84654         where __getopt_argv_const is used is in definitions
84655         of getopt_long and getopt_long_only below, which are as well
84656         protected by `#ifndef __need_getopt'.
84657         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
84658         __need_getopt after including <stdio.h> and <unistd.h> These
84659         headers might have defined it.
84660
84661 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84662
84663         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
84664
84665 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84666
84667         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
84668         (futimens): New function, which uses futimes if available.
84669         (futimens, utimens): Support timespec==NULL, with same semantics
84670         as utime and utimens.
84671         * lib/utimens.h (futimens): New decl.
84672
84673 2004-11-23  Jim Meyering  <jim@meyering.net>
84674
84675         * lib/getopt_.h: Remove trailing blanks.
84676
84677 2004-11-23  Jim Meyering  <jim@meyering.net>
84678
84679         * lib/__fpending.c: Add comment.
84680
84681 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
84682
84683         * modules/canonicalize (Depends-on): Add xreadlink.
84684         Problem reported by James Youngman.
84685
84686 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
84687
84688         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
84689         New macros.
84690         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
84691         optopt): Use them instead of invoking ## directly; otherwise, the
84692         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
84693
84694 2004-11-19  Bruno Haible  <bruno@clisp.org>
84695
84696         * lib/strtok_r.c: Move comments from here...
84697         * lib/strtok_r.h: ... to here.
84698
84699 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84700
84701         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
84702         implementations that mishandle size_t overflow.
84703
84704 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84705
84706         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
84707         might fail.  Problem reported by Yoann Vandoorselaere.
84708         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
84709         implementations that mishandle size_t overflow.
84710
84711 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84712
84713         * modules/canon-host (Depends-on): Add strdup.
84714
84715 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84716
84717         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
84718
84719 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84720
84721         * lib/canon-host.c: Include "strdup.h".
84722         (canon_host): Use getaddrinfo if available, so that IPv6 works.
84723         Use strdup instead of malloc/strcpy to duplicate strings.
84724
84725         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
84726         (human_space_before_unit): New constant.
84727         * lib/human.c (human_readable): Support it.
84728
84729         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
84730         (xgetcwd): Set errno correctly when failing.
84731         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
84732         the failure is actually due to a PATH_MAX problem.
84733
84734         Further getopt changes to make it more likely that glibc will
84735         buy the changes back.
84736         * lib/getopt.c (POSIXLY_CORRECT): New constant.
84737         (getopt): Use it, so to preserve glibc semantic
84738         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
84739         when compiling for libc.
84740         * lib/getopt_.h (__getopt_argv_const): Bring it back.
84741         (getopt_long, getopt_long_only): Use it.
84742
84743         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84744         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
84745         (getopt): Argv is now char * const *, as per standard.
84746         (_getopt_internal_r, _getopt_internal): Argv is now char **,
84747         not char *__getopt_argv_const *.
84748         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84749         _getopt_long_only_r): Likewise.
84750         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
84751         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84752         _getopt_long_r, _getopt_long_only_r): Likewise.
84753         * lib/getopt_.h (__getopt_argv_const): Remove.
84754         (getopt): Argv is now char * const *, as per standard.
84755
84756         * lib/getdate.y (tORDINAL): New token.
84757         (day, relunit): Allow it for relative times.
84758         (relative_time_table): Use tORDINAL for ordinals.
84759
84760 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84761
84762         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
84763         Document that "second" isn't allowed as an ordinal number.
84764
84765 2004-11-16  Jim Meyering  <jim@meyering.net>
84766
84767         * modules/closeout (Depends-on): Add fpending.
84768
84769 2004-11-15  Jim Meyering  <jim@meyering.net>
84770
84771         * lib/closeout.c: Include "__fpending.h" once again.
84772         Include <stdbool.h>.
84773         (close_stdout): Don't fail just because stdout was closed initially,
84774         since some programs don't write to stdout in the normal course of
84775         operation (other than --version and --help), and we don't want this
84776         function to make e.g. `touch file >&-' fail.
84777         But do fail if it was closed and someone has tried to write to it.
84778         E.g., `printf foo >&-' must fail.
84779
84780 2004-11-13  Jim Meyering  <jim@meyering.net>
84781
84782         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
84783
84784 2004-11-12  Simon Josefsson  <jas@extundo.com>
84785
84786         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
84787         small doc fix is still pending.
84788
84789 2004-11-11  Simon Josefsson  <jas@extundo.com>
84790
84791         * modules/strtok_r: New file.
84792
84793         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84794         strtok_r.
84795
84796 2004-11-11  Simon Josefsson  <jas@extundo.com>
84797
84798         * m4/strtok_r.m4: New file.
84799
84800         * m4/getopt.m4: Replace opterr.
84801
84802 2004-11-11  Simon Josefsson  <jas@extundo.com>
84803
84804         * lib/strtok_r.h, strtok_r.c: New file.
84805
84806 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84807
84808         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
84809         of replacing opterr, getopt, etc.  This should handle the
84810         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
84811
84812 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84813
84814         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
84815         we can stop lying to compilers about the constness of argv when we
84816         are compiled outside glibc.
84817         (getopt, getopt_long, getopt_long_only): Use it.
84818         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84819         _getopt_internal, getopt): Likewise.
84820         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84821         _getopt_long_only_r): Likewise.
84822         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84823         _getopt_long_r, _getopt_long_only_r): Likewise.
84824
84825         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
84826         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
84827         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
84828         the other external symbols.
84829         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
84830         declaration, since the above renaming now works around collisions.
84831
84832 2004-11-11  Jim Meyering  <jim@meyering.net>
84833
84834         * lib/linebreak.c: Remove trailing blanks.
84835         * lib/alloca_.h: Likewise.
84836         * lib/acosl.c: Likewise.
84837         * lib/euidaccess.c: Likewise.
84838         * lib/allocsa.h: Likewise.
84839
84840 2004-11-10  Simon Josefsson  <jas@extundo.com>
84841
84842         * m4/getaddrinfo.m4: New file.
84843
84844 2004-11-10  Simon Josefsson  <jas@extundo.com>
84845
84846         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
84847
84848 2004-11-10  Simon Josefsson  <jas@extundo.com>
84849
84850         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84851         getaddrinfo.
84852
84853         * modules/getaddrinfo: New file.
84854
84855 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84856
84857         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
84858
84859 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84860
84861         * lib/mktime.c (SHR): New macro, which is a portable
84862         substitute for >> that should work even on Crays.
84863         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
84864         Problem reported by Mark D. Baushke in
84865         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
84866         * lib/getdate.y (SHR): Likewise.
84867         (tm_diff): Use it.
84868         * lib/strftime.c (SHR): Likewise.
84869         (tm_diff): Use it.
84870         * lib/quotearg.c (struct quoting_options): Use unsigned int for
84871         quote_these_too, so that right shifts are well defined.  All uses
84872         changed.
84873
84874 2004-11-10  Jim Meyering  <jim@meyering.net>
84875
84876         Ensure that no close failure goes unreported.
84877         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
84878         return early when it seems there's nothing to flush.
84879         Don't include __fpending.h.
84880
84881 2004-11-10  Jim Meyering  <jim@meyering.net>
84882
84883         * modules/closeout (Depends-on): Remove fpending.
84884
84885 2004-11-10  Jim Meyering  <jim@meyering.net>
84886
84887         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
84888
84889 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84890
84891         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
84892         gl_FUNC_STRFTIME.
84893         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
84894         and AC_REQUIRE when possible, to avoid duplicate checks.
84895         Check for <wchar.h>.
84896
84897 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84898
84899         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
84900
84901 2004-11-09  Bruno Haible  <bruno@clisp.org>
84902
84903         * m4/sockpfaf.m4: New file.
84904
84905 2004-11-05  Bruno Haible  <bruno@clisp.org>
84906
84907         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
84908         Reported by Mark D. Baushke <mdb@cvshome.org>.
84909
84910 2004-11-04  Bruno Haible  <bruno@clisp.org>
84911
84912         2004-09-11  Bruno Haible  <bruno@clisp.org>
84913                 * allocsa.valgrind: New file.
84914         2004-02-06  Bruno Haible  <bruno@clisp.org>
84915                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
84916                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
84917                 Reported by Christopher Seip <chris.seip@hp.com>.
84918
84919 2004-11-04  Bruno Haible  <bruno@clisp.org>
84920
84921         * modules/allocsa (Files): Add lib/allocsa.valgrind.
84922         (Makefile.am): Distribute it.
84923
84924 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
84925
84926         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
84927         with errno == ERANGE if the buffer is too small.
84928         Problem reported by Mark D. Baushke.
84929
84930 2004-11-03  Albert Chin  <china@thewrittenword.com>
84931             Paul Eggert  <eggert@cs.ucla.edu>
84932
84933         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
84934         equivalent, substitute $ac_type for equivalent type rather than
84935         blindly using uint32_t *always* which won't work if uint32_t is not
84936         available.  Define _UINT32_T to work around typedef of uint32_t if
84937         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
84938         2.5.1.
84939
84940 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84941
84942         * m4/jm-macros.m4: Sync from coreutils.
84943         (gl_MACROS): Check for mbrlen, for pathchk.
84944         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
84945
84946 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84947
84948         * lib/xreadlink.c (MAXSIZE): New macro.
84949         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
84950         size does not exceed MAXSIZE.  Avoid cast.
84951         As suggested by Mark D. Baushke in
84952         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
84953         if readlink fails with buffer size just under MAXSIZE, try again
84954         with MAXSIZE.
84955
84956 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84957
84958         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
84959
84960 2004-11-02  Derek R. Price  <derek@ximbiot.com>
84961         and  Paul Eggert  <eggert@cs.ucla.edu>
84962
84963         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
84964         (get_date): Overparenthesize to avoid GCC warning.
84965
84966 2004-11-02  Bruno Haible  <bruno@clisp.org>
84967
84968         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
84969         returns void.
84970
84971 2004-11-02  Bruno Haible  <bruno@clisp.org>
84972
84973         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
84974         function returns void.
84975
84976 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84977
84978         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
84979         fflush_unlocked, flockfile, funlockfile, funlockfile,
84980         fputs_unlocked, putc_unlocked.
84981
84982 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84983
84984         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
84985         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
84986         already declared.
84987
84988 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84989
84990         * modules/getdate (Files): Add doc/getdate.texi.
84991         (Depends-on): Add setenv, xalloc.
84992
84993 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84994
84995         * lib/getdate.y: Add support for TZ="foo" within a date string.
84996         Fix some bugs near time_t boundaries.  Reject dates with
84997         out-of-range components, e.g., "Sept 31".
84998         Include <stdlib.h>, "setenv.h", "xalloc.h".
84999         (ISDIGIT_LOCALE): Remove; unused.
85000         Note that the TZ and time functions used here are not reentrant.
85001         (mktime_ok, get_tz): New functions.
85002         (TZBUFSIZE): New constant.
85003         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
85004         This requires that we sometimes generate our own TZ="XXX..." setting.
85005
85006 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85007
85008         * doc/getdate.texi: New file, from coreutils with modifications for
85009         the new TZ parsing.
85010
85011 2004-10-27  Derek R. Price  <derek@ximbiot.com>
85012
85013         * lib/mktime.c (not_equal_tm): Remove redundant check.
85014
85015 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85016
85017         * modules/regex (lib_SOURCES): Add regex.c.
85018         Reported by James Youngman in
85019         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
85020
85021 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85022
85023         * lib/getdate.y: Use Bison 1.875 features, and some minor
85024         code cleanups.  This change does not affect semantics.
85025         Don't include <stdlib.h>; no longer needed.
85026         Don't include unlocked-io.h; only the "#if TEST" code uses
85027         stdio, and performance isn't crucial there.
85028         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
85029         Bison 1.875 features as described below.
85030         All uses of "PC." replaced by "pc->".
85031         (YYSTYPE): Add a forward declaration.
85032         (yylex, yyerror): Use full prototypes in forward decls.
85033         Use "%pure-parser" rather than obsolescent "%pure_parser".
85034         Use %parse-param and %lex-param instead of obsolescent
85035         YYPARSE_PARAM and YYLEX_PARAM.
85036         (meridian_table, month_and_day_table, time_units_table,
85037         relative_time_table, time_zone_table, military_table,
85038         lookup_zone, lookup_word, get_date):
85039         Use NULL instead of 0 where appropriate.
85040         (to_hour): Avoid abort (), to avoid a dependency on
85041         stdlib.h.
85042         (yyerror, yylex): Now accepts parser_control * arg.
85043         (main) [TEST]: Use '\0' rather than 0 for char.
85044
85045 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85046
85047         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
85048
85049 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85050
85051         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
85052         It's now the caller's responsibility to handle the case where
85053         !HAVE_GETPAGESIZE && !defined getpagesize.
85054
85055         * lib/mktime.c (leapyear): Arg is long int, not int.
85056
85057 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
85058
85059         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
85060
85061 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
85062
85063         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
85064         missing.  Problem reported by James Youngman.
85065
85066 2004-10-16  Simon Josefsson  <jas@extundo.com>
85067
85068         * gnulib-tool: Fix comments.  Fix parse problem.
85069         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
85070
85071 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
85072
85073         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
85074         implementation of getopt_long.  Problem reported by Alexander Taler in:
85075         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
85076
85077 2004-10-15  Bruno Haible  <bruno@clisp.org>
85078
85079         * gnulib-tool: Untabify. Initialize supplied_libname.
85080         (func_usage): More homogenous output.
85081         (func_modules_transitive_closure, func_modules_to_filelist,
85082         func_emit_lib_Makefile_am): New functions.
85083         (func_import): New function, extracted from big case statement. Use
85084         func_get_license, func_modules_transitive_closure,
85085         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
85086         opt_lgpl. Don't use test -a, as it's not portable.
85087         (func_create_testdir): Use func_modules_transitive_closure,
85088         func_modules_to_filelist, func_emit_lib_Makefile_am.
85089
85090 2004-10-15  Bruno Haible  <bruno@clisp.org>
85091
85092         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
85093
85094 2004-10-15  Bruno Haible  <bruno@clisp.org>
85095
85096         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
85097         the portions belonging to each module.
85098         Suggested by Derek Robert Price <derek@ximbiot.com>.
85099
85100 2004-10-12  Simon Josefsson  <jas@extundo.com>
85101
85102         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85103         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
85104         to real functions.
85105
85106 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85107
85108         * modules/vsnprintf: New file.
85109
85110 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85111
85112         * m4/vsnprintf.m4: New file.
85113
85114 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85115
85116         * lib/vsnprintf.h: New file.
85117         * lib/vsnprintf.c: New file.
85118
85119 2004-10-11  Bruno Haible  <bruno@clisp.org>
85120
85121         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
85122         vsnprintf.
85123
85124 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
85125
85126         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
85127
85128 2004-10-07  Bruno Haible  <bruno@clisp.org>
85129
85130         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
85131         fits into the provided buffer.
85132
85133 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
85134
85135         * lib/diacrit.c, diacrit.h: Add GPL notice.
85136
85137         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
85138         notice.
85139         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
85140         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
85141         This avoids a potential constant-folding bug.
85142
85143 2004-10-05  Bruno Haible  <bruno@clisp.org>
85144
85145         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
85146         for the declaration of strsep.
85147
85148 2004-10-05  Bruno Haible  <bruno@clisp.org>
85149
85150         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
85151
85152 2004-10-04  Simon Josefsson  <jas@extundo.com>
85153
85154         * modules/memmem: New file.
85155         * tests/test-memmem.c: New file.
85156         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
85157
85158 2004-10-04  Simon Josefsson  <jas@extundo.com>
85159
85160         * m4/memmem.m4: New file.
85161
85162 2004-10-04  Simon Josefsson  <jas@extundo.com>
85163
85164         * lib/memmem.h: New file.
85165         * lib/memmem.c: New file, taken from glibc.
85166
85167 2004-10-04  Simon Josefsson  <jas@extundo.com>
85168
85169         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
85170         '#ifdef USE_UNLOCKED_IO'.
85171
85172 2004-10-04  Simon Josefsson  <jas@extundo.com>
85173
85174         * config/srclist.txt: Add memmem from glibc.
85175
85176 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85177
85178         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
85179
85180         * modules/argmatch, modules/argp, modules/closeout, modules/error,
85181         modules/exclude, modules/getdate, modules/getline,
85182         modules/getndelim2, modules/getpass, modules/getpass-gnu,
85183         modules/getusershell, modules/linebuffer, modules/md5,
85184         modules/mountlist, modules/posixtm, modules/readtokens,
85185         modules/readutmp, modules/regex, modules/sha1,
85186         modules/version-etc, modules/yesno:
85187         Remove dependency on unlocked-io.
85188
85189 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85190
85191         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
85192
85193         * m4/unlocked-io.m4: Add copyright notice.
85194         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
85195
85196 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85197
85198         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
85199         * lib/xmalloc.c (xmemdup): Likewise.
85200         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
85201         XFREE): Remove these long-obsolescent macros.
85202         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
85203         * lib/xstrdup.c: Remove.
85204
85205         * lib/regex.c (re_comp): Cast gettext return value to char *,
85206         Problem reported by Martin Neitzel via Mark D. Baushke.
85207
85208 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85209
85210         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
85211         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
85212         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
85213         regex.c, sha1.c, version-etc.c, yesno.c:
85214         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
85215         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
85216         the includer's responsibility.
85217
85218         Sync from coreutils.
85219
85220         * lib/modechange.c (mode_compile): Don't decrement a pointer that
85221         points to the start of a string, as the C Standard says the
85222         resulting behavior is undefined.
85223
85224         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
85225         simple -> simple_backups, numbered_existing ->
85226         numbered_existing_backups, numbered -> numbered_backups
85227         to avoid shadowing problems.  All uses changed.
85228         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
85229         * lib/backupfile.c (check_extension, numbered_backup):
85230         Rename locals to avoid shadowing 'basename'.
85231         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
85232         once.
85233
85234         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
85235         * lib/.cvsignore: Add getopt.h.
85236
85237 2004-10-04  Bruno Haible  <bruno@clisp.org>
85238
85239         * modules/README: New file.
85240         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
85241         not a module.
85242
85243 2004-10-02  Jim Meyering  <jim@meyering.net>
85244
85245         * lib/dirfd.h, getpagesize.h: Add copyright notice.
85246
85247 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85248
85249         * modules/strsep: New file.
85250
85251 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85252
85253         * m4/strsep.m4: New file.
85254
85255 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85256
85257         * lib/strsep.h: New file.
85258         * lib/strsep.c: New file.
85259
85260 2004-10-01  Simon Josefsson  <jas@extundo.com>
85261
85262         * lib/snprintf.c (snprintf): Handle size==0.
85263
85264 2004-10-01  Simon Josefsson  <jas@extundo.com>
85265             Bruno Haible  <bruno@clisp.org>
85266
85267         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
85268         (snprintf): Declare 'args'.
85269
85270 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
85271
85272         * lib/snprintf.c: Remove comments as to why each header is needed.
85273
85274 2004-10-01  Bruno Haible  <bruno@clisp.org>
85275
85276         * MODULES.html.sh: Add strsep.
85277
85278 2004-09-30  Simon Josefsson  <jas@extundo.com>
85279
85280         * modules/snprintf: New file.
85281
85282 2004-09-30  Simon Josefsson  <jas@extundo.com>
85283
85284         * m4/snprintf.m4: New file.
85285
85286 2004-09-30  Simon Josefsson  <jas@extundo.com>
85287
85288         * lib/snprintf.h, lib/snprintf.c: New files.
85289
85290 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85291
85292         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
85293         (hol_entry_help): Never translate an empty string.
85294         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
85295         * lib/argp.h (OPTION_NO_TRANS): New option.
85296
85297 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85298
85299         * modules/argp (Maintainer): Replace Simon Josefsson
85300         by Sergey Poznyakoff.
85301
85302 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85303
85304         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
85305         changes merged back into glibc.
85306
85307 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85308
85309         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
85310
85311 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85312
85313         * lib/xvasprintf.c: Include xalloc.h.
85314         (xvasprintf): Use xalloc_die, not xmalloc_die.
85315
85316 2004-09-29  Bruno Haible  <bruno@clisp.org>
85317
85318         * modules/alloca-opt: New file, derived from modules/alloca.
85319         * modules/allocsa: Depend on alloca-opt instead of alloca.
85320         * modules/setenv: Likewise.
85321         * modules/vasnprintf: Likewise.
85322         * MODULES.html.sh: Add alloca-opt.
85323
85324 2004-09-28  Simon Josefsson  <jas@extundo.com>
85325
85326         * gnulib-tool: New parameter --lgpl, to asseert that modules are
85327         LGPL, and to replace license template from GPL to LGPL.
85328
85329 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85330
85331         * modules/dummy: Change license to LGPL.
85332
85333 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85334
85335         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
85336
85337 2004-09-24  Simon Josefsson  <jas@extundo.com>
85338
85339         * modules/minmax (License): Change from GPL to LGPL.
85340
85341 2004-09-23  Simon Josefsson  <jas@extundo.com>
85342
85343         * gnulib-tool (--import): Typo.
85344
85345 2004-09-23  Simon Josefsson  <jas@extundo.com>
85346
85347         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
85348
85349 2004-09-22  Bruno Haible  <bruno@clisp.org>
85350
85351         * modules/*: Add 'License' field.
85352         * gnulib-tool: Accept --extract-license option.
85353         (func_get_license): New function.
85354
85355 2004-09-21  Bruno Haible  <bruno@clisp.org>
85356
85357         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
85358         Reported by Simon Josefsson.
85359
85360 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85361
85362         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
85363         gl_AC_TYPE_LONG_LONG.
85364
85365 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85366
85367         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
85368
85369 2004-09-18  Simon Josefsson  <jas@extundo.com>
85370         and  Paul Eggert  <eggert@cs.ucla.edu>
85371
85372         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
85373         calls with autoreconf.  Define GL_LIB.
85374
85375 2004-09-14  Karl Berry  <karl@gnu.org>
85376
85377         * config/srclist.txt: unsync setenv.c, sigh.
85378
85379 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85380
85381         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
85382         Problem reported by Bruno Haible in:
85383         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
85384
85385 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85386
85387         * config/srclist.txt: Comment out argp-pvh.c.
85388
85389 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
85390
85391         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
85392         in case some system header has #define'd it.  Problem reported by
85393         Soeren D. Schulze in
85394         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
85395
85396 2004-09-09  Karl Berry  <karl@gnu.org>
85397
85398         * regex.[ch]: delete from the root.  These were supposed to be
85399                 synced with emacs cvs, but this has not happened for about
85400                 a year, and anyway nothing else uses emacs regex.[ch].
85401                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
85402                 lib/regex[.ch] is untouched.
85403
85404 2004-09-09  Bruno Haible  <bruno@clisp.org>
85405
85406         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
85407
85408 2004-09-09  Bruno Haible  <bruno@clisp.org>
85409
85410         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
85411         modifications.
85412         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
85413
85414 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85415
85416         * modules/xvasprintf: New file.
85417         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
85418
85419 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85420
85421         * lib/xvasprintf.h: New file.
85422         * lib/xvasprintf.c: New file.
85423         * lib/xasprintf.c: New file.
85424
85425 2004-09-08  Bruno Haible  <bruno@clisp.org>
85426
85427         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
85428
85429 2004-09-08  Bruno Haible  <bruno@clisp.org>
85430
85431         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
85432         length is > INT_MAX.
85433         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
85434         more.
85435
85436 2004-09-08  Bruno Haible  <bruno@clisp.org>
85437
85438         * lib/stdint_.h: New file, taken from GNU clisp.
85439
85440 2004-09-08  Bruno Haible  <bruno@clisp.org>
85441             Oskar Liljeblad  <oskar@osk.mine.nu>
85442
85443         * modules/stdint: New file.
85444         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
85445
85446 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85447
85448         Import from coreutils.
85449         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
85450         strings on unbounded length.  alloca's performance benefits aren't
85451         that important here.
85452         (V_STRDUP): Remove.
85453         (parse_with_separator): New function, with most of the internals
85454         of the old parse_user_spec.  Allow user to omit both user and group,
85455         for compatibility with FreeBSD.
85456         Clone only the user name, not the entire spec.
85457         Do not set *uid, *gid unless entirely successful.
85458         Avoid memory leak in some failing cases.
85459         Fix regression for USER.GROUP reported by Dmitry V. Levin in
85460         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
85461         (parse_user_spec): Rewrite to use parse_with_separator.
85462
85463 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85464
85465         * modules/userspec: Don't depend on alloca.
85466
85467 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85468
85469         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
85470
85471 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85472
85473         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
85474         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
85475         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
85476
85477 2004-08-16  Simon Josefsson  <jas@extundo.com>
85478
85479         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
85480         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
85481         Add --dry-run for --import.
85482         Let user provided command line parameters override configure.ac
85483         settings.
85484
85485 2004-08-12  Simon Josefsson  <jas@extundo.com>
85486
85487         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
85488         as discussed with Paul Eggert in threads rooted at
85489         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
85490         and
85491         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
85492         Before, the test was empty, and relied on ELIDE_CODE in source
85493         code.)
85494         (gl_PREREQ_GETOPT): New macro.
85495         (gl_GETOPT): Use them.
85496
85497 2004-08-12  Simon Josefsson  <jas@extundo.com>
85498
85499         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
85500         * lib/getopt_.h: Renamed from getopt.h.
85501
85502 2004-08-12  Simon Josefsson  <jas@extundo.com>
85503
85504         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
85505         Change default library name from libfoo to libgnu.
85506         Now, if you have a configure.ac that says:
85507                 gl_SOURCE_BASE(gl)
85508                 gl_M4_BASE(gl/m4)
85509                 gl_MODULES(error getopt etcetera)
85510                 gl_INIT
85511         you can import all you need by running:
85512                 ../gnulib/gnulib-tool --import
85513
85514         * modules/getopt (Files): Rename getopt.h to getopt_.h.
85515         (Makefile.am): Rewrite, use logic from argz.
85516         (Include): Use <getopt.h> instead of "getopt.h".
85517
85518 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85519
85520         * modules/argp (Files): Add m4/unlocked-io.m4.
85521         (Depends-on): Add extensions.
85522
85523 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85524
85525         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
85526         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
85527         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
85528         Check for program_invocation_name, program_invocation_short_name,
85529         flockfile, funlockfile, features.h, _getopt_long_only_r.
85530
85531 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85532
85533         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
85534         its complicated substitute.
85535         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
85536         and program_invocation_name.
85537         (__argp_basename) [!_LIBC]: Remove; the only use was
85538         replaced by its body.
85539         (__argp_short_program_name): Change condition from
85540         !defined __argp_short_program_name to
85541         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
85542         to match argp-namefrob.h.
85543         (__argp_failure): Don't assume strerror_r returns char *.
85544         * lib/argp-parse.c (N_): Define unconditionally.
85545         (argp_default_options): Fill out initializers with 0 to avoid
85546         gcc warnings.
85547
85548 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85549
85550         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
85551         getopt1.c.
85552
85553 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85554
85555         Merge from coreutils.
85556
85557         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
85558
85559         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
85560         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
85561
85562 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85563
85564         Merge from coreutils.
85565
85566         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
85567         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
85568         for Reliant Unix 5.43.
85569
85570         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
85571         (union fooround): Use uintmax_t, not long int.
85572         The rest is a merge from libc:
85573         [defined _LIBC]: Include <shlib-compat.h>.
85574         (_obstack) [defined _LIBC]: Remove after 2.3.4.
85575
85576         * lib/settime.c (settime): Recode to avoid warning with
85577         Sun Forte C 6U2.
85578
85579         * lib/strverscmp.c: Convert to UTF-8.
85580
85581 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85582
85583         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85584         m4/uintmax_t.m4.
85585
85586 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85587
85588         * modules/xalloc-die: New file.
85589         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
85590
85591         * modules/md5 (Files): Add m4/uint32_t.m4.
85592         * modules/sha1: Renamed from modules/sha.
85593         (Files):
85594         Rename lib/sha.h to lib/sha1.h.
85595         Rename lib/sha.c to lib/sha1.c.
85596         Rename m4/sha.m4 to m4/sha1.m4.
85597         (lib_SOURCES): Likewise.
85598         (configure.ac): Rename gl_SHA to gl_SHA1.
85599         (Include): sha.h -> sha1.h.
85600
85601 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85602
85603         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
85604         * m4/sha1.m4: Renamed from sha.m4.
85605         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
85606
85607 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85608
85609         * lib/obstack.h (obstack_empty_p):
85610         Don't assume that chunk->contents is suitably aligned.
85611         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
85612         Likewise. Problem reported by Benno in
85613         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
85614
85615         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
85616         readable.  This could be improved further but it'd take some work.
85617
85618 2004-08-08  Simon Josefsson  <jas@extundo.com>
85619
85620         * modules/xgethostname (Depends-on): Remove exit and error (not
85621         used).
85622
85623         * modules/getpass-gnu: Add getpass.h.
85624         (Depends-on): Add stdbool.
85625         * modules/getpass: Add getpass.h.
85626
85627 2004-08-08  Simon Josefsson  <jas@extundo.com>
85628
85629         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
85630         Check getpass declaration.
85631
85632 2004-08-08  Simon Josefsson  <jas@extundo.com>
85633
85634         * lib/xgethostname.c: Don't include error.h (not used).
85635
85636         * lib/getpass.h: Add.
85637         * lib/getpass.c: Include getpass.h first.
85638
85639 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
85640
85641         * lib/xalloc-die.c: New file.
85642         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
85643         All uses removed.
85644         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
85645         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
85646         xalloc-die.c.
85647         (_, N_, xalloc_die): Move to xalloc-die.c.
85648         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
85649         so that we needn't mess with xalloc_msg_memory_exhausted.
85650
85651         * lib/sha1.h: Renamed from sha.h.
85652         (SHA1_H): Renamed from _SHA_H.
85653         (sha1_ctx): Renamed from sha_ctx.
85654         (sha1_init_ctx): Renamed from sha_init_ctx.
85655         (sha1_process_block): Renamed from sha_process_block.
85656         (sha1_process_bytes): Renamed from sha_process_bytes.
85657         (sha1_finish_ctx): Renamed from sha_finish_ctx.
85658         (sha1_read_ctx): Renamed from sha_read_ctx.
85659         (sha1_stream): Renamed from sha_stream.
85660         (sha1_buffer): Renamed from sha_buffer.
85661         * lib/sha1.c: Likewise; renamed from sha.c.
85662         Do not include <sys/types.h>.
85663         Include <stddef.h> rather than <stdlib.h>.
85664
85665 2004-08-08  Bruno Haible  <bruno@clisp.org>
85666
85667         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
85668         FILESYSTEM_PREFIX_LEN.
85669         * lib/progreloc.c: Likewise.
85670         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
85671
85672 2004-08-06  Simon Josefsson  <jas@extundo.com>
85673
85674         * modules/progname (Depends-on): Don't depend on stdbool.
85675
85676 2004-08-06  Simon Josefsson  <jas@extundo.com>
85677
85678         * modules/getsubopt: New file.
85679         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85680         getsubopt.
85681
85682 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85683
85684         More merge from coreutils.
85685
85686         * m4/utimens.m4, m4/utimecmp.m4: New files.
85687         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
85688         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
85689         prereq.m4, sha.m4: Import changes from coreutils.
85690
85691 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85692
85693         More merge from coreutils.
85694         * modules/raise, modules/readtokens0, modules/utimens:
85695         * modules/utimecmp, module/xnanosleep: New files.
85696         * modules/strftime: Add lib/strftime.h.
85697         Change include from <time.h> to "strftime.h".
85698         * modules/yesno: Add lib/yesno.h.
85699         * modules/backupfile: Remove lib/addext.c.
85700         * modules/euidaccess: Add stat-macros.h.
85701         * modules/canonicalize, modules/euidaccess,
85702         modules/filemode, modules/lchown, modules/makepath,
85703         modules/rmdir, modules/stat: Likewise.
85704
85705 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85706
85707         Merge from tar.
85708         * lib/argp-help.c (make_hol, hol_append): Don't assume that
85709         SIZE_MAX is a valid preprocessor constant.
85710         (__argp_basename): Change from "#ifndef _LIBC"
85711         to "#ifndef __argp_short_program_name", so that
85712         we don't compile these functions for tar.
85713
85714         More merges from coreutils.
85715         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
85716         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
85717         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
85718         * lib/addext.c: Remove; no longer needed.
85719         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
85720         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
85721         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
85722         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
85723         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
85724         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
85725         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
85726         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
85727         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
85728         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
85729         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
85730         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
85731         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
85732         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
85733         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
85734         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
85735         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
85736         Import changes from coreutils.
85737
85738 2004-08-05  Simon Josefsson  <jas@extundo.com>
85739
85740         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
85741
85742 2004-08-05  Simon Josefsson  <jas@extundo.com>
85743
85744         * m4/getsubopt.m4: New file.
85745
85746 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85747
85748         Merge from coreutils.
85749
85750         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
85751         * m4/getcwd-path-max.m4: New files.
85752
85753         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
85754         FILESYSTEM_PREFIX_LEN ->
85755         FILE_SYSTEM_PREFIX_LEN.
85756         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
85757         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
85758         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
85759         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
85760
85761         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
85762         prerequisite modules now handle the DOS stuff.
85763         Don't check for unistd.h.
85764
85765 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85766
85767         Merge from coreutils.
85768
85769         * lib/.gdb-history: Remove; this doesn't belong here.
85770
85771         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
85772         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
85773         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
85774         * lib/getcwd.c: New files.
85775
85776         * lib/dirname.h: Include <stdbool.h>.
85777         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
85778         for consistency with POSIX terminology.  All uses changed.
85779         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
85780         (strip_trailing_slashes): Use bool for booleans.
85781         * lib/stripslash.c (strip_trailing_slashes): Likewise.
85782
85783         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
85784         sometimes returns a positive errno value even when it succeeds.
85785         (print_errno_message) [!LIBC]: Fall back on strerror if
85786         __strerror_r fails.
85787
85788         * lib/path-concat.c (mempcpy): Don't define if a system header defines
85789         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
85790         (longest_relative_suffix): New function.
85791         (path_concat): Use it.  Assume first argument is not NULL.
85792         Port to DOS.  Omit redundant separators.
85793         Report an error instead of returning NULL.
85794         Use mempcpy instead of memcpy.
85795         (xpath_concat): Remove: not declared or used.
85796
85797         * lib/same.h: Include <stdbool.h>
85798         (same_name): Return bool, not int.
85799         * lib/same.c (same_name): Likewise.
85800         (errno): Don't declare; we assume C89 or better now.
85801
85802         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
85803         if not already defined.
85804
85805         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
85806         * lib/dup-safer.c (errno): Likewise.
85807
85808 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85809
85810         Merge from coreutils.
85811         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
85812         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
85813         * modules/path-concat: Don't depend on strdup.
85814
85815 2004-08-03  Simon Josefsson  <jas@extundo.com>
85816
85817         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
85818         * lib/progname.h: Don't include stdbool.h.
85819
85820 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85821
85822         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
85823         * MODULES.html.sh (func_all_modules): Remove fatal.
85824
85825 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85826
85827         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
85828
85829 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85830
85831         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
85832         working.
85833
85834 2004-08-02  Simon Josefsson  <jas@extundo.com>
85835
85836         * lib/getsubopt.h: New file, with comments from Bruno Haible.
85837         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
85838         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
85839
85840 2004-08-01  Simon Josefsson  <jas@extundo.com>
85841
85842         * lib/xgetdomainname.c: Include stdlib.h, for free().
85843
85844 2004-07-19  Bruno Haible  <bruno@clisp.org>
85845
85846         * MODULES.html.sh (func_all_modules): Add dummy.
85847
85848 2004-07-16  Simon Josefsson  <jas@extundo.com>
85849
85850         * modules/dummy: New file.
85851
85852 2004-07-16  Simon Josefsson  <jas@extundo.com>
85853
85854         * lib/dummy.c: New file.
85855
85856 2004-07-16  Bruno Haible  <bruno@clisp.org>
85857
85858         * lib/backupfile.h: Add extern "C" for C++.
85859         * lib/closeout.h: Likewise.
85860         * lib/copy-file.h: Likewise.
85861         * lib/findprog.h: Likewise.
85862         * lib/full-write.h: Likewise.
85863         * lib/pathname.h: Likewise.
85864         * lib/progname.h: Likewise.
85865         * lib/stpcpy.h: Likewise.
85866         * lib/stpncpy.h: Likewise.
85867         * lib/strcase.h: Likewise.
85868         * lib/strstr.h: Likewise.
85869         * lib/xalloc.h: Likewise.
85870
85871         * lib/mbswidth.h: Add extern "C" for C++.
85872         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
85873
85874 2004-07-13  Robert Millan  <robertmh@gnu.org>
85875
85876         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
85877
85878 2004-07-09  Simon Josefsson  <jas@extundo.com>
85879
85880         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
85881         failed without this.)
85882
85883 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85884
85885         * modules/chown (Files): Add lib/fchown-stub.c, since
85886         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
85887
85888 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85889
85890         * lib/fchown-stub.c: New file.
85891
85892 2004-06-24  Jim Meyering  <jim@meyering.net>
85893
85894         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
85895
85896 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85897
85898         * modules/argz: Omit "#include".
85899
85900         * MODULES.html.sh (func_all_modules): Add calloc, to match
85901         2004-06-01 addition of calloc module.
85902
85903 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85904
85905         * m4/argz.m4: New file, which is autoupdated from libtool.
85906
85907 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85908
85909         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
85910         libtool.
85911
85912 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85913
85914         * config/srclist-update: Don't insist on "USA." before the
85915         close-comment, as libtool omits the period and puts the */ on a
85916         separate line.
85917         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
85918         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
85919
85920 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
85921
85922         * modules/argz: New file.
85923         * MODULES.html.sh (func_all_modules): Add argz.
85924
85925 2004-06-12  Jim Meyering  <jim@meyering.net>
85926         and  Paul Eggert  <eggert@cs.ucla.edu>
85927
85928         * modules/hash (Files): Add lib/xalloc.h.
85929         * modules/pipe (Depends-on): Add wait-process.
85930         * modules/stat (Depends-on): Add xalloc.
85931         * modules/userspec (Files): Add lib/userspec.h.
85932         * modules/xstrto
85933
85934         Upgrade from gettext-0.13.
85935         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
85936         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
85937         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
85938
85939 2004-06-10  Jim Meyering  <jim@meyering.net>
85940
85941         * lib/calloc.c: New file.
85942
85943 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
85944
85945         * lib/getdate.y (yylex): Allow space between sign and number.
85946         Problem reported by Dan Jacobson.
85947
85948 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85949
85950         Merge from coreutils CVS.
85951
85952         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
85953         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
85954         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
85955         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
85956         xstrtol.m4: Fix copyright date and/or serial number.
85957
85958         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
85959         See if we need an fchown replacement.
85960         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
85961         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
85962         and use the replacement function if we detect either defect.
85963
85964         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
85965         gl_UTIMECMP.
85966
85967 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85968         and  Jim Meyering  <jim@meyering.net>
85969
85970         Merge from coreutils CVS.
85971
85972         * lib/stat-macros.h: New file, with contents from file-type.h
85973         and coreutils' system.h.
85974         * lib/file-type.c: Include "stat-macros.h".
85975         * lib/file-type.h (file_type): Move all macro definitions to new file,
85976         stat-macros.h.
85977
85978         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
85979         Wrap old code with this conditional.
85980         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
85981         function that does not dereference symlinks.
85982         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
85983
85984         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
85985         dependency problems.
85986         (xreadlink): Accept new arg SIZE, for efficiency.
85987         All decls and uses changed.
85988         * lib/xreadlink.h: Include <stddef.h>, for size_t.
85989
85990         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
85991         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
85992
85993         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
85994         sysexits.h.
85995
85996 2004-06-01  Jim Meyering  <jim@meyering.net>
85997
85998         * m4/calloc.m4: New file.
85999
86000 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
86001
86002         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
86003         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
86004         Also, fix a typo in a diagnostic.
86005
86006 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86007
86008         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
86009         or AC_FUNC_REALLOC.
86010
86011 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86012
86013         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
86014         macros to be defined.
86015         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
86016         the allocator returns NULL because the requested size is zero.
86017
86018 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86019
86020         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
86021         var.  Add comment explaining why libc still defines it.  This
86022         merges the following patch from glibc:
86023         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
86024
86025 2004-05-20  Andreas Schwab  <schwab@suse.de>
86026
86027         * m4/free.m4: Replace free if it not known to work, not the other
86028         way round.
86029
86030 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
86031
86032         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
86033         present in glibc since revision 1.1 of this file.
86034         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
86035         obstack_alignment_mask, obstack_alloc, obstack_base,
86036         obstack_blank, obstack_blank_fast, obstack_chunk_size,
86037         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
86038         obstack_grow0, obstack_init, obstack_int_grow,
86039         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
86040         obstack_next_free, obstack_object_size, obstack_ptr_grow,
86041         obstack_ptr_grow_fast, obstack_room): Remove declarations of
86042         nonexistent functions.
86043
86044 2004-05-18  Karl Berry  <karl@gnu.org>
86045
86046         * config/srclist.txt: break link for vasnprintf.c.
86047
86048 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86049
86050         Port obstack to the AS/400, where pointers are 16 bytes wide and
86051         you cannot cast an integer to a valid pointer.  This patch is
86052         currently waiting to be integrated into glibc; see
86053         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
86054
86055         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
86056         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
86057         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
86058         (struct obstack): temp member is now a union of a pointer and
86059         an integer, instead of an integer.  All integer uses changed.
86060         This does not affect the physical layout of struct obstack,
86061         except on hosts (like the AS/400) where the size or alignment of
86062         void * is greater than that of ptrdiff_t.
86063         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
86064         __STDC__)]: Store temporary in pointer member of union, not
86065         integer member.
86066         * lib/obstack.c: Include <stddef.h>, for offsetof.
86067         (struct fooalign): Remove; it doesn't need a name.
86068         (union fooround): Change double to long double, and add void *.
86069         (DEFAULT_ALIGNMENT): Use offsetof to compute.
86070         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
86071         not a macro.  Hence the values are always int; so remove all
86072         casts-to-int in uses.
86073
86074 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86075
86076         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
86077         we can get this patch merged into glibc.
86078
86079 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86080             Paul Eggert  <eggert@cs.ucla.edu>
86081
86082         * m4/argp: Depend on alloca.
86083
86084 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86085             Paul Eggert  <eggert@cs.ucla.edu>
86086
86087         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
86088         freecoding.
86089
86090 2004-05-17  Bruno Haible  <bruno@clisp.org>
86091
86092         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
86093         precision that consists of a '.' followed by an empty digit string.
86094         Patch by Tor Lillqvist <tml@iki.fi>.
86095
86096 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86097
86098         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
86099         for backward compatibility with older code.  We need our own
86100         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
86101         it under some other name, and our alloca.h will define it.
86102
86103 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86104             Derek Price  <derek@ximbiot.com>
86105
86106         * lib/alloca.c: Include <alloca.h>, to get our interface.
86107         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
86108         include <alloca.h> first.  Use C89 prototype for alloca; this
86109         requires including <stddef.h> for size_t.  Use extern "C" if C++.
86110         Use #elif for simplicity, since we can assume C89 now.
86111         Don't try to source the system alloca.h since it will not be found
86112         and to prevent recursively including its replacement.
86113         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
86114         * lib/regex.c: Likewise.
86115
86116 2004-05-16  Derek Price  <derek@ximbiot.com>
86117             Paul Eggert  <eggert@cs.ucla.edu>
86118
86119         getline cleanup.  This changes the getndelim2 API: both order of
86120         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
86121         no delimiter).
86122
86123         * lib/getline.c: Don't include stddef.h or stdio.h, since our
86124         interface does that.
86125         (getline): Always use getdelim, so that we don't have two
86126         copies of this code.
86127         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
86128         if available.
86129         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
86130         (GETNDELIM2_MAXIMUM): New macro.
86131         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
86132         instead of the old practice of delim2==0.  All callers changed.
86133         Return -1 on overflow, instead of returning junk.
86134         Do not set *linesize unless allocation succeeds.
86135         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
86136         that we include sys/types.h.
86137         * lib/getnline.h: Likewise.
86138         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
86139         (getndelim2): Reorder arguments.
86140         * lib/getnline.c (getnline, getndelim):
86141         Don't discard the NMAX argument.
86142         (getnline): Invoke getndelim, to avoid code duplication.
86143         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
86144         of (size_t) -1 by callers of the getnline family.
86145
86146 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86147
86148         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
86149         Check for gettimeofday.
86150         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
86151         Check for settimeofday, stime.
86152
86153 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86154
86155         * lib/nanosleep.c (suspended): Change its type from int to
86156         sig_atomic_t volatile.
86157         (first_call): Make it private to rpl_nanosleep, and have it
86158         be zero initially as that's a bit faster.
86159         (my_usleep): Round up fractional times instead of truncating them,
86160         as this is the usual meaning for 'sleep'.
86161
86162         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
86163         doesn't work.
86164         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
86165         (ENOSYS): Define if not defined.
86166         (settime): Fall back on stime if it exists and settimeofday fails.
86167         But don't bother with fallbacks if a method fails with errno == EPERM.
86168
86169 2004-05-11  Jim Meyering  <jim@meyering.net>
86170
86171         Prior to this change, the save_cwd caller required read access to the
86172         current directory on most systems (ones with the fchdir function).
86173
86174         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
86175         fails, try write-only, and finally, resort to using xgetcwd.
86176
86177 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86178
86179         * lib/obstack.c, obstack.h: Import changes from libc.
86180
86181 2004-04-28  Bruno Haible  <bruno@clisp.org>
86182
86183         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
86184         also implicitly appends .exe to executables.
86185         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
86186         accepts Windows pathnames.
86187         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86188         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86189         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86190         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86191         Reported by Derek Robert Price <derek@ximbiot.com>.
86192
86193 2004-04-21  Karl Berry  <karl@gnu.org>
86194
86195         * config/srclist.txt (localcharset.c): break sync.
86196
86197 2004-04-20  Paul Eggert  <eggert@twinsun.com>
86198
86199         * m4/host-os.m4: Add a copyright notice.
86200
86201 2004-04-20  Jim Meyering  <jim@meyering.net>
86202
86203         Change UTILS_ to gl_ in AC_DEFINE'd names.
86204         Change utils_- and jm_-prefixed variables, too.
86205         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
86206         UTILS_FUNC_MKDIR_TRAILING_SLASH.
86207         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
86208
86209         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
86210         Don't emit trailing blanks.
86211         Also rename jm_-prefixed variables to have gl_ prefix.
86212
86213         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
86214         Also rename jm_-prefixed variables to have gl_ prefix.
86215
86216         * m4/jm-macros.m4: Reflect the renamings.
86217         * m4/prereq.m4: Likewise.
86218
86219 2004-04-20  Jim Meyering  <jim@meyering.net>
86220
86221         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
86222         memory.
86223
86224 2004-04-20  Jim Meyering  <jim@meyering.net>
86225             Bruno Haible  <bruno@clisp.org>
86226
86227         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
86228         memory when realloc fails.
86229
86230 2004-04-19  Jim Meyering  <jim@meyering.net>
86231
86232         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
86233         now that readutmp.c may call `free (0)'.
86234
86235 2004-04-19  Bruno Haible  <bruno@clisp.org>
86236
86237         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
86238         * m4/inttypes_h.m4: Likewise.
86239         * m4/stdint_h.m4: Likewise.
86240         * m4/intmax_t.m4: Likewise.
86241         * m4/uintmax_t.m4: Likewise.
86242
86243 2004-04-18  Jim Meyering  <jim@meyering.net>
86244
86245         * m4/prereq.m4: Don't forbid jm_ prefix.
86246
86247         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
86248         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
86249         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
86250         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
86251         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
86252         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
86253         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
86254         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
86255         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
86256         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
86257         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
86258         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
86259         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
86260         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
86261         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
86262         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
86263         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
86264         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
86265         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
86266
86267 2004-04-18  Jim Meyering  <jim@meyering.net>
86268
86269         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
86270         failure, don't leak memory and do call END_UTMP_ENT.
86271
86272 2004-04-16  Jim Meyering  <jim@meyering.net>
86273
86274         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
86275         coreutils' stat program.
86276         (gl_PREREQ): Don't require jm_PREREQ_STAT.
86277
86278 2004-04-11  Paul Eggert  <eggert@twinsun.com>
86279
86280         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
86281         C89.
86282         (CHAR_BIT): Remove, since we assume C89.
86283         Include <stdint.h> if available, as per current Autoconf CVS advice.
86284
86285 2004-03-31  Jim Meyering  <jim@meyering.net>
86286
86287         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
86288         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
86289         * m4/xalloc.m4: Likewise.
86290
86291 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86292
86293         Merge from coreutils.
86294
86295         * m4/inttostr.m4: New file.
86296         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
86297         Require AM_STDBOOL_H and gl_TIMESPEC instead.
86298         Require gl_CLOCK_TIME.
86299         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
86300
86301 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86302
86303         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
86304         not bool, to be more consistent with Unix conventions.
86305         Suggested by Bruno Haible.
86306
86307         Merge from coreutils.
86308
86309         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
86310         * lib/umaxtostr.c: New files.
86311
86312         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
86313         the usual <time.h> dance.
86314         (get_date): Change signature to support fractional time stamps.
86315         All callers changed.
86316         * lib/getdate.y: Include "getdate.h" first, as we can now
86317         assume C89 and don't need to worry about 'const'.
86318         Similarly, include "unlocked-io.h" near start, not in middle.
86319         Include <limits.h>.
86320         (textint.value): Use long int rather than int.
86321         (textint.digits): Use size_t rather than int.
86322         (BILLION, LOG10_BILLION): New constants.
86323         (parser_control): New member rel_ns.  Members day_ordinal,
86324         time_zone, month, day, hour, minutes, rel_year, rel_month,
86325         rel_day, rel_hour, rel_minutes, rel_seconds
86326         are now long int, not int.  Member seconds is now struct timespec,
86327         not int.  New member timespec_seen.  Members dates_seen, days_seen,
86328         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
86329         not int.
86330         (%union.intval): Now long int, not int.
86331         New member timespec.
86332         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
86333         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
86334         (spec): Now is a timespec or an item list.
86335         (timespec, items): New nonterminals.
86336         (time, rel, relunit, number, get_date):
86337         Add support for fractional seconds.
86338         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
86339         (gmtime, localtime, mktime): Remove decls; not needed with C89.
86340         (to_hour): First arg is now long int, not int.
86341         (to_year): Returns long int, not int.
86342         Don't treat year -70 like 70.
86343         (tm_diff): Returns long int, not int.
86344         (lookup_word): Use bool instead of int when appropriate.
86345         (yylex): Use size_t for count, not int.
86346         Detect overflow when parsing large integer constants.
86347         Add support for fractions.
86348         (get_date): Make pointers 'const' if possible.
86349         Use more-portable code to detect integer overflow.
86350         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
86351         Don't use ctime; it's not reliable if the year has >4 digits.
86352
86353         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
86354         This is for compatibility with BSD.
86355
86356         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
86357         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
86358         From coreutils' system.h.
86359
86360         * lib/userspec.c: Don't include "posixver.h".
86361         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
86362         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
86363         compatible extension.  Simplify code by removing a boolean int
86364         that was always nonzero if a string was nonnull.
86365
86366 2004-03-30  Jim Meyering  <jim@meyering.net>
86367
86368         Merge from coreutils.
86369
86370         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
86371         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
86372         on some systems one must include <grp.h> before it.
86373         Reported by Christian Krackowizer.
86374
86375 2004-03-30  Jim Meyering  <jim@meyering.net>
86376
86377         Merge from coreutils.
86378
86379         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
86380
86381         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
86382         an empty input stream.
86383
86384         * lib/readtokens.c: Include <stdbool.h>.
86385         (readtoken): Use `size_t' rather than int/long.
86386         All callers adjusted.
86387         Use `bool' rather than `int' where appropriate.
86388         Use memset rather than an explicit loop.
86389         Use x2nrealloc rather than xrealloc.
86390         Allow the use of `\0' as a delimiter.
86391         (readtokens): Likewise.
86392         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
86393
86394 2004-03-30  Jim Meyering  <jim@meyering.net>
86395
86396         * m4/realloc.m4: Remove file, since now it does no more than
86397         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
86398         the `configure.ac' section of module/realloc.
86399         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
86400
86401 2004-03-30  Bruno Haible  <bruno@clisp.org>
86402
86403         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
86404         nonnull.
86405
86406 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86407
86408         Merge changes to getloadavg.c from coreutils and Emacs.
86409
86410         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
86411         Define to an expression, not to the empty string.
86412         Include cloexec.h and xalloc.h.
86413         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
86414         Use set_cloexec_flag rather than rolling our own.
86415         * lib/cloexec.c, lib/cloexec.h: New files.
86416
86417 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86418
86419         * m4/cloexec.m4: New file.
86420
86421 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86422
86423         * lib/getopt.h: Sync with libc CVS.
86424
86425 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86426             Bruno Haible  <bruno@clisp.org>
86427
86428         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
86429         mbswidth.
86430
86431 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86432             Bruno Haible  <bruno@clisp.org>
86433
86434         * lib/mbswidth.h: Include <wchar.h> only if
86435         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
86436         <wchar.h>.
86437         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
86438
86439 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86440
86441         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
86442         Sync with libc CVS.
86443         * lib/getopt_int.h: New file, also synced from libc.
86444
86445 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86446
86447         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
86448         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
86449         Bring back getopt.c, getopt.h, getopt1.c.
86450
86451 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86452
86453         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
86454         All uses changed.  Check for sa_sigaction member; this fixes
86455         a bug first reported by Jason Andrade in
86456         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86457
86458 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86459
86460         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
86461         '#if' expressions.  Unlike the code it replaces, it does not
86462         depend on (defined _SC_PAGESIZE).  However, it does depend on
86463         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
86464         first reported by Jason Andrade in
86465         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86466
86467 2004-02-25  Simon Josefsson  <jas@extundo.com>
86468
86469         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
86470
86471 2004-02-25  Simon Josefsson  <jas@extundo.com>
86472
86473         * lib/strdup.h: New file.
86474         * lib/strdup.c: Include it.
86475         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
86476         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
86477
86478 2004-02-23  Karl Berry  <karl@gnu.org>
86479
86480         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
86481         (from fencepost.gnu.org:/gd/gnuorg).
86482
86483 2004-02-23  Karl Berry  <karl@gnu.org>
86484
86485         * config/srclistvars.sh (GNUORG) [karl]: redefine.
86486         * config/srclist.txt: add maintain/standards documents.
86487
86488 2004-02-18  Bruno Haible  <bruno@clisp.org>
86489
86490         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
86491         Reported by Derek Robert Price <derek@ximbiot.com>.
86492
86493 2004-02-16  Karl Berry  <karl@gnu.org>
86494
86495         * config/mkinstalldirs, install-sh: update from automake.
86496
86497 2004-02-06  Karl Berry  <karl@gnu.org>
86498
86499         * m4/po.m4: update from gettext 0.14.1.
86500
86501 2004-02-06  Karl Berry  <karl@gnu.org>
86502
86503         * lib/config.charset: update from gettext 0.14.1.
86504
86505 2004-02-05  Paul Eggert  <eggert@twinsun.com>
86506
86507         Add comments and code, prompted by suggestions from Bruno Haible
86508         for sh-quote.
86509         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
86510         describing the enum quoting_style values.
86511         * lib/quotearg.c (quotearg_alloc): New function.
86512         (quotearg_buffer_restyled): Treat lone { and } as special.
86513         Treat = as special.  Work around bug with older shells
86514         that "see" a '\' that is really the 2nd byte of a multibyte char.
86515         Quote empty string with shell_quoting_style.
86516
86517 2004-02-03  Bruno Haible  <bruno@clisp.org>
86518
86519         * m4/pipe.m4: New file, from GNU gettext.
86520
86521 2004-02-03  Bruno Haible  <bruno@clisp.org>
86522
86523         * lib/pipe.h: New file, from GNU gettext.
86524         * lib/pipe.c: New file, from GNU gettext.
86525
86526 2004-01-27  Bruno Haible  <bruno@clisp.org>
86527
86528         * m4/execute.m4: New file, from GNU gettext.
86529
86530 2004-01-27  Bruno Haible  <bruno@clisp.org>
86531
86532         * lib/execute.h: New file, from GNU gettext.
86533         * lib/execute.c: New file, from GNU gettext.
86534         * lib/w32spawn.h: New file, from GNU gettext.
86535
86536 2004-01-24  Paul Eggert  <eggert@twinsun.com>
86537
86538         Merge from diffutils.
86539
86540         * lib/file-type.c (file_type): Add typed memory objects.
86541         * lib/file-type.h (S_TYPEISTMO): New macro.
86542
86543         * lib/c-stack.h (c_stack_action): Remove argv argument.
86544         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
86545         (die): Don't calculate message unless segv_action returns.
86546         (get_stack_location, min_address_from_argv, max_address_from_argv,
86547         volatile stack_base, volatile_stack_size): Remove.
86548         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
86549         that every segmentation violation is a stack overflow.  (Ouch!)
86550         See Debian bug 136249 (still outstanding) for more info about why
86551         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
86552
86553 2004-01-24  Paul Eggert  <eggert@twinsun.com>
86554
86555         Exit-status fix from coreutils.
86556
86557         Use exit_failure consistently in place of EXIT_FAILURE,
86558         so that program exit statuses are consistent on failure.
86559
86560         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
86561         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
86562         * lib/argmatch.h: Comment fix to match the above.
86563         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
86564         Now a macro referring to exit_failure, instead of a separate
86565         variable.  Include "exitfail.h" to get it.
86566         * lib/xstrtol.h: Include "exitfail.h".
86567         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
86568
86569         * lib/long-options.c (parse_long_options): Use prototype
86570         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
86571         for clarity.
86572
86573 2004-01-21  Jim Meyering  <jim@meyering.net>
86574
86575         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
86576         so as not to conflict with a different-sized __mktime_internal
86577         function in GNU libc.
86578         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
86579         Problem building statically-linked `ls' reported by Michael Brunnbauer.
86580
86581 2004-01-20  Karl Berry  <karl@gnu.org>
86582
86583         * config/config.guess: update from config.
86584
86585         * config/srclistvars.sh: GNUWWWLICENSES for karl.
86586
86587 2004-01-20  Bruno Haible  <bruno@clisp.org>
86588
86589         Safer stack allocation.
86590         * lib/setenv.c: Include allocsa.h.
86591         (alloca): Remove fallback definition.
86592         (freea): Remove macro.
86593         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
86594         instead of freea.
86595
86596 2004-01-20  Bruno Haible  <bruno@clisp.org>
86597
86598         * m4/eealloc.m4: New file, from GNU gettext.
86599
86600 2004-01-20  Bruno Haible  <bruno@clisp.org>
86601
86602         * m4/allocsa.m4: New file, from GNU gettext.
86603
86604 2004-01-20  Bruno Haible  <bruno@clisp.org>
86605
86606         * lib/xallocsa.h: New file, from GNU gettext.
86607         * lib/xallocsa.c: New file, from GNU gettext.
86608
86609 2004-01-20  Bruno Haible  <bruno@clisp.org>
86610
86611         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
86612
86613 2004-01-20  Bruno Haible  <bruno@clisp.org>
86614
86615         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
86616         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
86617         specially.
86618
86619 2004-01-20  Bruno Haible  <bruno@clisp.org>
86620
86621         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
86622         patch.
86623
86624 2004-01-20  Bruno Haible  <bruno@clisp.org>
86625
86626         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
86627
86628 2004-01-20  Bruno Haible  <bruno@clisp.org>
86629
86630         * lib/eealloc.h: New file.
86631
86632 2004-01-20  Bruno Haible  <bruno@clisp.org>
86633
86634         * lib/binary-io.h: Avoid warnings on Cygwin.
86635
86636 2004-01-20  Bruno Haible  <bruno@clisp.org>
86637
86638         * lib/allocsa.h: New file, from GNU gettext.
86639         * lib/allocsa.c: New file, from GNU gettext.
86640
86641 2004-01-18  Karl Berry  <karl@gnu.org>
86642
86643         * doc/gpl.texi, doc/lgpl.texi: new files.
86644
86645 2004-01-18  Karl Berry  <karl@gnu.org>
86646
86647         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
86648         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
86649
86650 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86651
86652         Merge from coreutils.
86653
86654         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
86655         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
86656         (gl_DEFAULT_POSIX2_VERSION): Move
86657         the documentation from 'configure' into 'config.hin',
86658         so that 'configure --help' isn't burdened by it and
86659         we don't have to worry about its formatting there.
86660         Reword the documentation so that it's more succinct
86661         and can be run together into a single paragraph.
86662         * m4/same.m4 (gl_SAME): Check for pathconf.
86663
86664 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86665
86666         Merge from coreutils.
86667
86668         * lib/posixver.c: Include posixver.h.
86669
86670         * lib/same.c: Include <stdbool.h>, <limits.h>.
86671         (_POSIX_NAME_MAX): Define if not defined.
86672         (MIN): New macro.
86673         (same_name): If file names are silently truncated, report
86674         that the file names are the same if they are the same after
86675         the silent truncation.
86676
86677         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
86678         conversion function.
86679         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
86680         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
86681         longer needed.
86682
86683 2004-01-15  Jim Meyering  <jim@meyering.net>
86684
86685         Merge from coreutils.
86686
86687         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
86688         if no library is required.
86689         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
86690         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
86691         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
86692         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
86693         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
86694         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
86695         value, $ac_cv_search_crypt, if it's "none required".
86696         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
86697         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
86698         not gl_FUNC_GETLOADAVG.
86699         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
86700         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
86701
86702 2004-01-15  Jim Meyering  <jim@meyering.net>
86703
86704         Merge from coreutils.
86705
86706         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
86707         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
86708         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
86709
86710         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
86711         optional configure-time default.
86712
86713         * lib/version-etc.c (version_etc_copyright): Update copyright date.
86714
86715         * lib/xreadlink.c (xreadlink): Correct outdated comment.
86716
86717 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
86718
86719         Merge from coreutils.
86720
86721         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
86722         value, $ac_cv_search_nanosleep, if it's "none required".
86723
86724 2004-01-14  Paul Eggert  <eggert@twinsun.com>
86725
86726         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
86727         with like-named macro in fnmatch.c.
86728         (EXT): Use an internal constant instead.
86729
86730         Merge fnmatch patches from glibc.
86731         * lib/fnmatch.c (mbsinit): Remove define.
86732         Add libc_hidden_ver (__fnmatch, fnmatch).
86733         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
86734         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
86735
86736 2004-01-14  Karl Berry  <karl@gnu.org>
86737
86738         * config/install-sh: update from automake.
86739
86740 2004-01-13  Karl Berry  <karl@gnu.org>
86741
86742         * config/install-sh: update from automake.
86743
86744 2004-01-09  Karl Berry  <karl@gnu.org>
86745
86746         * config/install-sh: update from automake.
86747
86748 2004-01-05  Karl Berry  <karl@gnu.org>
86749
86750         * config/config.{sub,guess}: update from config.
86751
86752 2003-12-31  Karl Berry  <karl@gnu.org>
86753
86754         * config/depcomp: update from automake.
86755
86756 2003-12-14  Karl Berry  <karl@gnu.org>
86757
86758         * lib/config.charset: update from gettext-runtime.
86759
86760 2003-12-03  Paul Eggert  <eggert@twinsun.com>
86761
86762         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
86763         Bug reported by Alfred M. Szmidt.
86764
86765 2003-12-03  Bruno Haible  <bruno@clisp.org>
86766
86767         * m4/gettext.m4: Upgrade from gettext-0.13.
86768         * m4/po.m4: Upgrade from gettext-0.13.
86769         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
86770         * m4/intmax.m4: New file, from gettext-0.13.
86771         * m4/printf-posix.m4: New file, from gettext-0.13.
86772
86773 2003-11-29  Karl Berry  <karl@gnu.org>
86774
86775         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
86776
86777 2003-11-25  Paul Eggert  <eggert@twinsun.com>
86778             Bruno Haible  <bruno@clisp.org>
86779
86780         * lib/printf-parse.h: Don't include sys/types.h.
86781         (ARG_NONE): New macro.
86782         (char_directive): Change type of *arg_index fields to size_t.
86783         * lib/printf-parse.c: Don't include sys/types.h.
86784         (SSIZE_MAX): Remove macro.
86785         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
86786         Remove unnecessary overflow check.
86787         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
86788         fields.
86789
86790 2003-11-25  Bruno Haible  <bruno@clisp.org>
86791
86792         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
86793
86794 2003-11-25  Bruno Haible  <bruno@clisp.org>
86795
86796         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
86797         gt_TYPE_SSIZE_T.
86798
86799 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86800
86801         * modules/alloca: Remove dependency on xalloc.
86802
86803 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86804
86805         * lib/alloca.c: Remove dependency on xalloc module.
86806         (xalloc_die): Remove.
86807         (memory_full) [!defined emacs]: New macro.
86808         [!defined emacs]: Don't include xalloc.h.
86809         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
86810         address arithmetic overflows.  Change datatypes a bit to avoid
86811         unnecessary casts.
86812
86813 2003-11-22  Jim Meyering  <jim@meyering.net>
86814
86815         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
86816         s/size/size_t/.
86817
86818 2003-11-21  Karl Berry  <karl@gnu.org>
86819
86820         * config/config.{sub,guess}: update from config.
86821
86822 2003-11-18  Karl Berry  <karl@gnu.org>
86823
86824         * config/config.{sub,guess}: update from config.
86825
86826         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
86827
86828 2003-11-17  Paul Eggert  <eggert@twinsun.com>
86829
86830         * README: Mention that S+T cannot overflow if S is the size of
86831         an existing object and T is sufficiently small.
86832
86833 2003-11-17  Jim Meyering  <jim@meyering.net>
86834
86835         On systems without utime and without a utimes function capable of
86836         dealing with a NULL struct utimbuf* argument, this utime replacement
86837         could -- in unusual circumstances -- leak a file descriptor.
86838         * lib/utime.c: Include <unistd.h> and <errno.h>.
86839         (utime_null): Be sure to close `fd' and to preserve errno.
86840         Reported by Geoff Collyer via Arnold Robbins.
86841
86842 2003-11-17  Bruno Haible  <bruno@clisp.org>
86843
86844         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
86845         (Depends-on): Add xsize.
86846
86847 2003-11-17  Bruno Haible  <bruno@clisp.org>
86848
86849         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
86850
86851 2003-11-17  Bruno Haible  <bruno@clisp.org>
86852
86853         * lib/vasnprintf.c (alloca): Remove fallback definition.
86854         (freea): Remove definition.
86855         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
86856         Reported by Paul Eggert.
86857
86858 2003-11-16  Paul Eggert  <eggert@twinsun.com>
86859             Bruno Haible  <bruno@clisp.org>
86860
86861         Protect against address arithmetic overflow.
86862         * lib/printf-args.h: Include stddef.h.
86863         (arguments): Change type of field 'count' to size_t.
86864         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
86865         'unsigned int' where appropriate.
86866         * lib/printf-parse.h: Include sys/types.h.
86867         (char_directive): Change type of *arg_index fields to ssize_t.
86868         (char_directives): Change type of fields 'count', max_*_length to
86869         size_t.
86870         * lib/printf-parse.c: Include sys/types.h and xsize.h.
86871         (SSIZE_MAX): Define fallback value.
86872         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
86873         instead of 'int' where appropriate. Check a_allocated, d_allocated
86874         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
86875         * lib/vasnprintf.c: Include xsize.h.
86876         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
86877         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
86878         overflow. Avoid wraparound when converting a width or precision from
86879         decimal to binary.
86880
86881 2003-11-16  Bruno Haible  <bruno@clisp.org>
86882
86883         Update from GNU gettext.
86884         * lib/printf-parse.c: Generalize to it can be compiled for wide
86885         strings.
86886         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
86887         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
86888         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
86889         SNPRINTF): New macros.
86890         Don't include <alloca.h> if the file is used inside libintl.
86891         (local_wcslen): New function, for Solaris 2.5.1.
86892         (VASNPRINTF): Use it instead of wcslen.
86893
86894 2003-11-16  Bruno Haible  <bruno@clisp.org>
86895
86896         * lib/xsize.h (xmax): New function.
86897         (xsum, xsum3, xsum4): Declare as "pure" functions.
86898
86899 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86900
86901         * modules/xalloc (Files): Undo latest change, since xalloc.h
86902         no longer needs SIZE_MAX or PTRDIFF_MAX.
86903
86904 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86905
86906         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
86907         gl_PTRDIFF_MAX.
86908
86909 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86910
86911         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
86912         "return", to pacify some unknown compiler.  Problem reported
86913         by Joerg Schilling.
86914
86915 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86916
86917         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
86918         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
86919         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
86920         heuristic is just as accurate as far as we know, and it removes a
86921         dependency on size_max.m4 and ptrdiff_max.m4.
86922
86923 2003-11-11  Bruno Haible  <bruno@clisp.org>
86924
86925         * modules/xsize (Files): Add m4/size_max.m4.
86926         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
86927
86928 2003-11-11  Bruno Haible  <bruno@clisp.org>
86929
86930         * m4/size_max.m4: New file.
86931         * m4/ptrdiff_max.m4: New file.
86932         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
86933         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
86934         (gl_XALLOC): Invoke it.
86935
86936 2003-11-11  Bruno Haible  <bruno@clisp.org>
86937
86938         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
86939         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
86940         defined.
86941
86942 2003-11-10  Paul Eggert  <eggert@twinsun.com>
86943
86944         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
86945         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
86946         rejected some allocations of exactly SIZE_MAX - 2 bytes.
86947         From Bruno Haible.
86948         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
86949         not (size_t) -1, since it's defined here.
86950
86951 2003-11-09  Karl Berry  <karl@gnu.org>
86952
86953         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
86954
86955 2003-11-06  Paul Eggert  <eggert@twinsun.com>
86956
86957         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
86958         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
86959         Reject sizes of exactly SIZE_MAX bytes.
86960         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
86961         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
86962
86963 2003-11-05  Bruno Haible  <bruno@clisp.org>
86964
86965         * lib/xsize.h: Include limits.h, to avoid a possible collision with
86966         SIZE_MAX defined in <limits.h> on Solaris.
86967
86968 2003-11-04  Jim Meyering  <jim@meyering.net>
86969
86970         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
86971         variable names, rather than @VAR@.
86972         * modules/poll: Likewise.
86973
86974 2003-11-04  Bruno Haible  <bruno@clisp.org>
86975
86976         * modules/xsize: New file.
86977         * modules/linebreak: Depend on xsize.
86978         * MODULES.html.sh (func_all_modules): Add xsize.
86979
86980 2003-11-04  Bruno Haible  <bruno@clisp.org>
86981
86982         * m4/xsize.m4: New file.
86983
86984 2003-11-04  Bruno Haible  <bruno@clisp.org>
86985
86986         * lib/xsize.h: New file.
86987         * lib/linebreak.c: Include xsize.h.
86988         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
86989         argument for overflow.
86990         Suggested by Paul Eggert.
86991
86992 2003-11-03  Karl Berry  <karl@gnu.org>
86993
86994         * config/config.{guess,sub}: update from config.
86995
86996 2003-11-03  Jim Meyering  <jim@meyering.net>
86997
86998         * modules/userspec (lib_SOURCES): Add userspec.h.
86999         (Include): Add "userspec.h".
87000         Improve description.
87001
87002 2003-11-03  Jim Meyering  <jim@meyering.net>
87003
87004         * lib/userspec.c: Include "userspec.h".
87005         * lib/userspec.h: New file.
87006
87007 2003-11-03  Bruno Haible  <bruno@clisp.org>
87008
87009         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
87010
87011 2003-11-03  Bruno Haible  <bruno@clisp.org>
87012
87013         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
87014         available, to avoid (extremely rare) race condition.
87015         Suggested by Paul Eggert.
87016
87017 2003-11-02  Karl Berry  <karl@gnu.org>
87018
87019         * config/srclist.txt (vasprintf.c): sync broken, sigh.
87020
87021 2003-10-31  Paul Eggert  <eggert@twinsun.com>
87022
87023         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
87024         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
87025         (read_filesystem_list): Set and use me_type_malloced.
87026         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
87027         whatever the type happens to be), for brevity and consistency.
87028         Check for size calculation overflow on Alphas running OSF/1.
87029
87030 2003-10-31  Jim Meyering  <jim@meyering.net>
87031
87032         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
87033
87034         * lib/linebuffer.c: Include <string.h> for declaration of memset.
87035
87036 2003-10-30  Paul Eggert  <eggert@twinsun.com>
87037             Bruno Haible  <bruno@clisp.org>
87038
87039         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
87040         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
87041
87042 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
87043
87044         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
87045         netbsd*-gnu*.  Suggested by Robert Millan.
87046
87047 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87048
87049         * modules/group-member: Depend on stdbool.
87050
87051 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87052
87053         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
87054
87055 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87056
87057         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
87058         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
87059         after the 'gnu' in these cases.  This fixes some bugs in the
87060         previous change, and is based on suggestions by Robert Millan.
87061
87062 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87063
87064         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
87065         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
87066         no longer needed.
87067         * lib/quotearg.c (quotearg_n_options): Use it.
87068         * lib/group-member.c: Include <stdbool.h>.
87069         (free_group_info): Arg is now const *; don't free arg.
87070         (get_group_info): Now returns bool and accepts struct group_info *,
87071         rather than returning a malloc'ed struct group_info *.
87072         All uses changed.  Check for overflow in internal size calculation.
87073
87074         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
87075         rather than xmalloc/xrealloc.
87076         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
87077         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
87078         conformance bug: the old code used a pointer after freeing the
87079         storage that it addressed.
87080         * lib/hash.c (hash_initialize): Simplify the code by using
87081         xalloc_oversized rather than doing it by hand.
87082         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
87083         the buffer preserved.  Use free and xmalloc instead.
87084         * lib/quotearg.c (quotearg_n_options): Likewise.
87085         Use a simpler test for size overflow.  Don't use xalloc_oversized
87086         because unsigned int might be wider than size_t (!); this suggests
87087         that we should switch from unsigned int to size_t for slot numbers.
87088
87089 2003-10-28  Paul Eggert  <eggert@twinsun.com>
87090
87091         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
87092         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
87093         NetBSD kernels.  Requested by Richard Stallman.
87094
87095 2003-10-27  Paul Eggert  <eggert@twinsun.com>
87096
87097         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
87098         to allocate the returned structure.  Do not allocate a subarray,
87099         as x2nrealloc will do that.
87100         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
87101         instead of xnrealloc.
87102         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
87103
87104 2003-10-27  Bruno Haible  <bruno@clisp.org>
87105
87106         * lib/stdbool_.h: Better support for BeOS.
87107
87108 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87109
87110         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
87111         now uses inline.
87112
87113 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87114
87115         * lib/xalloc.h (xalloc_oversized): New static inline function, for
87116         callers that want to do their own size-overflow checking.  Include
87117         <stdbool.h>, since xalloc_oversized returns bool.
87118         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
87119         to use xalloc_oversized.
87120
87121         Add two functions x2realloc, x2nrealloc, for programs that grow
87122         arrays dynamically by doubling their sizes.
87123         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
87124         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
87125         New functions.
87126
87127         Port to C99 semantics for 'inline' of external functions.
87128         Bug reported by Bruno Haible.
87129         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
87130         with the old contents of xnmalloc.
87131         (xnmalloc, xmalloc): Use it.
87132         (xnrealloc_inline): New static inline function,
87133         with the old contents of xnrealloc.
87134         (xnrealloc, xrealloc): Use it.
87135
87136         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
87137         that.
87138
87139 2003-10-26  Karl Berry  <karl@gnu.org>
87140
87141         * config/srclist.txt (COPYING.DOC): no longer available from
87142         /gd/gnuorg; don't know where the ultimate source is.
87143
87144 2003-10-25  Paul Eggert  <eggert@twinsun.com>
87145
87146         Fix several address-calculation bugs in the hash modules,
87147         plus some minor code cleanup.
87148
87149         * lib/hash.h: Include <stdbool.h>, for bool.
87150         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
87151         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
87152         hash_get_n_entries, hash_get_max_bucket_length,
87153         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
87154         hash_rehash): Use size_t rather than unsigned.
87155         * lib/hash.c (struct hash_table, hash_get_n_buckets,
87156         hash_get_n_buckets_used, hash_get_n_entries,
87157         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
87158         hash_get_entries, hash_do_for_each, hash_string, is_prime,
87159         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
87160         Likewise.
87161         (SIZE_MAX): Define if not defined.
87162         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
87163         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
87164         hash_print):
87165         Use const * when possible.
87166         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
87167         (check_tuning): Fix bug: if tuning parameters were very close to
87168         0 or 1, rounding errors could have caused subscript violations.
87169         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
87170         (hash_initialize): Add 'fail:' label
87171         to free table and return NULL, and use it to simplify code.
87172         Use calloc rather than clearing the storage ourself.
87173         (hash_initialize, hash_rehash): Check for arithmetic overflow in
87174         buffer size calculations.
87175         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
87176         Include <stddef.h>, for size_t.
87177         * lib/hash-pjw.c (hash_pjw): Likewise.
87178         Switch to method described by Bruno Haible.
87179         Include <limits.h>, for CHAR_BIT.
87180         (SIZE_BITS): New macro.
87181
87182 2003-10-23  Paul Eggert  <eggert@twinsun.com>
87183
87184         * m4/getline.m4 (AM_FUNC_GETLINE):
87185         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
87186         hosts.  Problem reported by Derek Robert Price in
87187         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
87188         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
87189         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
87190
87191 2003-10-21  Paul Eggert  <eggert@twinsun.com>
87192
87193         * lib/getndelim2.c (getndelim2): When size calculation overflows,
87194         ceiling the allocation at NMAX bytes rather than silently
87195         discarding input bytes before NMAX is reached.  This makes
87196         a difference only if NMAX exceeds SIZE_MAX / 2.
87197
87198         * lib/obstack.c: Merge from glibc.
87199         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
87200         Add libc_hidden_def (_obstack_newchunk).
87201         (_obstack_free) [! defined _LIBC]: Remove.
87202         [defined _LIBC]: Make a strong alias from obstack_free, rather than
87203         a clone of the function body.
87204         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
87205         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
87206
87207         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
87208         glibc.
87209         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
87210         arg to memcpy.
87211
87212         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
87213         (obstack_ptr_grow_fast, obstack_int_grow_fast):
87214         Don't use lvalue casts, as GCC plans to remove support for them
87215         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
87216         was also present in the non-GCC version, indicating that this
87217         code had always been buggy and had never been widely used.
87218         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
87219         Use the fast variant of each macro, rather than copying the
87220         definiens of the fast variant; that way, we'll be more likely to
87221         catch future bugs in the fast variants.
87222
87223 2003-10-20  Bruno Haible  <bruno@clisp.org>
87224
87225         * modules/wait-process: New file.
87226         * MODULES.html.sh (func_all_modules): Add wait-process.
87227
87228 2003-10-20  Bruno Haible  <bruno@clisp.org>
87229
87230         * m4/wait-process.m4: New file.
87231
87232 2003-10-20  Bruno Haible  <bruno@clisp.org>
87233
87234         * lib/wait-process.h: New file, from GNU gettext.
87235         * lib/wait-process.c: New file, from GNU gettext.
87236
87237 2003-10-19  Jim Meyering  <jim@meyering.net>
87238
87239         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
87240         HPUX 10.20.
87241
87242 2003-10-18  Karl Berry  <karl@gnu.org>
87243
87244         * config/config.guess: update from config.
87245
87246 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87247
87248         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
87249         (getgroups): First arg is int, not size_t.
87250         Don't let 'free' mangle errno.
87251
87252 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87253
87254         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
87255
87256 2003-10-16  Karl Berry  <karl@gnu.org>
87257
87258         * config/config.{guess,sub}: update from config.
87259
87260 2003-10-16  Jim Meyering  <jim@meyering.net>
87261
87262         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
87263         memcpy.
87264
87265 2003-10-15  Paul Eggert  <eggert@twinsun.com>
87266
87267         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
87268         (SIZE_MAX): Remove.
87269         (new_exclude, add_exclude_file): Initial size no longer needs to
87270         be a power of 2.
87271         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
87272         our own address arithmetic overflow checking.
87273
87274         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
87275         (fnmatch): Do not alloca more than 2000 wide characters;
87276         instead, use malloc for large buffers.
87277         Check for address arithmetic overflow, and return -1
87278         with errno set to ENOMEM in that case.
87279         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
87280         (NEW_PATTERN): Do not alloca more than 8000 bytes;
87281         instead, return -1.  Check for address arithmetic overflow.
87282
87283 2003-10-14  Paul Eggert  <eggert@twinsun.com>
87284
87285         Handle invalid suffixes and overflow independently, so that
87286         callers can treat them independently as needed.  Fix some bugs in
87287         suffix handling, e.g., "100k@" was not diagnosed as an invalid
87288         suffix for a human-readable blocksize.  The major caller-visible
87289         change is the addition of a new
87290         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
87291         that both overflow and suffix chars were found.
87292
87293         * lib/human.c (humblock): Don't check separately for invalid suffix
87294         char; that is xstrtoumax's job (now that its bug is fixed).
87295         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
87296         INTMAX_MAX]: New macros.
87297         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
87298         TYPE_MAXIMUM): New macros.
87299         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
87300         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
87301         if overflow occurs, as it's what __strtol does and it's more useful
87302         in practice.
87303         (__xstrtol): If __strtol reports some error other than ERANGE,
87304         reflect it to the caller as LONGINT_INVALID.  If it reports
87305         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
87306         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
87307         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
87308         value.
87309         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
87310         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
87311         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
87312         [defined UINTMAX_MAX]: New macros.
87313
87314 2003-10-14  Bruno Haible  <bruno@clisp.org>
87315
87316         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
87317
87318 2003-10-14  Bruno Haible  <bruno@clisp.org>
87319
87320         * m4/sig_atomic_t: New file, from GNU gettext.
87321         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
87322
87323 2003-10-14  Bruno Haible  <bruno@clisp.org>
87324
87325         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
87326         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
87327         Also use volatile where needed.
87328
87329 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87330
87331         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
87332         Change maintainer from Bruno Haible to 'all'.
87333
87334 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87335
87336         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
87337
87338 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87339
87340         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
87341         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
87342         and define in terms of the other primitives.
87343         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
87344         (SIZE_MAX): Define if not already defined.
87345         (array_size_overflow): New function.
87346         (xalloc_die): Abort instead of exiting if 'error' returns.
87347         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
87348         (xmalloc, xrealloc): Use them.
87349         (xcalloc): Check for address arithmetic overflow.
87350         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
87351         a bit faster than strcpy.
87352
87353 2003-10-10  Simon Josefsson  <jas@extundo.com>
87354
87355         * modules/argp (Depends-on): Add restrict and strcase.
87356
87357 2003-10-10  Simon Josefsson  <jas@extundo.com>
87358
87359         * m4/argp.m4: Add AC_C_INLINE.
87360
87361 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87362
87363         Merge getpass from libc, plus a few fixes.
87364
87365         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
87366         Include <stdbool.h>.
87367         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
87368         __fsetlocking to empty.
87369         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
87370         do include <bits/libc-lock.h>.
87371         Do not include <fcntl.h>; not needed.
87372         [_LIBC]: Include <wchar.h>.
87373         (NOTCANCEL_MODE): New macro.
87374         (flockfile, funlockfile) [_LIBC]: New macros.
87375         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
87376         [!_LIBC]: New macros.
87377         (call_fclose): New function.
87378         (getpass): Use it.  Save tty stream separately; this simplifies the
87379         code and makes it more reliable if stdin happens to equal stdout.
87380         Invoke __fsetlocking on tty.
87381         Handle thread cancellation if needed.
87382         Namespace cleanup (use __tcgetattr, __getline).
87383         Use bool for Booleans.
87384         [USE_IN_LIBIO]: Handle wide streams.
87385         [!_LIBC]: Unconditionally do the fseek, since we don't know what
87386         stream might go where.
87387
87388         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
87389         doesn't have to include <stdio.h> before us.
87390         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
87391         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
87392         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
87393         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
87394         if not declared, so that we can use getpass.c code from libc without
87395         rewriting it.
87396         (flockfile, ftrylockfile, funlockfile): New macros.
87397
87398 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87399
87400         * modules/getpass: Depend on stdbool.
87401
87402 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87403
87404         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
87405
87406 2003-10-07  Karl Berry  <karl@gnu.org>
87407
87408         * config/config.{guess,sub}: update from config.
87409
87410 2003-10-06  Jim Meyering  <jim@meyering.net>
87411             Bruno Haible  <bruno@clisp.org>
87412
87413         This lets translators provide better translations for the
87414         "Written by ..." part of --version output.
87415         * lib/version-etc.h: Include stdarg.h.
87416         (version_etc_copyright): Declare as readonly.
87417         (version_etc): Make this function variadic with a NULL-terminated list
87418         of author name strings.
87419         (version_etc_va): New declaration.
87420         * lib/version-etc.c: Include stdarg.h, stdlib.h.
87421         (version_etc_copyright): Declare as readonly.
87422         (version_etc_va): New function. Provide a different translatable string
87423         for each possible number of authors < 10. Abbreviate when there are 10
87424         authors or more.
87425         (version_etc): Make this function variadic. Call version_etc_va.
87426         Suggestion from Gary V. Vaughan.
87427
87428         * lib/long-options.h (parse_long_options): Change prototype: the
87429         authors string is moved to the end and becomes variadic.
87430         * lib/long-options.c: Include stdarg.h.
87431         (parse_long_options): Make this function variadic, too.
87432         Call version_etc_va, not version_etc.
87433
87434 2003-10-06  Bruno Haible  <bruno@clisp.org>
87435
87436         * modules/version-etc-2: Remove file.
87437         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
87438
87439 2003-10-06  Bruno Haible  <bruno@clisp.org>
87440
87441         * modules/fatal-signal: New file.
87442         * MODULES.html.sh (func_all_modules): Add fatal-signal.
87443
87444 2003-10-06  Bruno Haible  <bruno@clisp.org>
87445
87446         * m4/fatal-signal.m4: New file.
87447         * m4/signalblocking.m4: New file, from GNU gettext.
87448
87449 2003-10-06  Bruno Haible  <bruno@clisp.org>
87450
87451         * lib/version-etc-2.h: Remove file.
87452         * lib/version-etc-2.c: Remove file.
87453
87454 2003-10-06  Bruno Haible  <bruno@clisp.org>
87455
87456         * lib/fatal-signal.h: New file, from GNU gettext.
87457         * lib/fatal-signal.c: New file, from GNU gettext.
87458
87459 2003-10-05  Paul Eggert  <eggert@twinsun.com>
87460
87461         * README: Rework advice for preventing empty .o files.
87462         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
87463         not <sys/types.h>.
87464
87465 2003-10-04  Karl Berry  <karl@gnu.org>
87466
87467         * lib/argp*: update from libc.
87468
87469 2003-10-04  Karl Berry  <karl@gnu.org>
87470
87471         * config/config.{guess,sub}: update from config.
87472
87473 2003-10-02  Bruno Haible  <bruno@clisp.org>
87474
87475         * modules/lchown (Include): Add lchown.h.
87476         * modules/time_r (Include): Use "..." syntax.
87477         * modules/xgetdomainname (Include): Add xgetdomainname.h.
87478
87479 2003-10-01  Simon Josefsson  <jas@extundo.com>
87480
87481         * MODULES.html.sh (func_all_modules): Move gethostname from section
87482         'based on' to section 'lacking' POSIX:2001.
87483
87484 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
87485
87486         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
87487         to output mode on the same stream.
87488
87489 2003-09-29  Paul Eggert  <eggert@twinsun.com>
87490
87491         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
87492         Fix arg typo in previous patch.
87493
87494 2003-09-28  Jim Meyering  <jim@meyering.net>
87495
87496         * lib/error.c: Correct cpp indentation.
87497
87498 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87499
87500         * modules/free: New file.
87501
87502 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87503
87504         * m4/free.m4: New file.
87505
87506 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87507
87508         * lib/minmax.h (MIN, MAX)
87509         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
87510         Omit the special code that used __typeof__, since we worry that
87511         it could be more trouble than it's worth.  See:
87512         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
87513         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
87514
87515         * lib/free.c: New file.
87516
87517 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
87518
87519         Trivial fixes to Makefile.am parts of module listings.
87520         * modules/strstr: Append strstr.h to lib_SOURCES.
87521         * modules/strcase: Likewise, for strcase.h.
87522
87523 2003-09-27  Karl Berry  <karl@gnu.org>
87524
87525         * config/mkinstalldirs: update from automake.
87526
87527 2003-09-26  Paul Eggert  <eggert@twinsun.com>
87528
87529         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
87530         (error_tail): Do not loop, reallocating temporary buffer, since
87531         the output cannot contain more wide characters than the input
87532         contains bytes, the size must be big enough already.  This avoids
87533         one potential size overflow calculation.  Check for size overflow
87534         when calculating temporary buffer size.  Free temporary buffer
87535         when done, if it was allocated with malloc; this plugs a memory
87536         leak.  Remove casts from void * to pointers, that are no longer
87537         needed now that we're assuming C89 or better.
87538
87539         Merge error changes from glibc.
87540
87541         * lib/error.c, error.h: Update copyright notice header to match glibc.
87542         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
87543         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
87544         Disable cancellation while printing error.
87545         * lib/error.h: Prepend __ to parameter names.
87546
87547 2003-09-26  Jim Meyering  <jim@meyering.net>
87548
87549         * lib/error.c (error_tail): Move some declarations
87550         into inner scope where the local variables are used.
87551
87552 2003-09-26  Bruno Haible  <bruno@clisp.org>
87553
87554         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
87555         stpncpy().
87556         Don't define stpncpy through config.h; it's now done through stpncpy.h.
87557
87558 2003-09-26  Bruno Haible  <bruno@clisp.org>
87559
87560         * lib/stpncpy.h (gnu_stpncpy): New declaration.
87561         (stpncpy): Define as alias for gnu_stpncpy.
87562         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
87563
87564 2003-09-25  Simon Josefsson  <jas@extundo.com>
87565
87566         * lib/xgetdomainname.h: New file.
87567         * lib/xgetdomainname.c: New file.
87568
87569 2003-09-25  Simon Josefsson  <jas@extundo.com>
87570             Bruno Haible  <bruno@clisp.org>
87571
87572         * modules/getdomainname: New file.
87573         * modules/xgetdomainname: New file.
87574         * MODULES.html.sh (func_all_modules): Add getdomainname,
87575         xgetdomainname.
87576
87577 2003-09-25  Simon Josefsson  <jas@extundo.com>
87578             Bruno Haible  <bruno@clisp.org>
87579
87580         * m4/getdomainname.m4: New file.
87581
87582 2003-09-25  Simon Josefsson  <jas@extundo.com>
87583             Bruno Haible  <bruno@clisp.org>
87584
87585         * lib/getdomainname.h: New file.
87586         * lib/getdomainname.c: New file.
87587
87588 2003-09-25  Karl Berry  <karl@gnu.org>
87589
87590         * lib/argp-fmtstream.c, argp-help.c: update from libc.
87591
87592 2003-09-25  Karl Berry  <karl@gnu.org>
87593
87594         * config/install-sh: update from automake.
87595
87596 2003-09-25  Bruno Haible  <bruno@clisp.org>
87597
87598         * modules/version-etc-2: New file, from modules/version-etc with
87599         modifications.
87600         * MODULES.html.sh (func_all_modules): Add version-etc-2.
87601
87602 2003-09-25  Bruno Haible  <bruno@clisp.org>
87603
87604         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
87605         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
87606
87607 2003-09-24  Simon Josefsson  <jas@extundo.com>
87608
87609         * modules/xgethostname: Add xgethostname.h.
87610
87611 2003-09-24  Paul Eggert  <eggert@twinsun.com>
87612
87613         * lib/linebuffer.c (freebuffer): Don't free the argument, just
87614         the buffer associated with the argument.  Bug reported by
87615         Simon Josefsson.
87616
87617 2003-09-24  Paul Eggert  <eggert@twinsun.com>
87618
87619         * README: Document assumptions that 'int' is at least 32 bits
87620         wide, that integer arithmetic is 2's complement without overflow,
87621         that there are no holes in integer values, that adding sizes of
87622         two nonoverlapping objects can't overflow, and that all-bits-zero
87623         yields scalar zero.  Fix spelling and capitalization typos.
87624
87625 2003-09-19  Karl Berry  <karl@gnu.org>
87626
87627         * lib/argp.h: update from libc.
87628
87629 2003-09-17  Paul Eggert  <eggert@twinsun.com>
87630
87631         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
87632         to avoid spurious warnings like "AC_RUN_IFELSE was called before
87633         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
87634
87635 2003-09-17  Paul Eggert  <eggert@twinsun.com>
87636
87637         * gnulib-tool: Use "test -h", not "test -L", for portability
87638         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
87639         (tags_regexp): Remove, since \| doesn't conform to POSIX.
87640         (sed_extract_prog): Issue s commands one-by-one, rather than
87641         using \| in one s command.
87642
87643 2003-09-16  Paul Eggert  <eggert@twinsun.com>
87644
87645         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
87646         input error, instead of returning NULL the next time we are called
87647         (and therefore losing track of errno).
87648
87649 2003-09-16  Bruno Haible  <bruno@clisp.org>
87650
87651         * gnulib-tool (func_create_testdir): Warn about duplicated
87652         dependencies.
87653
87654 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87655
87656         * modules/argmatch, modules/fatal, modules/obstack,
87657         modules/xalloc, modules/xgethostname: Sort dependencies by
87658         importance, not alphabetically.
87659
87660 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87661
87662         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
87663         fails, so that the caller gets the proper errno.
87664
87665         * lib/readutmp.c (read_utmp): Likewise.
87666         Check for fstat error.  Close stream and free storage
87667         when failing.
87668
87669 2003-09-14  Karl Berry  <karl@gnu.org>
87670
87671         * config/srclist.txt (strdup.c): disable for c89 changes.
87672
87673 2003-09-14  Jim Meyering  <jim@meyering.net>
87674
87675         * lib/getloadavg.c: Correct cpp indentation.
87676         * lib/strdup.c: Likewise.
87677         * lib/vasnprintf.c: Likewise.
87678
87679 2003-09-14  Bruno Haible  <bruno@clisp.org>
87680
87681         * modules/fwriteerror: New file.
87682         * MODULES.html.sh (func_all_modules): Add fwriteerror.
87683
87684 2003-09-14  Bruno Haible  <bruno@clisp.org>
87685
87686         * lib/fwriteerror.h: New file.
87687         * lib/fwriteerror.c: New file.
87688
87689 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87690
87691         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
87692         modules/xgethostname, modules/xalloc: Depend on exit.
87693
87694 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87695
87696         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
87697
87698         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
87699         and AC_MINIX, too, so that their extensions are available.
87700
87701         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
87702         This macro has been superseded by gl_BACKUPFILE.
87703
87704         More patches to assume C89 or better.
87705
87706         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
87707
87708         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
87709         unconditionally.
87710         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
87711         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
87712         Include <string.h>, <stdlib.h> unconditionally.
87713         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
87714         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
87715         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
87716         headers or for string.h.
87717         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
87718         or strtoul.
87719
87720         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
87721         headers.
87722         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
87723         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87724         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
87725         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
87726         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87727         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
87728         memcpy, memset.
87729         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
87730         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
87731         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
87732         strtol.
87733         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
87734         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
87735         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
87736         strtoul.
87737
87738 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87739
87740         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
87741         * lib/obstack.c [!defined _LIBC]: Likewise.
87742         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
87743         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
87744         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
87745
87746         More changes to assume C89 or better.
87747
87748         * lib/error.c (error_tail): Assume vprintf.
87749
87750         * lib/argmatch.c (getenv): Remove decl.
87751         * lib/progreloc.c (get_full_program_name): Define via prototype.
87752         * lib/setenv.c (clearenv): Likewise.
87753         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
87754         needed.
87755         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
87756         (malloc, memcpy): Remove decls.
87757         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
87758         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
87759         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87760         (memcpy): Remove macro.
87761         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
87762         (__P): Remove.  All uses removed.
87763         (PTR): Remove.  All uses changed to void *.
87764         (CHAR_BIT, NULL): Remove.
87765         (spaces, zeros, memset_space, memset_zero)
87766         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
87767         Remove.
87768         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
87769         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
87770         Define with prototype.
87771         Remove now-unnecessary prototype decl.
87772         (extra_args_spec): Assume ANSI C.  All uses changed.
87773         (extra_args_spec_iso): Remove.
87774         (my_strftime, emacs_strftimeu): Define via prototype.
87775         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
87776         unconditionally.
87777         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
87778         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
87779         (strtoul, strtol): Remove decls.
87780         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
87781         LONG_MAX): Remove.
87782         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87783         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
87784         (LOCALE_PARAM_PROTO): New macro.
87785         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
87786         (INTERNAL (strtol), strtol): Define with a prototype.
87787         (PARAMS): Remove.  All uses removed.
87788         * lib/tempname.c: Include <string.h> unconditionally.
87789         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
87790         * lib/xgethostname.c (main): Define with a prototype.
87791         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
87792         Include <stdlib.h> unconditionally.
87793         (calloc, malloc, realloc, free): Remove decls.
87794         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
87795         Include <stdlib.h> unconditionally.  Sort include file names.
87796         (strtod): Remove.
87797         (xstrtod): Define with a prototype.
87798         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
87799         (strtol, strtoul): Remove decls.
87800
87801 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87802
87803         More patches to assume C89 or better.
87804         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
87805         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
87806         string.h, memchr, STDC_HEADERS.
87807
87808 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87809
87810         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
87811         Include <stdlib.h>, <string.h> unconditionally.
87812         Remove now-unnecessary cast to char *.
87813         * lib/strnlen.c: Include <string.h> unconditionally.
87814         * lib/yesno.c (yesno): Define with a prototype.
87815
87816 2003-09-11  Bruno Haible  <bruno@clisp.org>
87817
87818         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
87819
87820 2003-09-10  Jim Meyering  <jim@meyering.net>
87821
87822         * lib/error.c: Correct indentation of cpp directives.
87823
87824 2003-09-10  Bruno Haible  <bruno@clisp.org>
87825
87826         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
87827         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
87828         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
87829         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
87830         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
87831         <stdlib.h> and <string.h> checks.
87832         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
87833         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
87834
87835 2003-09-10  Bruno Haible  <bruno@clisp.org>
87836
87837         * lib/strcspn.c: Include <string.h> unconditionally.
87838         * lib/strpbrk.c: Include <string.h> unconditionally.
87839         * lib/strstr.c: Include <string.h> unconditionally.
87840         * lib/unicodeio.c: Include <string.h> unconditionally.
87841         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
87842         * lib/unsetenv.c: Likewise.
87843         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
87844         * lib/yesno.c: Include <stdlib.h> unconditionally.
87845         (rpmatch): Add prototype.
87846
87847 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87848
87849         More patches to assume C89 or better.
87850         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
87851         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
87852         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
87853         or for string.h.
87854         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
87855         stdlib.h.
87856         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
87857         C headers.
87858         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
87859         string.h.
87860         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
87861         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
87862         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
87863         or for string.h.
87864         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
87865         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
87866         C headers.
87867         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
87868         memcpy.
87869         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
87870         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
87871         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
87872         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
87873         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
87874         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
87875         string.h, free.
87876         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
87877         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
87878         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
87879         C headers, or for string.h.
87880         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
87881         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
87882         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
87883         headers, memory.h, stdlib.h, string.h, strings.h.
87884         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
87885         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
87886         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
87887         strchr.
87888         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
87889         headers, memory.h, string.h.
87890         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
87891         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
87892         free.
87893         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
87894         headers.
87895         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
87896         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
87897         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
87898         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
87899         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
87900
87901 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87902
87903         More K&R removal.
87904
87905         * lib/acosl.c (main): Use a prototype.
87906         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
87907         tanl.c: Likewise.
87908
87909         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
87910
87911         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
87912         (getopt, etopt_long, getopt_long_only, _getopt_internal)
87913         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
87914         with a prototype.
87915         * lib/getopt.c (const): Remove macro.
87916         Include <string.h> unconditionally.
87917         (my_index): Remove; all uses changed to strchr.
87918         (strlen): Remove decl.
87919         (exchange): Remove forward decl; no longer needed.
87920         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
87921         Define with prototype.
87922         * lib/getopt1.c (const): Remove macro.
87923         (getopt_long, getopt_long_only, main): Define with prototype.
87924
87925         * lib/getugroups.c: Include <string.h> unconditionally.
87926
87927         * lib/getusershell.c: Include <stdlib.h> unconditionally.
87928         (getusershell, setusershell, endusershell, readname, main):
87929         Define with prototypes.
87930
87931         * lib/group-member.c: Include group-member.h first.
87932         Include <stdlib.h> unconditionally.
87933
87934         * lib/hard-locale.c: Include hard-locale.h first.
87935         Include <stdlib.h>, <string.h> unconditionally.
87936
87937         * lib/hash.c (free, malloc): Remove decls.
87938         Include <stdlib.h> unconditionally.
87939
87940         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
87941         (getenv): Do not declare.
87942
87943         * lib/idcache.c: Include <string.h> unconditionally.
87944
87945         * lib/long-options.c: Include long-options.h first, to test interface.
87946         Include <stdlib.h> unconditionally.
87947
87948         * lib/makepath.c: Include makepath.h first, to test interface.
87949         Include <stdlib.h> and <string.h> unconditionally.
87950
87951         * lib/linebuffer.c: Include <stdlib.h>.
87952         (free): Remove decl.
87953
87954         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
87955         stddef.h. rpl_malloc returns void *, not char *.
87956         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
87957         prototype.
87958
87959         * lib/md5.h: Include <limits.h> unconditionally.
87960         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
87961         (__P): Remove; all uses removed.
87962         * lib/md5.c: Include "md5.h" first.
87963         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
87964         md5_buffer, md5_process_bytes, md5_process_block):
87965         Define with prototypes.
87966         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
87967         * lib/sha.c: Include "sha.h" first.
87968         Include <stdlib.h>, <string.h> unconditionally.
87969
87970         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
87971         * lib/memcmp.c (__ptr_t): Likewise.
87972         * lib/memrchr.c (__ptr_t): Likewise.
87973         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
87974         Include <string.h> unconditionally.
87975         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
87976         * lib/memchr.c: Include <stdlib.h> unconditionally.
87977         * lib/memchr.c (LONG_MAX): Remove.
87978         * lib/memrchr.c (LONG_MAX): Likewise.
87979         * lib/memchr.c (__memchr): Define via a prototype.
87980         * lib/memrchr.c (__memrchr): Likewise.
87981         * lib/memcmp.c (__P): Remove, and remove all uses.
87982         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
87983         Remove forward decls; no longer needed.
87984         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
87985         Use types required by C89 in prototype.
87986
87987         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
87988         * lib/savedir.c: Likewise.
87989         * lib/mkdir.c (free): Remove decl.
87990         * lib/rmdir.c (rmdir): Define with a prototype.
87991         * lib/savedir.c: Include savedir.h first, to test interface.
87992
87993         * lib/mktime.c (STDC_HEADERS): Remove.
87994         Include <stdlib.h>, <string.h> unconditionally.
87995
87996         * lib/modechange.c: Include <stdlib.h> unconditionally.
87997         (malloc): Remove decl.
87998
87999         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
88000         (free): Remove decl.
88001
88002         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
88003         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
88004         (This type really should be intptr_t, but that's a C99ism.)
88005         (_obstack_memcpy): Remove: all uses changed to memcpy.
88006         Include <string.h> unconditionally.
88007         (struct obstack): Assume __STDC__ for types of members
88008         chunkfun, freefun, extra_arg.
88009         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
88010         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
88011         obstack_begin, obstack_specify_allocation,
88012         obstack_specify_allocation_with_arg, obstack_chunkfun,
88013         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
88014         Remove unprototyped decls and the macros that use them.
88015         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
88016         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
88017         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
88018         (defined __STDC__ && __STDC__)]:
88019         Remove nonprototyped code.
88020         Include <stdlib.h> unconditionally.
88021         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
88022         _obstack_allocated_p, _obstack_free, obstack_free,
88023         _obstack_memory_used, print_and_abort):
88024         Define using prototypes.
88025         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
88026         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
88027         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
88028         obstack_next_free, obstack_object_size, obstack_room) [0]:
88029         Remove unused, unprototyped code.
88030
88031         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
88032
88033         * lib/physmem.c (physmem_total, physmem_available, main): Define
88034         with prototypes.
88035
88036         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
88037         (main): Define with a prototype.
88038
88039         * lib/posixver.c (getenv): Remove decl.
88040
88041         * lib/putenv.c (malloc): Returns void *, not char *.
88042         Include <string.h> unconditionally.
88043         (strchr, memcpy, NULL): Do not define.
88044
88045         * lib/readtokens.c: Include readtokens.h first, to test interface.
88046         Include <stdlib.h>, <string.h> unconditionally.
88047         (init_tokenbuffer): Define with a prototype.
88048
88049         * lib/regex.c (PARAMS): Remove.  All uses removed.
88050         All uses of _RE_ARGS removed, too.
88051         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88052         unconditionally.
88053         (bzero): Assume memset exists.
88054         (memcmp, memcpy, NULL): Remove.
88055         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
88056         char, or assignments to local vars of type signed char.
88057         (init_syntax_once, PREFIX(extract_number_and_incr),
88058         PREFIX(print_partial_compiled_pattern),
88059         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
88060         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
88061         PREFIX(regex_grow_registers), PREFIX(regex_compile),
88062         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
88063         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
88064         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
88065         wcs_compile_range, byte_compile_range, truncate_wchar,
88066         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
88067         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
88068         count_mbs_length, wcs_re_match_2_internal,
88069         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
88070         PREFIX(alt_match_null_string_p),
88071         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
88072         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
88073         regfree, PREFIX(extract_number)): Define with prototype.  Remove
88074         now-unnecessary declaration, if any.
88075         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
88076         regcomp, regexec):
88077         Remove now-unnecessary casts among pointer types.
88078         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
88079
88080         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
88081         (free): Remove decl.
88082
88083         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
88084
88085         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
88086         (free): Remove decl.
88087
88088         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
88089         * lib/xgetcwd.c: Likewise.
88090
88091         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
88092         (free): Remove decl.
88093
88094         * lib/strchrnul.c (strchrnul): Define with a prototype.
88095         Fix bug: c_in was not converted to char before searching.
88096
88097         The following changes are not K&R related:
88098
88099         * lib/group-member.h: Include <sys/types.h>, so that this file is
88100         self-contained.
88101         * lib/makepath.h: Likewise.
88102
88103         * lib/getusershell.c (readname, default_index, line_size, readname):
88104         Use size_t, not int, for sizes.
88105         (readname): If the size overflows, report an error instead of
88106         looping forever.
88107
88108 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88109
88110         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
88111         libc.
88112
88113 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88114
88115         * README: New section: portability guidelines.
88116
88117 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88118
88119         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
88120         C89 spec.
88121
88122 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88123
88124         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
88125
88126 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88127
88128         Assume C89 or better; remove K&R cruft.
88129         A few of these changes were first proposed by Derek Robert Price
88130         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
88131
88132         * lib/addext.c: Include <string.h> unconditionally.
88133         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
88134         Don't declare getenv or malloc.
88135
88136         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
88137         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
88138         (NULL): Remove.
88139         (find_stack_direction, alloca): Use prototypes.
88140
88141         * lib/atexit.c (atexit): Define using a prototype.
88142
88143         * lib/basename.c, dirname.c, stripslash.c:
88144         Include <string.h> unconditionally.
88145
88146         * lib/bcopy.c: Include <stddef.h>.
88147         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
88148
88149         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
88150
88151         * lib/error.h (error, error_at_line, error_print_progname)
88152         [! (defined (__STDC__) && __STDC__)]: Remove decls.
88153         * lib/error.c: Include error.h first, to check interface.
88154         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88155         (VA_START): Remove; all uses changeed to va_start.
88156         (exit, strerror): Remove decls.
88157         (error_print_progname): Prototype uncondionally.
88158         Don't include <errno.h>; no longer needed.
88159         (private_strerror): Remove.
88160         (error_tail): Always define.
88161         (error, error_at_line): Assume C89 or better; always use prototypes.
88162         * lib/fatal.c: Include "fatal.h" first, to test interface.
88163         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88164         (VA_START): Remove; all uses changed to va_start.
88165         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
88166         this case.
88167         (exit): Remove decl.
88168         (fatal): Prototype unconditionally.  Assume va_start works.
88169         Abort at end, to pacify gcc.
88170
88171         * lib/euidaccess.c (main): Define with a prototype.
88172
88173         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
88174
88175         * lib/exitfail.c: Include <stdlib.h> unconditionally.
88176
88177         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
88178         prototypes.
88179         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
88180         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
88181         (getenv): Remove decl.
88182         (fnmatch): Define using a prototype.
88183         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
88184         (FCT): Define using a prototype.
88185
88186         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
88187
88188         * lib/gethostname.c: Include <stddef.h>.
88189         (gethostname): Define with prototype.  Length is size_t, not int.
88190
88191 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88192
88193         Assume C89 or better; remove K&R cruft.
88194         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
88195         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
88196         string.h, getenv, malloc.
88197         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
88198         headers.
88199         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
88200         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
88201         do not check for strerror.
88202         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
88203         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
88204         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
88205         do not check for doprnt or vprintf.
88206         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
88207         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
88208
88209 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88210
88211         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
88212         getversion.c should have been removed then, but was accidentally
88213         preserved.
88214
88215         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
88216         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
88217
88218 2003-09-08  Karl Berry  <karl@gnu.org>
88219
88220         * config/config.sub, config.guess, srclistvars.sh: update from savannah
88221                 config, forget about prep.
88222
88223         * config/depcomp, missing: update from automake.
88224
88225 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88226
88227         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
88228         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88229
88230 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88231
88232         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
88233         copy_tm_result.  Bug reported by Simon Josefsson in
88234         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88235
88236 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88237
88238         * m4/time_r.m4: New file.
88239         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
88240         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
88241         is. Check for timegm declaration.
88242         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
88243         Do not check for gmtime_r.
88244         Replace mktime if __mktime_internal does not exist and if mktime
88245         hasn't been replaced already.
88246
88247 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88248
88249         * lib/time_r.c, lib/time_r.h: New files.
88250
88251         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
88252         __localtime_r.
88253         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
88254         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
88255
88256         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
88257         __gmtime_r.
88258         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
88259         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
88260         Include <time_r.h>.
88261
88262         * lib/timegm.c: Switch to glibc implementation, with the following
88263         changes:
88264         [defined HAVE_CONFIG_H]: Include <config.h>.
88265         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
88266         (__mktime_internal) [!defined _LIBC]: New decl.
88267         (__gmtime_r) [!defined _LIBC]: New macro and function.
88268         (timegm): Use a prototype, since gnulib assumes C89.
88269         Do not bother declaring tmp to be const, as it's not really usefu.
88270         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
88271         (timegm): Declare only if HAVE_DECL_TIMEGM.
88272
88273 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88274
88275         * MODULES.html.sh (func_all_modules): Add time_r.
88276         * modules/time_r: New file.
88277         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
88278         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
88279
88280 2003-09-03  Paul Eggert  <eggert@twinsun.com>
88281
88282         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
88283         Bug reported by Lute Kamstra in
88284         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
88285
88286         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
88287         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
88288         course with correspondingly smaller numbers for tomorrow and
88289         yesterday.  From Tadayoshi Funaba.  Originally installed into
88290         sh-utils on 1999-08-07, but the patch got lost (I guess during the
88291         coreutils merge?).
88292
88293 2003-08-31  Simon Josefsson  <jas@extundo.com>
88294
88295         * modules/timegm: New file.
88296         * MODULES.html.sh (func_all_modules): Add timegm.
88297
88298 2003-08-31  Simon Josefsson  <jas@extundo.com>
88299
88300         * m4/timegm.m4: New file.
88301
88302 2003-08-31  Simon Josefsson  <jas@extundo.com>
88303
88304         * lib/timegm.h: New file.
88305         * lib/timegm.c: New file.  Based on
88306         wget-1.8.2/src/http.c:mktime_from_utc.
88307
88308 2003-08-31  Karl Berry  <karl@gnu.org>
88309
88310         * lib/argp.h: update from libc.
88311
88312 2003-08-28  Bruno Haible  <bruno@clisp.org>
88313
88314         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
88315         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
88316         followed by '#define fnmatch fnmatch_posix' gives an error.
88317
88318 2003-08-28  Bruno Haible  <bruno@clisp.org>
88319
88320         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
88321         warning on QNX, which defines O_BINARY to 000000.
88322
88323 2003-08-27  Jim Meyering  <jim@meyering.net>
88324
88325         * m4/mkstemp.m4: Require that the system mkstemp be able to create
88326         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
88327         would fail after 32.  Reported by Danny Levinson.  Details here:
88328         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
88329
88330 2003-08-24  Bruno Haible  <bruno@clisp.org>
88331
88332         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
88333         MSVC7 <stdio.h> is included later.
88334
88335 2003-08-22  Simon Josefsson  <jas@extundo.com>
88336
88337         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
88338
88339 2003-08-20  Karl Berry  <karl@gnu.org>
88340
88341         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
88342
88343 2003-08-20  Bruno Haible  <bruno@clisp.org>
88344
88345         * modules/progname: New file.
88346         * MODULES.html.sh (func_all_modules): Add progname.
88347
88348 2003-08-20  Bruno Haible  <bruno@clisp.org>
88349
88350         * lib/progname.h: New file, from GNU gettext.
88351         * lib/progname.c: New file, from GNU gettext.
88352         * lib/progreloc.c: New file, from GNU gettext.
88353
88354 2003-08-19  Jim Meyering  <jim@meyering.net>
88355
88356         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
88357         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
88358
88359 2003-08-19  Bruno Haible  <bruno@clisp.org>
88360
88361         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
88362         more.
88363
88364 2003-08-19  Bruno Haible  <bruno@clisp.org>
88365
88366         * lib/xstrdup.c: Assume <string.h> exists.
88367
88368 2003-08-18  Paul Eggert  <eggert@twinsun.com>
88369
88370         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
88371         in makefile rules.
88372
88373 2003-08-18  Jim Meyering  <jim@meyering.net>
88374
88375         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
88376         * m4/lib-ld.m4: Likewise.
88377
88378 2003-08-18  Jim Meyering  <jim@meyering.net>
88379
88380         * lib/setenv.h: Indent nested cpp directive.
88381         * lib/vasnprintf.c: Remove trailing blanks.
88382
88383 2003-08-17  Simon Josefsson  <jas@extundo.com>
88384
88385         * modules/xstrndup: New file.
88386         * MODULES.html.sh (func_all_modules): Add xstrndup.
88387
88388 2003-08-17  Simon Josefsson  <jas@extundo.com>
88389
88390         * modules/argp: Fix autoconf macro name. Add more dependencies.
88391
88392 2003-08-17  Simon Josefsson  <jas@extundo.com>
88393
88394         * m4/xstrndup.m4: New file.
88395
88396 2003-08-17  Simon Josefsson  <jas@extundo.com>
88397
88398         * m4/argp.m4: New file.
88399
88400 2003-08-17  Simon Josefsson  <jas@extundo.com>
88401             Bruno Haible  <bruno@clisp.org>
88402
88403         * lib/xstrndup.h: New file.
88404         * lib/xstrndup.c: New file.
88405
88406 2003-08-17  Bruno Haible  <bruno@clisp.org>
88407
88408         * modules/strndup (Files, Include): Add lib/strndup.h.
88409
88410 2003-08-17  Bruno Haible  <bruno@clisp.org>
88411
88412         * modules/euidaccess (Files): Add lib/euidaccess.h.
88413
88414 2003-08-17  Bruno Haible  <bruno@clisp.org>
88415
88416         * lib/strndup.h: New file.
88417
88418 2003-08-17  Bruno Haible  <bruno@clisp.org>
88419
88420         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
88421         like AC_GNU_SOURCE.
88422         * modules/extensions (configure.ac): Comment out the invocation of
88423         gl_USE_SYSTEM_EXTENSIONS.
88424
88425 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88426
88427         Merges from coreutils, etc.
88428         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
88429         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
88430         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
88431         fixing a typo.
88432         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
88433         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
88434
88435 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88436
88437         Document merge from coreutils.
88438         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
88439         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
88440         * modules/utime: Add m4/utimes-null.m4.
88441
88442 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88443
88444         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
88445         space, undoing this 2003-08-12 change:
88446         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88447
88448 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88449
88450         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
88451         strtoul.c from libc, undoing this 2003-08-12 change:
88452         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88453
88454 2003-08-16  Jim Meyering  <jim@meyering.net>
88455
88456         Merges from coreutils.
88457         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
88458         prefix.  Adjust cache variables similarly.  Create 500 rather than
88459         just 300 files, to exercise bug on Darwin6.5, too.
88460         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
88461         $missing_dir.
88462         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
88463         AM_SYS_POSIX_TERMIOS.
88464         Reported by mkc@mathdogs.com.
88465         Also change use of $am_cv_sys_posix_termios
88466         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
88467         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
88468         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
88469         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
88470         in /proc/mounts until it finds one with matching device number.  This
88471         is unnecessary when the FILE argument *is* a mount point.  No stat call
88472         is necessary in that case.  So, disable the statvfs-testing code on
88473         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
88474         as RedHat bug# 84846.
88475         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88476         to 1MB, so as not to render systems with no stack size limit (e.g.,
88477         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
88478         Include <unistd.h>.  On some systems,
88479         it is required for the definition of _SC_PAGESIZE.
88480
88481 2003-08-16  Jim Meyering  <jim@meyering.net>
88482
88483         Merge from coreutils.
88484         * lib/xstrtoimax.c: #else #if -> #elif.
88485         * lib/xstrtoumax.c: Likewise.
88486
88487 2003-08-16  Jim Meyering  <jim@meyering.net>
88488
88489         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
88490         * m4/utimes.m4: Removed.
88491         * m4/utimes-null.m4: Renamed from utimes.m4.
88492
88493         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88494         to 1MB, so as not to render systems with no stack size limit (e.g.,
88495         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
88496         Include <unistd.h>.  On some systems,
88497         it is required for the definition of _SC_PAGESIZE.
88498
88499 2003-08-16  Jim Meyering  <jim@meyering.net>
88500         and Paul Eggert  <eggert@cs.ucla.edu>
88501
88502         Merges from coreutils, etc.
88503
88504         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
88505         using the latest version from cvs.  This avoids problems with #line
88506         directives using a vendor (Sun) compiler.
88507         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
88508         Don't set GETGROUPS_LIB here; now it's
88509         done via getgroups.m4's wrapper function.
88510         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
88511         rather than just in sh-util/configure.in, so that the
88512         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
88513         same.
88514         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
88515         AC_FUNC_GETLOADAVG where to find getloadavg.c.
88516         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
88517         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
88518         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
88519         Remove code that is now done by the newly-required macros.
88520         Append $(EXEEXT) to DF_PROG.
88521         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
88522         Do not invoke or require the following here,
88523         since prereq.m4 or some gnulib .m4 now does this for us:
88524         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
88525         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
88526         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
88527         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
88528         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
88529         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
88530         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
88531         AC_FUNC_OBSTACK.
88532         Do not replace the following functions, as this is now the job
88533         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
88534         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
88535         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
88536         atexit getpass, strdup, getpagesize.
88537         Replace 'raise'.
88538         Do not check for the following functions, as this is now the job
88539         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
88540         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
88541         setregid.
88542         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
88543         Check for sys/sysctl.h.
88544         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
88545         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
88546         of checking for ssize_t ourselves.
88547
88548         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
88549         Require every macro that gnulib/modules/* suggests for us.
88550         (jm_PREREQ_ADDEXT): New macro.
88551         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
88552         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
88553
88554         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
88555         (gl_PHYSMEM): Use it.
88556         Also check for `table' function.
88557         Check for new headers and functions.
88558         Add check for sys/sysmp.h.
88559         With suggestions from Kaveh Ghazi.
88560         Ignore headers that are present but cannot be compiled.  This
88561         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
88562         C 5.4.
88563
88564 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88565
88566         Document merge from coreutils.
88567         * modules/userspec: Depend on posixver.
88568         * modules/strftime: Depend on tzset.
88569
88570 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88571
88572         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
88573         rather than tab, after '#' in shell-script copyright notices.
88574         Suggested by Bruno Haible.
88575
88576 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88577
88578         * config/srclist-update: Use three spaces, rather than tab, after '#'
88579         in shell-script copyright notices.  Suggested by Bruno Haible.
88580         Remove unnecessary parenthesization in regular expression.
88581
88582 2003-08-15  Jim Meyering  <jim@meyering.net>
88583
88584         Merge from coreutils.
88585         * lib/xgethostname.c: Include <stdlib.h>.
88586         (xghostname): Don't exit for anything other than memory-related
88587         failure; just return NULL.
88588         * lib/userspec.c: Include "posixver.h".
88589         (parse_user_spec): Accept `.' as a separator only
88590         in pre-POSIX-200112 mode.
88591         * lib/strtoimax.c: Use #elif rather than #else #if.
88592         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
88593         Remove function, now that we can rely on a working tzset function.
88594         [!_LIBC]: Ensure that the required autoconf test has been run.
88595         [!defined _NL_CURRENT && HAVE_STRFTIME]:
88596         Use underlying_strftime for %r.
88597         * lib/sha.c: Merge in some clean-up and optimization changes from
88598         glibc.
88599         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
88600         Ensure that it is a multiple of 64.
88601         Rearrange loop exit tests so as to avoid performing an
88602         additional fread after encountering an error or EOF.
88603         * lib/realloc.c: Update copyright date.
88604
88605 2003-08-15  Jim Meyering  <jim@meyering.net>
88606         and Paul Eggert  <eggert@twinsun.com>
88607
88608         Merge from coreutils.
88609         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
88610         member but strut utmpx does not.  Needed for AIX 4.3.3.
88611         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
88612
88613 2003-08-15  Jim Meyering  <jim@meyering.net>
88614         and Paul Eggert  <eggert@cs.ucla.edu>
88615
88616         Merges from coreutils, etc.
88617         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
88618         Require gl_FUNC_TZSET_CLOBBER.
88619         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
88620         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
88621         members.
88622
88623 2003-08-14  Paul Eggert  <eggert@twinsun.com>
88624
88625         Help the merge from coreutils.
88626         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
88627         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
88628         * m4/tzset.m4: Use it too.
88629
88630 2003-08-14  Paul Eggert  <eggert@twinsun.com>
88631
88632         * modules/tzset: New file.
88633
88634 2003-08-14  Jim Meyering  <jim@meyering.net>
88635
88636         Merges from coreutils.
88637         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
88638         variable names, rather than @FNMATCH_H@.
88639         * modules/alloca: Likewise for $(ALLOCA_H).
88640
88641         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
88642         the three copies of the literal target, `fnmatch.h'.
88643         * modules/alloca (alloca.h): Likewise.
88644
88645 2003-08-14  Jim Meyering  <jim@meyering.net>
88646
88647         Merge from coreutils.
88648         * m4/tzset.m4: New file.
88649         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
88650         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
88651         otherwise, AIX 5.1 systems would end up using the latter.
88652         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
88653         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
88654         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
88655         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
88656
88657 2003-08-14  Jim Meyering  <jim@meyering.net>
88658
88659         Merge from coreutils.
88660         * lib/obstack.h: Whitespace changes.
88661         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
88662         and xcalloc return values.
88663         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
88664         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
88665         hang on OSF/1 5.1 for DIR on both local and remote file systems.
88666         Reported by (and fix confirmed by) Nelson H. F. Beebe.
88667         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88668         error from mntctl.
88669         Use mntctl's return value to drive the entry-processing loop, since
88670         we can't rely on the value of the vmt_length member in the last
88671         entry.  On some systems doing so could result in exhausting
88672         virtual memory.  Based in part on a patch from Mike Jetzer.
88673
88674 2003-08-14  Jim Meyering  <jim@meyering.net>
88675         and Paul Eggert  <eggert@twinsun.com>
88676
88677         Merges from coreutils, plus other fixes.
88678         * lib/physmem.c: Merge in portability changes from gcc/libiberty
88679         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
88680         for credits and details.  Thanks to Kaveh Ghazi for helping
88681         to keep these files in sync.
88682         (ARRAY_SIZE): Define it.
88683         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
88684         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
88685         (memcasecmp): Don't assume size_t fits in unsigned int.
88686         Remove casts and duplicate code.
88687         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
88688         (memcpy): Remove definition.
88689         Merge in some clean-up and optimization changes from glibc.
88690         [BLOCKSIZE]: Move definition to top of file.
88691         Ensure that it is a multiple of 64.
88692         Rearrange loop exit tests so as to avoid performing an
88693         additional fread after encountering an error or EOF.
88694         * lib/md5.h (md5_uintptr): Define.
88695         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
88696         return to the initial working directory.  Preserve errno
88697         for caller.
88698         * lib/idcache.c: Include "xalloc.h".
88699         (xmalloc, xrealloc): Remove decls.
88700         (getuser): Remove casts no longer required in C89.
88701         * lib/human.c: Include stdio.h, for sprintf.
88702         * lib/group-member.c: Include "xalloc.h".
88703         (xmalloc, xrealloc): Remove decls.
88704         (get_group_info): Remove casts no longer required in C89.
88705         * lib/getusershell.c (readname): Remove casts no longer required in
88706         C89.
88707         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
88708         * lib/getline.c: Whitespace fix, from coreutils.
88709
88710 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88711
88712         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
88713         Check for isascii.
88714
88715         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88716         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88717         Undo previous (whitespace-only) change.
88718
88719 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88720
88721         * lib/exclude.c: Include <ctype.h>
88722         (IN_CTYPE_DOMAIN): New macro.
88723         (is_space): New fn.
88724         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
88725         and empty lines.
88726
88727         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88728         Undo previous (whitespace-only) change.
88729
88730 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88731
88732         * config/srclist-update: Change update back to the old behavior,
88733         leaving whitespace alone.  Use one 'sed' command rather than a
88734         pipeline.
88735         (fixlicense): Now a variable, not a function.
88736         (remove_trailing_blanks): Remove.
88737         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
88738         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88739         Undo previous (whitespace-only) change.
88740
88741 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88742
88743         Merge from coreutils.
88744         * modules/euidaccess: Add lib_SOURCES, include for new
88745         file euidaccess.h
88746
88747 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88748
88749         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88750         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88751         Normalize leading white space and remove trailing white space.
88752
88753         Merge from coreutils
88754         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
88755
88756         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
88757         0.12.1.  These files are now being upgraded automatically by
88758         ../config/srclist-update.
88759
88760 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88761
88762         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88763         Normalize leading white space and remove trailing white space.
88764         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
88765         notice, as per ../config/srclist-update.
88766
88767         Merge from coreutils.
88768         * lib/euidaccess.h: New file.
88769         * lib/euidaccess.c: Include it.
88770         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
88771         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
88772         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
88773
88774 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88775
88776         * config/srclist-update: Add copyright notice.
88777         (remove_id_lines, remove_trailing_blanks): New constants.
88778         (fixfile): Use them to normalize spacing a bit in copied files.
88779         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88780         Normalize leading white space and remove trailing white space.
88781
88782         * config/texinfo.tex: Sync with texinfo.
88783
88784         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
88785         strtoul.c from libc, to merge coreutils whitespace changes.
88786
88787         * config/srclist.txt: Get the following m4 files from gettext:
88788         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
88789         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
88790         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
88791         wint_t.m4.
88792
88793 2003-08-12  Karl Berry  <karl@gnu.org>
88794
88795         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
88796         been made.
88797
88798 2003-08-11  Paul Eggert  <eggert@twinsun.com>
88799
88800         * modules/gnu-source, m4/gnu-source.m4:
88801         Remove; we're assuming Autoconf 2.54 or later now.
88802         Suggested by Bruno Haible.
88803         * MODULES.html.sh (func_all_modules): Remove gnu-source.
88804
88805 2003-08-11  Bruno Haible  <bruno@clisp.org>
88806
88807         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
88808
88809 2003-08-11  Bruno Haible  <bruno@clisp.org>
88810
88811         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
88812         (vasnprintf): Use it instead of wcslen.
88813
88814 2003-08-11  Bruno Haible  <bruno@clisp.org>
88815
88816         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
88817         value to ensure that _Bool promotes to int. Use #define for _Bool when
88818         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
88819
88820 2003-08-10  Karl Berry  <karl@gnu.org>
88821
88822         * lib/regex.h: update from libc (whitespace fix).
88823
88824 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88825
88826         Merge some files from coreutils.  These changes were
88827         originally made by Jim Meyering.
88828         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
88829         many older Unixes require this.
88830         * lib/alloca.c (alloca): Remove cast to argument of free;
88831         no longer needed in C89.
88832         * lib/alloca_.h, regex.h: Fix white space to match
88833         what GNU indent does.
88834
88835 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88836
88837         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
88838         apparently Emacs's Unicode mode got confused before my 2003-08-05
88839         checkin.
88840
88841 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88842
88843         * m4/extensions.m4: New file.
88844         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
88845         Require gl_USE_SYSTEM_EXTENSIONS.
88846         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
88847         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
88848
88849 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88850
88851         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
88852         * modules/extensions, modules/gnu-source: New files.
88853         * modules/timespec, modules/unlocked-io: Depend on extensions.
88854
88855 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88856
88857         * modules/restrict: New file.
88858         * MODULES.html.sh (func_all_modules): Add restrict.
88859         * modules/regex: Depend on restrict.
88860
88861 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88862
88863         * m4/restrict.m4: New file.
88864         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
88865
88866 2003-08-07  Bruno Haible  <bruno@clisp.org>
88867
88868         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
88869         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
88870
88871 2003-08-07  Bruno Haible  <bruno@clisp.org>
88872
88873         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
88874         makes the module 'getndelim2' compatible with the module 'getline'.
88875
88876 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88877
88878         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
88879         byte with "\201" to avoid glitches when editing that source file
88880         with multi-gnome-terminal.
88881
88882 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88883
88884         * lib/bumpalloc.h: Remove.
88885
88886 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88887
88888         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
88889         * modules/bumpalloc: Remove.
88890
88891 2003-08-04  Paul Eggert  <eggert@twinsun.com>
88892
88893         * lib/getloadavg.c: Change copyright notice and spacing to conform to
88894         GNU coding style.
88895
88896         Merge from coreutils.
88897         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
88898         1. From glibc.
88899         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
88900         from Karl Berry, implemented by Jim Meyering.
88901         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
88902         from Dmitry V. Levin.
88903         Remove anachronistic cast of xrealloc.
88904         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
88905         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
88906         type. Otherwise, it wouldn't compile with at least /bin/cc on
88907         ymp-cray-unicos9.0.2.X.
88908         Combine two mostly-identical uses of alloca into one.
88909         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
88910
88911 2003-08-04  Dave Love  <d.love@dl.ac.uk>
88912
88913         [From Emacs.]
88914
88915         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
88916         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
88917         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
88918         obsolete NLIST_NAME_UNION.
88919         [__GNU__]: Undef BSD and FSCALE.
88920         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
88921
88922 2003-08-03  Paul Eggert  <eggert@twinsun.com>
88923
88924         * lib/stdbool_.h (_Bool): Make it signed char, instead of
88925         an enum type, so that it's guaranteed to promote to int.  See:
88926         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
88927
88928 2003-08-03  Karl Berry  <karl@gnu.org>
88929
88930         * config/depcomp: update from automake.
88931
88932 2003-07-31  Paul Eggert  <eggert@twinsun.com>
88933
88934         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
88935         (strerror): Don't assume that a printable int fits in 14 bytes.
88936
88937 2003-07-31  Bruno Haible  <bruno@clisp.org>
88938
88939         * modules/getpass-gnu: New file.
88940         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
88941
88942 2003-07-31  Bruno Haible  <bruno@clisp.org>
88943
88944         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
88945
88946 2003-07-24  Karl Berry  <karl@gnu.org>
88947
88948         * config/missing: update from automake.
88949
88950 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
88951             Bruno Haible  <bruno@clisp.org>
88952
88953         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
88954         * lib/getline.c (getline, getdelim): Likewise.
88955         Remove _GNU_SOURCE define; now it's defined in config.h through
88956         m4/getline.m4.
88957
88958 2003-07-23  Karl Berry  <karl@gnu.org>
88959
88960         * config/config.sub: update from prep.
88961
88962 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88963
88964         * modules/xalloc (Depends-on): Add exitfail.
88965         * modules/xmemcoll: Likewise.
88966
88967 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88968
88969         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
88970         over-parenthesization in macros.
88971
88972         Sync with coreutils.
88973
88974         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
88975         required by C99.
88976
88977         Use `exit_failure' for xalloc and xmemcoll instead of their own
88978         private exit-failure variables.
88979         * lib/xalloc.h (xalloc_exit_failure): Remove.
88980         * lib/xmalloc.c: Likewise.  Include exitfail.h.
88981         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
88982         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
88983         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
88984         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
88985
88986 2003-07-20  Jim Meyering  <jim@meyering.net>
88987
88988         * modules/closeout (Depends-on): Add exitfail.
88989         Suggestion from Bruno Haible.
88990
88991 2003-07-19  Karl Berry  <karl@gnu.org>
88992
88993         * config/config.sub: update from prep.
88994
88995 2003-07-18  Paul Eggert  <eggert@twinsun.com>
88996
88997         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
88998         Remove.
88999         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
89000         to test that it can stand by itself.  Include "exitfail.h".
89001         Clients should set exit_failure instead.
89002         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
89003
89004 2003-07-18  Bruno Haible  <bruno@clisp.org>
89005
89006         * modules/getndelim2: New file.
89007         * modules/getline: Share files with module getndelim2.
89008         * modules/getnline: Depend on getndelim2 instead of sharing files with
89009         it. Add getnline.c to lib_SOURCES.
89010         * MODULES.html.sh (func_all_modules): Add getndelim2.
89011
89012 2003-07-18  Bruno Haible  <bruno@clisp.org>
89013
89014         * m4/getndelim2.m4: New file.
89015         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
89016         invoke gl_PREREQ_GETNDELIM2.
89017         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
89018         gl_PREREQ_GETNDELIM2.
89019         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
89020         gl_GETNDELIM2.
89021
89022 2003-07-18  Bruno Haible  <bruno@clisp.org>
89023
89024         * lib/getndelim2.h: New file.
89025         * lib/getndelim2.c: Make into a module of its own. Include config.h,
89026         getndelim2.h.
89027         (getndelim2): Make non-static. Change return type to ssize_t.
89028         * lib/getline.h: Change argument names.
89029         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
89030         * lib/getnline.c: Include getndelim2.h.
89031
89032 2003-07-18  Andreas Schwab  <schwab@suse.de>
89033
89034         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
89035
89036 2003-07-17  Karl Berry  <karl@gnu.org>
89037
89038         * config/config.sub: update from prep.
89039
89040 2003-07-17  Bruno Haible  <bruno@clisp.org>
89041
89042         * modules/getnline: New file.
89043         * modules/getline: Add lib/getndelim2.c to source file list.
89044         * MODULES.html.sh (func_all_modules): Add getnline.
89045
89046 2003-07-17  Bruno Haible  <bruno@clisp.org>
89047
89048         * m4/getnline.m4: New file.
89049
89050 2003-07-17  Bruno Haible  <bruno@clisp.org>
89051
89052         * m4/Makefile.am.in: Remove file.
89053         * m4/Makefile.am: Remove file.
89054         * m4/Makefile.in: Remove file.
89055
89056 2003-07-17  Bruno Haible  <bruno@clisp.org>
89057
89058         * lib/getnline.h: New file.
89059         * lib/getnline.c: New file.
89060         * lib/getndelim2.c: New file, extracted from getline.c.
89061         (getndelim2): Renamed from getdelim2, with added nmax argument.
89062         * lib/getline.c: Include getndelim2.c.
89063         (getdelim2): Moved out to getndelim2.c.
89064         (getline, getdelim): Update.
89065
89066 2003-07-17  Bruno Haible  <bruno@clisp.org>
89067
89068         * lib/Makefile.am: Remove file.
89069         * lib/Makefile.in: Remove file.
89070
89071 2003-07-17  Bruno Haible  <bruno@clisp.org>
89072
89073         * configure.in: Remove file.
89074         * Makefile.in: Remove file.
89075
89076 2003-07-17  Bruno Haible  <bruno@clisp.org>
89077
89078         * MODULES.html.sh: Put the </BODY> right before </HTML>.
89079
89080 2003-07-16  Karl Berry  <karl@gnu.org>
89081
89082         * config/srclist-update: was running fixlicense twice, which caused
89083                 texinfo.tex to be nullified for some reason.  Simplify,
89084                 $gplsrc is no longer needed as far as I can see?
89085
89086 2003-07-16  Jim Meyering  <jim@meyering.net>
89087
89088         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
89089
89090 2003-07-15  Paul Eggert  <eggert@twinsun.com>
89091
89092         * config/srclist.txt: Get the following files from gettext-runtime/intl
89093         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
89094         ref-del.sin.  From Bruno Haible.
89095         * config/srclist-update (fixfile): Change grep pattern again, since the
89096         previous fix didn't work (there was another trailing $).  Use
89097         '[$]' to escape the $s.
89098
89099 2003-07-15  Karl Berry  <karl@gnu.org>
89100
89101         * lib/vasnprintf.c: update from gettext.
89102
89103 2003-07-15  Karl Berry  <karl@gnu.org>
89104
89105         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
89106         gets expanded when surrounded by '$'.
89107
89108 2003-07-15  Jim Meyering  <jim@meyering.net>
89109
89110         * modules/save-cwd: Don't depend on error.  From Derek Price.
89111
89112 2003-07-15  Jim Meyering  <jim@meyering.net>
89113
89114         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
89115
89116 2003-07-14  Simon Josefsson  <jas@extundo.com>
89117
89118         * modules/mempcpy: New file.
89119         * MODULES.html.sh (func_all_modules): Add mempcpy.
89120
89121 2003-07-14  Simon Josefsson  <jas@extundo.com>
89122
89123         * m4/mempcpy.m4: New file.
89124
89125 2003-07-14  Simon Josefsson  <jas@extundo.com>
89126
89127         * lib/mempcpy.h: New file.
89128         * lib/mempcpy.c: New file.
89129
89130 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89131
89132         * modules/getdate, modules/posixtm: Depend on mktime.
89133
89134 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89135
89136         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
89137         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
89138         unicodeio.c, unicodeio.h, unlocked-io.h:
89139         Switch from LGPL to GPL.
89140
89141 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89142
89143         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
89144         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
89145         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
89146         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
89147         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
89148         updated automatically by ../config/srclist-update.  This changes
89149         their license from LPGL to GPL.
89150
89151 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89152
89153         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
89154         assumed to refer to the root of the most recent stable gettext version.
89155         * config/srclistvars.sh: Add defaults for eggert.
89156         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
89157         Match "This program" as well as "The program".  This is needed
89158         for gettext.
89159
89160 2003-07-14  Jim Meyering  <jim@meyering.net>
89161
89162         Don't emit diagnostics.  Let callers do that.
89163         * lib/save-cwd.c: Don't include "error.h".
89164         (save_cwd): Don't call error.  Ensure that errno is valid
89165         when returning nonzero.
89166
89167         * lib/save-cwd.h (restore_cwd): Update prototype.
89168         * lib/save-cwd.c (restore_cwd): Remove two parameters.
89169         Simplify.  Don't call error upon failure.  Let callers do that.
89170         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
89171         when auditing is enabled.  But don't bother updating the #if.
89172
89173 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
89174
89175         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
89176         it breaks C++ compilation.
89177         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
89178
89179 2003-07-10  Simon Josefsson  <jas@extundo.com>
89180
89181         * modules/strchrnul (Makefile.am): Add strchrnul.h.
89182
89183 2003-07-10  Jim Meyering  <jim@meyering.net>
89184
89185         * m4/clock_time.m4: Remove trailing blank.
89186         * m4/intmax_t.m4: Likewise.
89187
89188 2003-07-10  Jim Meyering  <jim@meyering.net>
89189
89190         * lib/vasnprintf.c: Remove trailing blanks.
89191         Make cpp indentation consistent.
89192
89193 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89194
89195         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
89196         posixver.c, strftime.c, strnlen.c, strverscmp.c:
89197         Switch from LGPL to GPL.
89198
89199 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89200
89201         * config/srclist.txt: Sort sublists.  Add
89202         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
89203         that differ from gnulib for one reason or another; we'd like this list
89204         to be smaller but for now let's document what we have.
89205
89206 2003-07-08  Paul Eggert  <eggert@twinsun.com>
89207
89208         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
89209         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
89210         and sweeter "eval x=$x".
89211         * config/srclist.txt: Get lib/argp* from glibc.
89212
89213 2003-07-07  Paul Eggert  <eggert@twinsun.com>
89214
89215         * lib/mktime.c: Fix some boundary cases and remove need for floating
89216         point.
89217
89218         Issue a compile-time diagnostic if time_t is floating point, or if
89219         two's complement arithmetic is not in effect, or if arithmetic
89220         right shift does not propagate the sign.  These assumptions were
89221         all in the original code but they weren't checked.
89222
89223         (TIME_T_MIDPOINT, verify): New macros.
89224         (__isleap): Remove; it has integer overflow problems.
89225         (leapyear): New function, without those problems.
89226         (ydhms_tm_diff): Remove; splitting into two parts.
89227         (ydhms_diff): New function, containing the arithmetic part of
89228         the old ydhms_tm_diff function.  Issue a compile-time
89229         diagnostic if we are not using C99 integer division.
89230         Avoid casts when possible.
89231         (guess_time_tm): New function, containing the checking part of
89232         the old ydhms_tm_diff function.  Return the new value, rather than
89233         the difference between it and the old.  Accept a new argument T
89234         so that *T specifies the old value.  Check for overflow in the result.
89235
89236         (__mktime_internal): Use a time_t offset, not a long int offset.
89237         This undoes the 2003-06-04 change, which is no longer needed now
89238         that we have better overflow checking.
89239         (localtime_offset): Likewise.
89240
89241         (__mktime_internal): Avoid harmful overflow on hosts where time_t
89242         and long are 64-bit but int is only 32-bit.
89243         (ydhms_diff): Use long int to store year1 and yday1.
89244         Issue a compile-time diagnostic if long int is not wide enough.
89245
89246         (__mktime_internal): Use long int to store adjusted year and yday.
89247         Use plain C rather than preprocessor commands, if that doesn't
89248         affect efficiency.
89249         Check for overflow (and try to repair) after each probe
89250         rather than checking only at the very end.  This avoids some bugs
89251         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
89252         does not equal GMT offset at maximum time).
89253         Use integer to check for overflow rather than floating point; this
89254         is more portable to non-IEEE hosts, and is a tad faster.
89255         When we detect that we are oscillating between two values,
89256         don't check whether tm_isdst has the requested value, since
89257         we already know the answer.  When tm_isdst has the wrong value,
89258         use a different heuristic to find the right one, based on the
89259         extreme values actually observed in practice in tz2003a,
89260         rather than the (overly optimistic) "previous 3 calendar quarters".
89261
89262         (not_equal_tm, print_tm, check_result): Use "const T" rather than
89263         "T const" to accommodate glibc style.
89264         (check_result): Use less-confusing report format.  "long" -> "long int.
89265         (main): Likewise.
89266         Don't loop if the iteration overflows time_t.
89267         Allow a negative step in the iteration.
89268
89269 2003-07-06  Karl Berry  <karl@gnu.org>
89270
89271         * config/depcomp: update from automake.
89272         * config/config.sub: update from prep.
89273
89274 2003-07-03  Karl Berry  <karl@gnu.org>
89275
89276         * config/config.guess: update from prep.
89277
89278 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89279
89280         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
89281         xreadlink.c now includes it unconditionally.
89282
89283 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89284
89285         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
89286         having it depend on HAVE_SYS_TYPES_H.
89287
89288 2003-07-01  Bruno Haible  <bruno@clisp.org>
89289
89290         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
89291         <sys/types.h> should be sufficient.
89292         Reported by Paul Eggert.
89293
89294 2003-06-26  Karl Berry  <karl@gnu.org>
89295
89296         * config/depcomp: update from automake.
89297
89298 2003-06-26  Bruno Haible  <bruno@clisp.org>
89299
89300         * modules/human: Depend on module stdbool.
89301
89302 2003-06-25  Bruno Haible  <bruno@clisp.org>
89303
89304         * modules/readlink: New file.
89305         * modules/xreadlink: Depend on it.
89306         * MODULES.html.sh (func_all_modules): Add readlink.
89307
89308 2003-06-25  Bruno Haible  <bruno@clisp.org>
89309
89310         * m4/readlink.m4: New file.
89311
89312 2003-06-25  Bruno Haible  <bruno@clisp.org>
89313
89314         * lib/readlink.c: New file.
89315
89316 2003-06-22  Karl Berry  <karl@gnu.org>
89317
89318         * config/srclist.txt: update mkinstalldirs from automake.
89319         * config/mkinstalldirs: update.
89320
89321 2003-06-22  Bruno Haible  <bruno@clisp.org>
89322
89323         Portability to mingw32.
89324         * m4/ssize_t.m4: New file, from GNU gettext.
89325         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
89326         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
89327
89328 2003-06-22  Bruno Haible  <bruno@clisp.org>
89329
89330         * modules/safe-read: Add m4/ssize_t.m4.
89331         * modules/xreadlink: Add m4/ssize_t.m4.
89332
89333 2003-06-20  Bruno Haible  <bruno@clisp.org>
89334
89335         Assume C89, so PARAMS isn't needed.
89336         * lib/unicodeio.h (PARAMS): Remove.
89337         * lib/unicodeio.c: Don't use PARAMS.
89338
89339 2003-06-18  Karl Berry  <karl@gnu.org>
89340
89341         * config/config.{guess,sub}: update from prep.
89342
89343 2003-06-18  Jim Meyering  <jim@meyering.net>
89344
89345         Merge changes from coreutils.
89346         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
89347         Remove explicit declarations of xmalloc and realloc.
89348         Include xalloc.h.
89349         (read_utmp): Remove anachronistic cast of xmalloc.
89350
89351 2003-06-17  Paul Eggert  <eggert@twinsun.com>
89352
89353         Assume C89, so PARAMS isn't needed.
89354         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
89355         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
89356         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
89357         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
89358         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
89359         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
89360         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
89361         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
89362         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
89363         lib/xstrtod.h, lib/xstrtol.h: Likewise.
89364         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
89365         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
89366         no longer needed. Anyway, config.h should always be included before any
89367         other file.
89368
89369 2003-06-11  Simon Josefsson  <jas@extundo.com>
89370
89371         * modules/sysexits: New file.
89372         * MODULES.html.sh (func_all_modules): Add sysexits.
89373
89374 2003-06-11  Simon Josefsson  <jas@extundo.com>
89375
89376         * lib/sysexit_.h: New file.
89377
89378 2003-06-11  Derek Price  <derek@ximbiot.com>
89379
89380         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
89381         necessary.
89382
89383 2003-06-11  Bruno Haible  <bruno@clisp.org>
89384
89385         * m4/sysexits.m4: New file.
89386
89387 2003-06-10  Simon Josefsson  <jas@extundo.com>
89388
89389         * lib/argp.h: New file, from glibc.
89390         * lib/argp-ba.c: New file, from glibc.
89391         * lib/argp-eexst.c: New file, from glibc.
89392         * lib/argp-fmtstream.c: New file, from glibc.
89393         * lib/argp-fmtstream.h: New file, from glibc.
89394         * lib/argp-fs-xinl.c: New file, from glibc.
89395         * lib/argp-help.c: New file, from glibc.
89396         * lib/argp-namefrob.h: New file, from glibc.
89397         * lib/argp-parse.c: New file, from glibc.
89398         * lib/argp-pv.c: New file, from glibc.
89399         * lib/argp-pvh.c: New file, from glibc.
89400         * lib/argp-xinl.c: New file, from glibc.
89401
89402 2003-06-10  Simon Josefsson  <jas@extundo.com>
89403
89404         * modules/strchrnul: New file.
89405
89406 2003-06-10  Simon Josefsson  <jas@extundo.com>
89407
89408         * modules/argp: New file.
89409
89410 2003-06-10  Simon Josefsson  <jas@extundo.com>
89411
89412         * m4/strchrnul.m4: New file.
89413
89414 2003-06-10  Simon Josefsson  <jas@extundo.com>
89415
89416         * lib/strchrnul.h: New file.
89417         * lib/strchrnul.c: New file.
89418
89419 2003-06-10  Bruno Haible  <bruno@clisp.org>
89420
89421         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
89422
89423 2003-06-07  Karl Berry  <karl@gnu.org>
89424
89425         * config/config.{guess,sub}: update from prep.
89426
89427 2003-06-07  Jim Meyering  <jim@meyering.net>
89428
89429         * modules/strtod: Use $(...) notation, not @...@ for
89430         AC_REPLACE'd variables.
89431         * modules/localcharset: Likewise.
89432
89433 2003-06-07  Jim Meyering  <jim@meyering.net>
89434
89435         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
89436         in place of my name in the copyright comment.
89437         Remove definition and uses of __P.
89438
89439         From coreutils.
89440         * lib/stat.c: Don't declare xmalloc explicitly.
89441         Instead, include "xalloc.h".
89442         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
89443         xrealloc, and xcalloc return values.
89444         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
89445         Improve comment.
89446         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
89447
89448 2003-06-07  Bruno Haible  <bruno@clisp.org>
89449
89450         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
89451         avoid AC_CONFIG_LINKS.
89452         * modules/fnmatch (Makefile.am): Use explicit creation rule for
89453         fnmatch.h, to avoid AC_CONFIG_LINKS.
89454         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
89455
89456 2003-06-07  Bruno Haible  <bruno@clisp.org>
89457
89458         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
89459         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
89460         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89461         directory.
89462         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
89463         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89464         directory.
89465
89466 2003-06-06  Jim Meyering  <jim@meyering.net>
89467
89468         Merge from coreutils.
89469         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
89470         Consolidate declarations and initializations of *_base* locals.
89471
89472         Merge from coreutils.
89473         This avoids a core dump on systems without GNU putenv,
89474         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
89475         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
89476         (unsetenv): New static function, from GNU libc.
89477         (rpl_putenv): Use it.
89478
89479         * lib/modechange.c: Remove trailing blanks.
89480
89481         Merge from coreutils.
89482         * lib/fsusage.c: Remove declaration of statfs.
89483         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
89484
89485         * lib/posixtm.c: Include <stdbool.h> unconditionally.
89486
89487 2003-06-06  Jim Meyering  <jim@meyering.net>
89488
89489         * lib/stdbool_.h: Renamed from stdbool.h.in.
89490
89491 2003-06-06  Jim Meyering  <jim@meyering.net>
89492             Bruno Haible  <bruno@clisp.org>
89493
89494         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
89495         Adjust Makefile.am snippet not to redirect directly to target.
89496         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
89497
89498 2003-06-05  Paul Eggert  <eggert@twinsun.com>
89499
89500         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
89501         mismatch, look in future quarters as well as past.  This fixes a
89502         bug when processing fall-backwards gaps immediately after a long
89503         period of daylight-saving time.
89504
89505         * lib/mktime.c: Assume freestanding C89 or better.
89506         (HAVE_LIMITS_H): Remove.  Assume it's 1.
89507         (__P): Remove; not used.
89508         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
89509         (mktime, not_equal_tm, print_tm, check_result,
89510         main): Use prototypes.  Use const * where appropriate.
89511         (main): Fix typo in testing code that uncovered by above changes.
89512         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
89513
89514 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89515
89516         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
89517         locale.h, localeconv.  This merges changes from coreutils.
89518
89519         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
89520         It can be removed after the next Autoconf is released.
89521         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
89522         needed.
89523
89524 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89525
89526         * lib/mktime.c: Fix Debian bug 177940
89527         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
89528         (localtime_offset): Now long int, not time_t, because we want it
89529         to be guaranteed to be signed.  All uses changed.
89530         (__mktime_internal): If overflow would occur when adding offset,
89531         don't add it.
89532
89533         Merge 'human' changes from coreutils.  Rewrite to support
89534         locale-specific notations like thousands separators.
89535         * lib/human.c: Simplify authorship notice.
89536         Include human.h immediately after config.h.
89537         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
89538         <limits.h>: Do not include, since human.h does.
89539         (SIZE_MAX, UINTMAX_MAX): New macros.
89540         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
89541         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
89542         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
89543         (power_letter): Renamed from suffixes.
89544         (generate_suffix_backwards): Remove.
89545         (adjust_value): Now takes int style (because of human.h changes)
89546         and long double value (for greater precision on some platforms).
89547         (group_number): New function.
89548         (human_readable): Use it.  Use integer options, not enum.
89549         Put the options before the sizes in the arg list.
89550         Support all the new options.
89551         The old human_readable function has been removed;
89552         use inttostr.h instead.
89553         (human_readable, default_block_size, humblock):
89554         Use uintmax_t, not int, for block sizes.
89555         (human_readable_inexact, block_size_types): Remove.
89556         (block_size_opts): New constant.
89557         (human_options): Renamed from human_block_size, with new signature
89558         that allows block sizes up to UINTMAX_MAX.  All callers changed.
89559         * lib/human.h: Add copyright and authorship notice.
89560         Include <limits.h> and <stdbool.h> unconditionally.
89561         (PARAMS): Remove.  All uses removed.
89562         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
89563         (enum human_inexact_style): Remove tag; now a nameless enum.
89564         (human_floor, human_ceiling, human_round_to_even): Now have
89565         values 2, 0, 1 rather than -1, 1, 0.
89566         (human_group_digits, human_suppress_point_zero, human_autoscale,
89567         human_base_1024, human_SI, human_B): New constants.
89568         (human_readable_inexact, human_block_size): Remove.
89569         (human_readable): Size args are now uintmax_t, not int.
89570         (human_options): New decl.
89571
89572         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
89573         unnecessary now that we assume C89 or better.  This change
89574         imported from coreutils.
89575
89576         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
89577         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
89578         in the 2003-05-30 sync from glibc.
89579
89580         .h files should stand alone, but we shouldn't include <sys/types.h>
89581         if we can get away with just <stddef.h>.
89582
89583         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
89584         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
89585         rather than <sys/types.h>, as we merely need size_t.
89586         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
89587         to get size_t.
89588         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
89589         Include <stdio.h>, to get FILE.
89590         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
89591         memcasecmp.h has included <stddef.h> and all we need is size_t.
89592         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
89593         our interface, instead of including <sys/types.h>
89594
89595 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89596
89597         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
89598         now, as glibc mktime is buggy on non-glibc systems.
89599
89600 2003-06-03  Karl Berry  <karl@gnu.org>
89601
89602         * config/config.sub: update from prep.
89603
89604 2003-06-02  Paul Eggert  <eggert@twinsun.com>
89605
89606         [from coreutils]
89607         Fix some minor time-related bugs with POSIX time arguments.
89608         Some valid time stamps were being rejected (notably -1, and
89609         time stamps before 1900 on 64-bit hosts).  And some invalid
89610         time stamps were being accepted, e.g. September 31.
89611
89612         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
89613         that we can return (time_t) -1 successfully.
89614         * lib/posixtm.c: Likewise.
89615         [HAVE_STDBOOL_H]: Include <stdbool.h>.
89616         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
89617         (t): Remove static var.
89618         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
89619         of static var.  All uses changed.
89620         (year): Do not reject years before 1900; they can occur with
89621         64-bit time_t.
89622         (posix_time_parse): Do not check for out-of-range components;
89623         that is now the caller's responsibility, since our checks were
89624         only approximations.
89625         (posixtime): Use mktime to check for out-of-range components,
89626         since it knows them exactly.
89627         If mktime returns (time_t) -1, check whether an error actually occurred
89628         by invoking localtime on -1.
89629         (main) [TEST_POSIXTIME]: Check for input data errors, and report
89630         posixtime failures better.
89631         Improve the test data (in comments only).
89632
89633 2003-06-02  Karl Berry  <karl@gnu.org>
89634
89635         * config/mkinstalldirs (version): new variable.
89636         (--version): new option.
89637         (usage): improve message.
89638
89639 2003-05-30  Karl Berry  <karl@gnu.org>
89640
89641         * lib/mktime.c: update from libc.
89642
89643 2003-05-30  Bruno Haible  <bruno@clisp.org>
89644
89645         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
89646         * config/config.rpath: Upgrade to gettext-0.12.1.
89647
89648 2003-05-30  Bruno Haible  <bruno@clisp.org>
89649
89650         * m4/gettext.m4: Upgrade to gettext-0.12.1.
89651         * m4/nls.m4: New file, from gettext-0.12.1.
89652         * m4/po.m4: New file, from gettext-0.12.1.
89653         * m4/progtest.m4: Upgrade to gettext-0.12.1.
89654
89655 2003-05-30  Bruno Haible  <bruno@clisp.org>
89656
89657         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
89658         * lib/localcharset.h: Likewise.
89659         * lib/localcharset.c: Likewise.
89660
89661 2003-05-29  Karl Berry  <karl@gnu.org>
89662
89663         * config/config.rpath: update from gettext.
89664
89665 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89666
89667         Assume the headers required for C89 freestanding compilers.
89668         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
89669         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
89670         * m4/human.m4 (gl_HUMAN): Likewise.
89671         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
89672         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
89673         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89674         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
89675         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89676         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
89677
89678 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89679
89680         Assume the headers required for C89 freestanding compilers.
89681         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
89682         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
89683         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
89684         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
89685         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
89686         define, since <limits.h> is guaranteed to do that.
89687         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
89688         * lib/exclude.c: Include <stdbool.h> unconditionally.
89689         * lib/tempname.c: Include <stddef.h> unconditionally.
89690         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
89691         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
89692         <stddef.h> does that.
89693         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
89694         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
89695         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
89696         needed.
89697         * lib/xstrtol.c: Likewise.
89698         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
89699         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
89700
89701         * lib/addext.c (addext): Use assignment rather than cast, to avoid
89702         warnings on some platforms.
89703
89704         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
89705         arbitrarily.
89706
89707 2003-05-26  Jim Meyering  <jim@meyering.net>
89708
89709         Merge in a change from coreutils:
89710         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
89711         that is guaranteed to be `no'.  Use `no_such_member' to indicate
89712         that condition, rather than `-1' which is slightly misleading.
89713         Change the name of the cache variable to have the gl_ prefix.
89714         Prompted by a patch from Richard Dawe for DJGPP.
89715
89716 2003-05-24  Karl Berry  <karl@gnu.org>
89717
89718         * config/config.guess: update from prep.
89719
89720 2003-05-22  Karl Berry  <karl@gnu.org>
89721
89722         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
89723
89724 2003-05-20  Karl Berry  <karl@gnu.org>
89725
89726         * config/config.guess: update from prep.
89727
89728 2003-05-18  Karl Berry  <karl@gnu.org>
89729
89730         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
89731         might actually be set by the user.
89732
89733         * config/depcomp, install-sh, mdate-sh: update from automake.
89734
89735 2003-05-17  Bruno Haible  <bruno@clisp.org>
89736
89737         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
89738         invalid expansion for AC_EGREP_CPP.
89739         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
89740         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
89741         Suggested by Akim Demaille <akim@epita.fr> in
89742         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
89743
89744 2003-05-12  Jim Meyering  <jim@meyering.net>
89745
89746         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
89747         the space-padded-by-default conversion specifiers, %e, %k, %l.
89748
89749 2003-05-12  Bruno Haible  <bruno@clisp.org>
89750
89751         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
89752         the string is longer than 4 KB.
89753
89754 2003-05-11  Karl Berry  <karl@gnu.org>
89755
89756         * config/config.{guess,sub}: update from prep.
89757
89758 2003-05-09  Bruno Haible  <bruno@clisp.org>
89759
89760         * modules/error: Add m4/strerror_r.m4 to file list.
89761
89762 2003-05-03  Bruno Haible  <bruno@clisp.org>
89763
89764         Upgrade to Unicode-4.0.
89765         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
89766         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
89767         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
89768         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
89769         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
89770         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
89771         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
89772         Change width of U+E0100..U+E01EF from 1 to 0.
89773
89774 2003-04-25  Jim Meyering  <jim@meyering.net>
89775
89776         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
89777         of type size_t, not int.
89778
89779 2003-04-25  Bruno Haible  <bruno@clisp.org>
89780
89781         * lib/copy-file.c: Include <stddef.h>, for size_t.
89782
89783 2003-04-21  Paul Eggert  <eggert@twinsun.com>
89784
89785         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
89786         code which expansion is under static control.  Patch imported from
89787         Akim Demaille's patch to Bison; see
89788         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
89789
89790 2003-04-14  Bruno Haible  <bruno@clisp.org>
89791
89792         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
89793
89794 2003-04-11  Jim Meyering  <jim@meyering.net>
89795
89796         Merge changes from Coreutils.
89797
89798         2003-03-22  Jim Meyering  <jim@meyering.net>
89799
89800         * lib/strftime.c (widen): Cast alloca return value to proper type.
89801
89802         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
89803
89804         From GNU libc.
89805         * lib/strftime.c (my_strftime): Handle very large width
89806         specifications for numeric values correctly.  Improve checks for
89807         overflow.
89808
89809         2003-01-19  Jim Meyering  <jim@meyering.net>
89810
89811         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
89812         definitions.
89813         (nl_get_alt_digit) [! defined my_strftime]: Define.
89814         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
89815         _nl_get_alt_digit and _nl_get_walt_digit.
89816
89817         * lib/strftime.c (my_strftime): Merge in locale-related changes from
89818         libc. These changes have no effect outside of _LIBC.
89819
89820 2003-04-10  Bruno Haible  <bruno@clisp.org>
89821
89822         * modules/findprog: New file.
89823         * MODULES.html.sh (func_all_modules): Add it.
89824
89825 2003-04-10  Bruno Haible  <bruno@clisp.org>
89826
89827         * m4/findprog.m4: New file.
89828         * m4/eaccess.m4: New file.
89829
89830 2003-04-10  Bruno Haible  <bruno@clisp.org>
89831
89832         * lib/findprog.h: New file, from GNU gettext.
89833         * lib/findprog.c: New file, from GNU gettext.
89834
89835 2003-04-05  Jim Meyering  <jim@meyering.net>
89836
89837         Merge changes from Coreutils.
89838
89839         * lib/exclude.h (PARAMS): Remove definition and uses.
89840         * lib/exclude.c: Remove uses of `PARAMS'.
89841
89842         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
89843         Add test-cases for DOS filenames. Declare program_name.
89844         (main): Set up program_name.  Patch by Rich Dawe.
89845
89846         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89847         error from mntctl.
89848         Use mntctl's return value to drive the entry-processing loop, since
89849         we can't rely on the value of the vmt_length member in the last
89850         entry.  On some systems doing so could result in exhausting
89851         virtual memory.  Based in part on a patch from Mike Jetzer.
89852
89853 2003-04-04  Bruno Haible  <bruno@clisp.org>
89854
89855         * modules/linebreak: New file.
89856         * MODULES.html.sh (func_all_modules): Add it.
89857
89858 2003-04-04  Bruno Haible  <bruno@clisp.org>
89859
89860         * m4/linebreak.m4: New file.
89861
89862 2003-04-04  Bruno Haible  <bruno@clisp.org>
89863
89864         * lib/linebreak.h: New file, from GNU gettext.
89865         * lib/linebreak.c: New file, from GNU gettext with slight
89866         modifications.
89867         * lib/lbrkprop.h: New file, from GNU gettext.
89868
89869 2003-04-03  Bruno Haible  <bruno@clisp.org>
89870
89871         * modules/utf8-ucs4: New file.
89872         * modules/utf16-ucs4: New file.
89873         * modules/ucs4-utf8: New file.
89874         * modules/ucs4-utf16: New file.
89875         * MODULES.html.sh (func_all_modules): Add them.
89876
89877 2003-04-03  Bruno Haible  <bruno@clisp.org>
89878
89879         * m4/utf-ucs4.m4: New file.
89880         * m4/ucs4-utf.m4: New file.
89881
89882 2003-04-03  Bruno Haible  <bruno@clisp.org>
89883
89884         * lib/utf8-ucs4.h: New file, from GNU gettext.
89885         * lib/utf16-ucs4.h: New file, from GNU gettext.
89886         * lib/ucs4-utf8.h: New file, from GNU gettext.
89887         * lib/ucs4-utf16.h: New file, from GNU gettext.
89888
89889 2003-04-02  Bruno Haible  <bruno@clisp.org>
89890
89891         * modules/binary-io: New file.
89892         * MODULES.html.sh (func_all_modules): Add it.
89893
89894 2003-04-02  Bruno Haible  <bruno@clisp.org>
89895
89896         * lib/binary-io.h: New file, from GNU gettext.
89897
89898 2003-04-01  Bruno Haible  <bruno@clisp.org>
89899
89900         * modules/pathname: New file.
89901         * MODULES.html.sh (func_all_modules): Add it.
89902
89903 2003-04-01  Bruno Haible  <bruno@clisp.org>
89904
89905         * lib/pathname.h: New file, from GNU gettext.
89906         * lib/concatpath.c: New file, from GNU gettext.
89907
89908 2003-03-30  Bruno Haible  <bruno@clisp.org>
89909
89910         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
89911
89912 2003-03-30  Bruno Haible  <bruno@clisp.org>
89913
89914         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
89915         function chown() doesn't exist.
89916
89917 2003-03-28  Bruno Haible  <bruno@clisp.org>
89918
89919         * modules/copy-file: New file.
89920         * MODULES.html.sh (func_all_modules): Add it.
89921
89922 2003-03-28  Bruno Haible  <bruno@clisp.org>
89923
89924         * m4/copy-file.m4: New file.
89925
89926 2003-03-28  Bruno Haible  <bruno@clisp.org>
89927
89928         * lib/copy-file.h: New file, from GNU gettext.
89929         * lib/copy-file.c: New file, from GNU gettext.
89930
89931 2003-03-18  Jim Meyering  <jim@meyering.net>
89932
89933         * lib/quote.c (quote_n): Fix typo in comment.
89934
89935 2003-03-18  Bruno Haible  <bruno@clisp.org>
89936
89937         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
89938         checking.
89939         * m4/onceonly_2_57.m4: Likewise.
89940
89941 2003-03-17  Bruno Haible  <bruno@clisp.org>
89942
89943         * m4/onceonly.m4: Require autoconf 2.54 or newer.
89944         (m4_quote): Remove macro.
89945         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
89946
89947 2003-03-14  Jim Meyering  <jim@meyering.net>
89948
89949         Merge changes from Coreutils.
89950         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
89951         to be const, in order to avoid warnings.
89952         (obstack_room): Likewise.
89953         (obstack_empty_p): Likewise.
89954
89955 2003-03-14  Bruno Haible  <bruno@clisp.org>
89956
89957         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
89958         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
89959
89960 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89961
89962         Merge changes from Bison.
89963         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
89964         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
89965         when compiling Bison 1.875's `bitset bset = obstack_alloc
89966         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
89967         * lib/hash.c: Include <stdbool.h> unconditionally.
89968
89969 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89970
89971         * m4/onceonly.m4 (m4_quote): New macro.
89972         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
89973         Quote AC_FOREACH variable-expansions properly.
89974
89975 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89976
89977         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
89978
89979 2003-03-09  Paul Eggert  <eggert@twinsun.com>
89980
89981         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
89982         Reported by Bruce Becker; see:
89983         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
89984
89985 2003-03-03  Paul Eggert  <eggert@twinsun.com>
89986             Bruno Haible  <bruno@clisp.org>
89987
89988         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
89989         Reported by John Hughes, see
89990         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
89991
89992 2003-02-20  Bruno Haible  <bruno@clisp.org>
89993
89994         * MODULES.html.sh (func_all_modules): Add poll.
89995
89996 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89997
89998         * modules/poll: New file.
89999
90000 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90001
90002         * lib/poll_.h: New file.
90003         * lib/poll.c: New file.
90004
90005 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90006
90007         * m4/poll.m4: New file.
90008
90009 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90010
90011         * modules/mathl: New file.
90012
90013 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90014
90015         * lib/mathl.h: New file.
90016         * lib/acosl.c: New file.
90017         * lib/asinl.c: New file.
90018         * lib/atanl.c: New file.
90019         * lib/ceill.c: New file.
90020         * lib/cosl.c: New file.
90021         * lib/expl.c: New file.
90022         * lib/floorl.c: New file.
90023         * lib/frexpl.c: New file.
90024         * lib/ldexpl.c: New file.
90025         * lib/logl.c: New file.
90026         * lib/sincosl.c: New file.
90027         * lib/sinl.c: New file.
90028         * lib/sqrtl.c: New file.
90029         * lib/tanl.c: New file.
90030         * lib/trigl.c: New file.
90031         * lib/trigl.h: New file.
90032
90033 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90034
90035         * m4/mathl.m4: New file.
90036
90037 2003-02-18  Bruno Haible  <bruno@clisp.org>
90038
90039         * MODULES.html.sh (func_all_modules): Add mathl.
90040
90041 2003-02-17  Bruno Haible  <bruno@clisp.org>
90042
90043         * modules/mkdtemp: New module.
90044         * MODULES.html.sh (func_all_modules): Add it.
90045
90046 2003-02-17  Bruno Haible  <bruno@clisp.org>
90047
90048         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
90049
90050 2003-02-17  Bruno Haible  <bruno@clisp.org>
90051
90052         * lib/mkdtemp.h: New file, from GNU gettext.
90053         * lib/mkdtemp.c: New file, from GNU gettext.
90054
90055 2003-02-02  Jim Meyering  <jim@meyering.net>
90056
90057         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
90058         e.g. glibc-2.2.93.
90059
90060 2003-01-31  Bruno Haible  <bruno@clisp.org>
90061
90062         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
90063         'rpl_rename'.
90064         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
90065         'rpl_strnlen'.
90066         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
90067         'rpl_strtod'.
90068         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
90069         'rpl_utime'.
90070
90071 2003-01-31  Bruno Haible  <bruno@clisp.org>
90072
90073         * lib/rename.c: #undef rename before defining rpl_rename.
90074         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
90075
90076 2003-01-30  Bruno Haible  <bruno@clisp.org>
90077
90078         * modules/vasnprintf, modules/vasprintf: New modules.
90079         * MODULES.html.sh (func_all_modules): Add them.
90080
90081 2003-01-30  Bruno Haible  <bruno@clisp.org>
90082
90083         * m4/signed.m4: New file, from GNU gettext.
90084         * m4/longdouble.m4: New file, from GNU gettext.
90085         * m4/wchar_t.m4: New file, from GNU gettext.
90086         * m4/wint_t.m4: New file, from GNU gettext.
90087         * m4/vasnprintf.m4: New file.
90088         * m4/vasprintf.m4: New file.
90089
90090 2003-01-30  Bruno Haible  <bruno@clisp.org>
90091
90092         * lib/printf-args.h: New file, from GNU gettext.
90093         * lib/printf-args.c: New file, from GNU gettext.
90094         * lib/printf-parse.h: New file, from GNU gettext.
90095         * lib/printf-parse.c: New file, from GNU gettext.
90096         * lib/vasnprintf.h: New file, from GNU gettext.
90097         * lib/vasnprintf.c: New file, from GNU gettext.
90098         * lib/asnprintf.c: New file, from GNU gettext.
90099         * lib/vasprintf.h: New file, from GNU gettext with modifications.
90100         * lib/vasprintf.c: New file, from GNU gettext.
90101         * lib/asprintf.c: New file, from GNU gettext.
90102
90103 2003-01-29  Bruno Haible  <bruno@clisp.org>
90104
90105         * modules/stpncpy: New module.
90106         * MODULES.html.sh (func_all_modules): Add it.
90107
90108 2003-01-29  Bruno Haible  <bruno@clisp.org>
90109
90110         * m4/stpncpy.m4: New file.
90111
90112 2003-01-29  Bruno Haible  <bruno@clisp.org>
90113
90114         * lib/stpncpy.h: New file, from GNU gettext with modifications.
90115         * lib/stpncpy.c: New file, from GNU gettext with modifications.
90116
90117 2003-01-28  Bruno Haible  <bruno@clisp.org>
90118
90119         * modules/c-ctype: New module.
90120         * MODULES.html.sh (func_all_modules): Add it.
90121
90122 2003-01-28  Bruno Haible  <bruno@clisp.org>
90123
90124         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
90125         Paul Eggert.
90126         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
90127         Paul Eggert.
90128
90129 2003-01-27  Bruno Haible  <bruno@clisp.org>
90130
90131         * modules/xsetenv: New module.
90132         * MODULES.html.sh (func_all_modules): Add it.
90133
90134 2003-01-27  Bruno Haible  <bruno@clisp.org>
90135
90136         * lib/xsetenv.h: New file, from GNU gettext.
90137         * lib/xsetenv.c: New file, from GNU gettext.
90138
90139 2003-01-23  Jim Meyering  <jim@meyering.net>
90140
90141         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
90142         from working on systems without dirfd (at least Irix and OSF1/Tru64).
90143
90144 2003-01-23  Bruno Haible  <bruno@clisp.org>
90145
90146         * modules/minmax: New module.
90147         * MODULES.html.sh (func_all_modules): Add it.
90148
90149 2003-01-23  Bruno Haible  <bruno@clisp.org>
90150
90151         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
90152         Eggert.
90153
90154 2003-01-22  Bruno Haible  <bruno@clisp.org>
90155
90156         * modules/exit: New module.
90157         * MODULES.html.sh (func_all_modules): Add it.
90158
90159 2003-01-22  Bruno Haible  <bruno@clisp.org>
90160
90161         * lib/exit.h: New file, from GNU gettext.
90162
90163 2003-01-19  Bruno Haible  <bruno@clisp.org>
90164
90165         * gnulib-tool: Recognize option --extract-maintainer.
90166         (func_get_maintainer): New function.
90167         * modules/*: Add Maintainer entry.
90168
90169 2003-01-16  Jim Meyering  <jim@meyering.net>
90170
90171         * m4/regex.m4: The `regex' struct is both input and output.
90172         Initialize it before each use.  Patch by Tim Waugh.
90173
90174 2003-01-16  Bruno Haible  <bruno@clisp.org>
90175
90176         * MODULES.html.sh: Add a table of contents. Add the module name as
90177         leftmost column. Add hyperlinks.
90178
90179 2003-01-15  Bruno Haible  <bruno@clisp.org>
90180
90181         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
90182
90183 2003-01-15  Bruno Haible  <bruno@clisp.org>
90184
90185         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
90186         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
90187         suffix.
90188
90189 2003-01-15  Bruno Haible  <bruno@clisp.org>
90190
90191         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
90192
90193 2003-01-15  Bruno Haible  <bruno@clisp.org>
90194
90195         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
90196         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
90197
90198 2003-01-14  Jim Meyering  <jim@meyering.net>
90199
90200         * lib/same.c (same_name): Tweak a comment.
90201
90202 2003-01-14  Bruno Haible  <bruno@clisp.org>
90203
90204         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
90205         when a string comparison is sufficient.
90206
90207 2003-01-14  Bruno Haible  <bruno@clisp.org>
90208
90209         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
90210         'unsigned int'.
90211
90212 2003-01-14  Bruno Haible  <bruno@clisp.org>
90213
90214         * lib/hash-pjw.c: Add comment about low quality of this function.
90215
90216 2003-01-13  Bruno Haible  <bruno@clisp.org>
90217
90218         * modules/stpcpy: Distribute lib/stpcpy.h.
90219         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
90220
90221 2003-01-13  Bruno Haible  <bruno@clisp.org>
90222
90223         * modules/*: Add a description.
90224         * modules/strpbrk: Fix Makefile.am snippet.
90225         * modules/strtoimax: Fix dependencies.
90226         * modules/strtoumax: Likewise.
90227
90228 2003-01-13  Bruno Haible  <bruno@clisp.org>
90229
90230         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
90231         * modules/alloca (Makefile.am): All object files depend on alloca.h.
90232         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
90233
90234 2003-01-13  Bruno Haible  <bruno@clisp.org>
90235
90236         * gnulib-tool (func_create_testdir): Store config/* files in the main
90237         directory.
90238         * config.rpath: Move to ...
90239         * config/config.rpath: ... here.
90240         * modules/gettext: Contains config/config.rpath, not config.rpath.
90241         * modules/iconv: Likewise.
90242
90243 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90244
90245         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90246         to avoid collisions with libcurses and libreadline.
90247
90248         * m4/getstr.m4: Remove.
90249         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
90250
90251 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90252
90253         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90254         to avoid collisions with libcurses and libreadline.
90255
90256         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
90257         * lib/getstr.h, getstr.c: Remove.
90258         * lib/getline.c: Include "getline.h", to check interface.
90259         Move body of old getstr.c here: this defines MIN_CHUNK and
90260         declares getdelim2, which is renamed from getstr.
90261         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
90262
90263         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
90264         All uses changed.
90265         * lib/linebuffer.h: Likewise.
90266         (readline): Remove backward-compatibility macro.
90267
90268 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90269
90270         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90271         to avoid collisions with libcurses and libreadline.
90272         * getstr: Remove.
90273         * MODULES.html.sh: Remove getstr.
90274         * modules/getline: Depend on unlocked-io, not getstr.
90275
90276 2003-01-12  Jim Meyering  <jim@meyering.net>
90277
90278         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
90279
90280 2003-01-10  Bruno Haible  <bruno@clisp.org>
90281
90282         * modules/alloca: Change Makefile.am requirements. Simplify Include
90283         requirements. Add lib/alloca_.h to file list.
90284
90285 2003-01-10  Bruno Haible  <bruno@clisp.org>
90286
90287         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
90288
90289 2003-01-10  Bruno Haible  <bruno@clisp.org>
90290
90291         * lib/alloca_.h: New file.
90292         * lib/getdate.y: Unconditionally include alloca.h.
90293         * lib/makepath.c: Likewise.
90294         * lib/setenv.c: Likewise.
90295         * lib/userspec.c: Likewise.
90296
90297 2003-01-09  Karl Berry  <karl@gnu.org>
90298
90299         * MODULES.html.sh: include `dirname $0` in PATH, to find
90300         gnulib-tool.
90301
90302 2003-01-09  Bruno Haible  <bruno@clisp.org>
90303
90304         * modules/stdbool: Change configure.ac, Makefile.am requirements.
90305         Simplify Include requirements. Add lib/stdbool.h.in to file list.
90306
90307 2003-01-09  Bruno Haible  <bruno@clisp.org>
90308
90309         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
90310
90311 2003-01-09  Bruno Haible  <bruno@clisp.org>
90312
90313         * lib/stdbool.h.in: New file.
90314
90315 2003-01-09  Bruno Haible  <bruno@clisp.org>
90316
90317         * gnulib-tool (func_all_modules): Ignore files ending in ~.
90318         * MODULES.html.sh: Likewise.
90319
90320 2003-01-08  Jim Meyering  <jim@meyering.net>
90321
90322         * lib/full-write.c: Undefine and define-away `const' after inclusion
90323         of errno.h, not before.  Suggestion from Bruno Haible.
90324
90325 2003-01-08  Bruno Haible  <bruno@clisp.org>
90326
90327         * modules/full-read: Depend on full-write.
90328
90329 2003-01-08  Bruno Haible  <bruno@clisp.org>
90330
90331         * lib/safe-read.c: Include specification header first, to ensure its
90332         selfcontainedness.
90333         * lib/full-write.c: Likewise.
90334
90335 2003-01-07  Jim Meyering  <jim@meyering.net>
90336
90337         * lib/full-write.c: Rework so that it may serve to define full_read,
90338         too.
90339         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
90340
90341 2003-01-07  Bruno Haible  <bruno@clisp.org>
90342
90343         * lib/strtoimax.c: Include <stdint.h> as an alternative to
90344         <inttypes.h>.
90345         * lib/xstrtol.h: Likewise.
90346         * lib/xstrtoimax.c: Likewise.
90347         * lib/xstrtoumax.c: Likewise.
90348         * lib/human.h: Likewise.
90349
90350         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
90351         on systems that have <inttypes.h> but not <stdint.h>.
90352
90353 2003-01-07  Bruno Haible  <bruno@clisp.org>
90354
90355         * MODULES.html.sh: Add copyright notice.
90356         (missed_files): Omit CVS directory entries.
90357         (func_module): Make it work with sed-3.02.
90358         * MODULES.txt: Remove file.
90359
90360 2003-01-06  Jim Meyering  <jim@meyering.net>
90361
90362         * lib/version-etc.c: Update year in translatable copyright string.
90363
90364 2003-01-03  Karl Berry  <karl@gnu.org>
90365
90366         * config/config.{guess,sub}: update from prep.
90367
90368 2003-01-02  Karl Berry  <karl@gnu.org>
90369
90370         * doc/COPYING.DOC: belatedly updated to 1.2.
90371
90372 2003-01-01  Karl Berry  <karl@gnu.org>
90373
90374         * gnulib-tool (func_verify_module): report module name $module in
90375         error message, not $1.
90376         * gnulib-tool (create-testdir): don't complain if destdir couldn't
90377         be created, only if it doesn't exist.
90378         * gnulib-tool (last_checkin_date): don't expand the $Date here.
90379
90380 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90381
90382         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
90383
90384 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90385
90386         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
90387         memcmp if strcoll doesn't work.
90388
90389 2002-12-31  Bruno Haible  <bruno@clisp.org>
90390
90391         * lib/utime.c (utime_null): No need to call ftruncate if the file was
90392         nonempty.
90393
90394 2002-12-31  Bruno Haible  <bruno@clisp.org>
90395
90396         * lib/memcoll.c (STRCOLL): New macro.
90397         (memcoll): Use it.
90398
90399 2002-12-31  Bruno Haible  <bruno@clisp.org>
90400
90401         * lib/localcharset.h: New file.
90402         * lib/localcharset.c: Include it.
90403         * lib/unicodeio.c: Likewise.
90404
90405 2002-12-31  Bruno Haible  <bruno@clisp.org>
90406
90407         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
90408         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
90409
90410 2002-12-31  Bruno Haible  <bruno@clisp.org>
90411
90412         * lib/getline.h: Include <stddef.h>, for size_t.
90413
90414         * lib/unicodeio.h: Include <stddef.h>, for size_t.
90415         * lib/unicodeio.c: Don't include <stddef.h>.
90416
90417 2002-12-31  Bruno Haible  <bruno@clisp.org>
90418
90419         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
90420         HAVE_TM_ZONE.
90421
90422 2002-12-24  Karl Berry  <karl@gnu.org>
90423
90424         * config/config.guess: update from prep.
90425
90426 2002-12-24  Bruno Haible  <bruno@clisp.org>
90427
90428         General infrasructure.
90429         * m4/README: Rewritten.
90430         * m4/onceonly.m4: New file.
90431         * m4/onceonly_2_57.m4: New file.
90432
90433         Module atexit.
90434         * m4/atexit.m4: New file.
90435
90436         Module strtod.
90437         * m4/strtod.m4: New file.
90438
90439         Module strtol.
90440         * m4/strtol.m4: New file.
90441
90442         Module strtoul.
90443         * m4/strtoul.m4: New file.
90444
90445         Module memchr.
90446         * m4/memchr.m4: New file.
90447
90448         Module memcmp.
90449         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
90450         (jm_FUNC_MEMCMP): Invoke it.
90451
90452         Module memcpy.
90453         * m4/memcpy.m4: New file.
90454
90455         Module memmove.
90456         * m4/memmove.m4: New file.
90457
90458         Module memset.
90459         * m4/memset.m4: New file.
90460
90461         Module strcspn.
90462         * m4/strcspn.m4: New file.
90463
90464         Module strpbrk.
90465         * m4/strpbrk.m4: New file.
90466
90467         Module strstr.
90468         * m4/strstr.m4: New file.
90469
90470         Module strerror.
90471         * m4/strerror.m4: New file.
90472
90473         Module mktime.
90474         * m4/mktime.m4: Renamed from jm-mktime.m4.
90475         (gl_PREREQ_MKTIME): New macro.
90476         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
90477
90478         Module malloc.
90479         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
90480         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
90481         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
90482
90483         Module realloc.
90484         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
90485         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
90486         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
90487
90488         Module strftime.
90489         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
90490         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
90491         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
90492         gl_TM_GMTOFF.
90493         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
90494
90495         Module xalloc.
90496         * m4/xalloc.m4: New file.
90497
90498         Module alloca.
90499         * m4/alloca.m4: New file.
90500
90501         Module putenv.
90502         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
90503         (jm_FUNC_PUTENV): Invoke it.
90504
90505         Module setenv.
90506         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
90507         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
90508         when invoked twice.
90509         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
90510         gt_FUNC_SETENV.
90511
90512         Module memrchr.
90513         * m4/memrchr.m4: New file.
90514
90515         Module stpcpy.
90516         * m4/stpcpy.m4: New file.
90517
90518         Module strcase.
90519         * m4/strcase.m4: New file.
90520
90521         Module strdup.
90522         * m4/strdup.m4: New file.
90523
90524         Module strnlen.
90525         * m4/strnlen.m4: New file.
90526
90527         Module strndup.
90528         * m4/strndup.m4: New file.
90529
90530         Module xstrtod.
90531         * m4/xstrtod.m4: New file.
90532
90533         Module xstrtol.
90534         * m4/xstrtol.m4: New file.
90535
90536         Module getdate.
90537         * m4/getdate.m4: New file.
90538
90539         Module unlocked-io.
90540         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
90541         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
90542         * m4/jm-glibc-io.m4n: Remove file.
90543
90544         Module long-options.
90545         * m4/long-options.m4: New file.
90546
90547         Module md5.
90548         * m4/md5.m4: New file.
90549
90550         Module sha.
90551         * m4/sha.m4: New file.
90552
90553         Module getstr.
90554         * m4/getstr.m4: New file.
90555
90556         Module getline.
90557         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
90558         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
90559         <sys/types.h>, for size_t. Use the function name gnu_getline, not
90560         simply getline. Infoke gl_PREREQ_GETLINE.
90561
90562         Module obstack.
90563         * m4/obstack.m4: New file.
90564
90565         Module hash.
90566         * m4/hash.m4: New file.
90567
90568         Module readtokens.
90569         * m4/readtokens.m4: New file.
90570
90571         Module strverscmp.
90572         * m4/strverscmp.m4: New file.
90573
90574         Module stdbool.
90575         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
90576         OSF/1.
90577
90578         Module strtoll.
90579         * m4/strtoll.m4: New file.
90580
90581         Module strtoull.
90582         * m4/strtoull.m4: New file.
90583
90584         Module strtoimax.
90585         * m4/strtoimax.m4: New file.
90586
90587         Module strtoumax.
90588         * m4/strtoumax.m4: New file.
90589
90590         Module xstrtoimax.
90591         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
90592         jm_AC_PREREQ_XSTRTOIMAX.
90593         Moved the strtol prerequisites to strtol.m4.
90594         Moved the strtoll prerequisites to strtoll.m4.
90595         Moved the strtoimax prerequisites to strtoimax.m4.
90596
90597         Module xstrtoumax.
90598         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
90599         jm_AC_PREREQ_XSTRTOUMAX.
90600         Moved the strtoul prerequisites to strtoul.m4.
90601         Moved the strtoull prerequisites to strtoull.m4.
90602         Moved the strtoumax prerequisites to strtoumax.m4.
90603
90604         Module chown.
90605         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
90606         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
90607
90608         Module dup2.
90609         * m4/dup2.m4: New file.
90610
90611         Module ftruncate.
90612         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
90613         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
90614
90615         Module getgroups.
90616         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
90617         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
90618
90619         Module gettimeofday.
90620         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
90621         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
90622         gl_PREREQ_GETTIMEOFDAY.
90623
90624         Module mkdir.
90625         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
90626         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
90627
90628         Module mkstemp.
90629         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
90630         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
90631         jm_AC_TYPE_UINTMAX_T.
90632         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
90633
90634         Module stat.
90635         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
90636         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
90637
90638         Module lstat.
90639         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
90640         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
90641
90642         Module timespec.
90643         * m4/timespec.m4 (gl_TIMESPEC): New macro.
90644         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
90645         * m4/st_mtim.m4: Indentation.
90646
90647         Module nanosleep.
90648         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
90649         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
90650         gl_PREREQ_NANOSLEEP.
90651
90652         Module regex.
90653         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
90654         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
90655         (gl_REGEX): New macro.
90656
90657         Module rename.
90658         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
90659         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
90660
90661         Module rmdir.
90662         * m4/rmdir.m4: New file.
90663
90664         Module utime.
90665         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
90666         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
90667         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
90668
90669         Module dirname.
90670         * m4/dirname.m4: New file.
90671
90672         Module getopt.
90673         * m4/getopt.m4: New file.
90674
90675         Module unistd-safer.
90676         * m4/unistd-safer.m4: New file.
90677
90678         Module fnmatch.
90679         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
90680         declaration.
90681         (gl_PREREQ_FNMATCH_EXTRA): New macro.
90682         (gl_FUNC_FNMATCH_POSIX): New macro.
90683         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
90684         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
90685         simply fnmatch.
90686
90687         Module exclude.
90688         * m4/exclude.m4: New file.
90689
90690         Module human.
90691         * m4/human.m4: New file.
90692
90693         Module acl.
90694         * m4/acl.m4: Nop.
90695
90696         Module backupfile.
90697         * m4/backupfile.m4: New file.
90698         * m4/d-ino.m4: Indentation.
90699
90700         Module fsusage.
90701         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
90702         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
90703         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
90704
90705         Module dirfd.
90706         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
90707         requirements.
90708
90709         Module euidaccess.
90710         * m4/euidaccess.m4: New file.
90711
90712         Module file-type.
90713         * m4/file-type.m4: New file.
90714
90715         Module fileblocks.
90716         * m4/fileblocks.m4: New file.
90717
90718         Module filemode.
90719         * m4/filemode.m4: New file.
90720
90721         Module isdir.
90722         * m4/isdir.m4: New file.
90723
90724         Module lchown.
90725         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
90726         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
90727
90728         Module makepath.
90729         * m4/makepath.m4: New file.
90730
90731         Module modechange.
90732         * m4/modechange.m4: New file.
90733
90734         Module mountlist.
90735         * m4/mountlist.m4: New file.
90736         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
90737         Indentation.
90738
90739         Module path-concat.
90740         * m4/path-concat.m4: New file.
90741
90742         Module pathmax.
90743         * m4/pathmax.m4: New file.
90744
90745         Module same.
90746         * m4/same.m4: New file.
90747
90748         Module save-cwd.
90749         * m4/save-cwd.m4: New file.
90750
90751         Module savedir.
90752         * m4/savedir.m4: New file.
90753
90754         Module xgetcwd.
90755         * m4/xgetcwd.m4: New file.
90756         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
90757
90758         Module xreadlink.
90759         * m4/xreadlink.m4: New file.
90760
90761         Module safe-read.
90762         * m4/safe-read.m4: New file.
90763
90764         Module safe-write.
90765         * m4/safe-write.m4: New file.
90766
90767         Module closeout.
90768         * m4/closeout.m4: New file.
90769
90770         Module stdio-safer.
90771         * m4/stdio-safer.m4: New file.
90772
90773         Module getpass.
90774         * m4/getpass.m4: New file.
90775
90776         Module getugroups.
90777         * m4/getugroups.m4: New file.
90778
90779         Module group-member.
90780         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
90781         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
90782
90783         Module idcache.
90784         * m4/idcache.m4: New file.
90785
90786         Module userspec.
90787         * m4/userspec.m4: New file.
90788
90789         Module gettime.
90790         * m4/clock_time.m4: New file.
90791         * m4/gettime.m4: New file.
90792
90793         Module settime.
90794         * m4/settime.m4: New file.
90795
90796         Module posixtm.
90797         * m4/posixtm.m4: New file.
90798
90799         Module gethostname.
90800         * m4/gethostname.m4: New file.
90801
90802         Module canon-host.
90803         * m4/canon-host.m4: New file.
90804
90805         Module gettext.
90806         * m4/codeset.m4: New file, from gettext-0.11.5.
90807         * m4/gettext.m4: New file, from gettext-0.11.5.
90808         * m4/glibc21.m4: New file, from gettext-0.11.5.
90809         * m4/iconv.m4: New file, from gettext-0.11.5.
90810         * m4/intdiv0.m4: New file, from gettext-0.11.5.
90811         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
90812         * m4/inttypes.m4: New file, from gettext-0.11.5.
90813         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
90814         * m4/isc-posix.m4: New file, from gettext-0.11.5.
90815         * m4/lcmessage.m4: New file, from gettext-0.11.5.
90816         * m4/lib-ld.m4: New file, from gettext-0.11.5.
90817         * m4/lib-link.m4: New file, from gettext-0.11.5.
90818         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
90819         * m4/progtest.m4: New file, from gettext-0.11.5.
90820         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
90821         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
90822         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
90823
90824         Module localcharset.
90825         * m4/localcharset.m4: New file.
90826
90827         Module hard-locale.
90828         * m4/hard-locale.m4: New file.
90829
90830         Module mbswidth.
90831         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
90832         onceonly macros.
90833         * m4/mbrtowc.m4: Add comment.
90834
90835         Module memcasecmp.
90836         * m4/memcasecmp.m4: New file.
90837
90838         Module memcoll.
90839         * m4/memcoll.m4: New file.
90840
90841         Module unicodeio.
90842         * m4/unicodeio.m4: New file.
90843
90844         Module rpmatch.
90845         * m4/rpmatch.m4: New file.
90846
90847         Module yesno.
90848         * m4/yesno.m4: New file.
90849
90850         Module exitfail.
90851         * m4/exitfail.m4: New file.
90852
90853         Module c-stack.
90854         * m4/c-stack.m4 (gl_C_STACK): New macro.
90855         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
90856
90857         Module error.
90858         * m4/error.m4 (gl_ERROR): New macro.
90859         (jm_PREREQ_ERROR): Use onceonly macros.
90860
90861         Module fatal.
90862         * m4/fatal.m4: New file.
90863
90864         Module getloadavg.
90865         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
90866         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
90867
90868         Module getpagesize.
90869         * m4/getpagesize.m4: New file.
90870
90871         Module getusershell.
90872         * m4/getusershell.m4: New file.
90873
90874         Module physmem.
90875         * m4/physmem.m4: New file.
90876
90877         Module posixver.
90878         * m4/posixver.m4: New file.
90879
90880         Module quotearg.
90881         * m4/quotearg.m4: New file.
90882
90883         Module quote.
90884         * m4/quote.m4: New file.
90885
90886         Module readutmp.
90887         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
90888
90889         Module sig2str.
90890         * m4/sig2str.m4: New file.
90891
90892         Other.
90893         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
90894         ulonglong.m4.
90895         * m4/intmax_t.m4: New file.
90896         * m4/d-type.m4: Indentation.
90897         * m4/jm-macros.m4: Update.
90898         * m4/prereq.m4 (jm_PREREQ): Update.
90899         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
90900         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
90901         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
90902         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
90903         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
90904         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
90905         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
90906         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
90907         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
90908         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
90909         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
90910         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
90911         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
90912         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
90913         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
90914         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
90915         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
90916         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
90917         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
90918
90919 2002-12-24  Bruno Haible  <bruno@clisp.org>
90920
90921         * MODULES.txt: Update according to m4/ changes.
90922
90923         Module gettext.
90924         * config.rpath: New file, from gettext-0.11.5.
90925
90926         * modules/*: New module descriptions.
90927         * gnulib-tool: New file.
90928         * MODULES.html.sh: New file.
90929
90930 2002-12-21  Karl Berry  <karl@gnu.org>
90931
90932         * doc/fdl.texi: update to version 1.2.
90933
90934 2002-12-19  Karl Berry  <karl@gnu.org>
90935
90936         * config/config.guess: update from prep.
90937
90938 2002-12-18  Bruno Haible  <bruno@clisp.org>
90939
90940         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
90941         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
90942
90943 2002-12-17  Bruno Haible  <bruno@clisp.org>
90944
90945         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
90946         stdlib.h, string.h.
90947
90948 2002-12-17  Bruno Haible  <bruno@clisp.org>
90949
90950         * lib/canon-host.c (strdup): Remove unused declaration.
90951
90952         * lib/fsusage.c: Include full_read.h.
90953         (get_fs_usage): Use full_read instead of safe_read.
90954
90955         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
90956
90957 2002-12-12  Karl Berry  <karl@gnu.org>
90958
90959         * config/config.guess: update from prep.
90960
90961 2002-12-11  Bruno Haible  <bruno@clisp.org>
90962
90963         * m4/setenv.m4: New file, from gettext-0.11.5.
90964
90965 2002-12-11  Bruno Haible  <bruno@clisp.org>
90966
90967         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
90968         not unsetenv().
90969         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
90970         modifications:
90971
90972         2002-12-11  Bruno Haible  <bruno@clisp.org>
90973
90974                 * setenv.c (alloca): Fall back to malloc.
90975                 (freea): New macro.
90976                 (setenv): Use freea() to free memory allocated with alloca().
90977
90978         2002-11-13  Bruno Haible  <bruno@clisp.org>
90979
90980                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
90981                 function declarations.
90982                 * unsetenv.c (unsetenv): Likewise.
90983
90984         2002-03-04  Bruno Haible  <bruno@clisp.org>
90985
90986                 Portability to AIX 4.3.3.
90987                 * unsetenv.c: New file, extracted from setenv.c.
90988                 * setenv.c: Move the unsetenv() function to unsetenv.c.
90989
90990         2001-12-20  Bruno Haible  <bruno@clisp.org>
90991
90992                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
90993                 use malloc instead. For SunOS 4.
90994
90995         2001-12-11  Bruno Haible  <bruno@clisp.org>
90996
90997                 * setenv.c: Declare alloca.
90998                 (compar_fn_t): New typedef.
90999                 (KNOWN_VALUE, STORE_VALUE): Use it.
91000
91001         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
91002         setenv.h.
91003
91004 2002-12-10  Paul Eggert  <eggert@twinsun.com>
91005
91006         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
91007         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
91008         Choose values that are less likely to collide with system fnmatch
91009         options.
91010         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
91011         defined (e.g., a pure POSIX system).
91012         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
91013         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
91014
91015 2002-12-06  Paul Eggert  <eggert@twinsun.com>
91016
91017         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
91018         a pain in practice to deal with generated m4 files.  This change
91019         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
91020
91021         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
91022         and jm-glibc-io.m4, as they are no longer a special case.
91023         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
91024         kludge and the auto-generation stuff.  Check only whether the
91025         functions are declared, not whether they exist, since older hosts
91026         that don't declare the functions can't use the optimization anyway.
91027
91028 2002-12-06  Jim Meyering  <jim@meyering.net>
91029
91030         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
91031
91032         Merge in changes from libc's misc/error.c, in preparation
91033         for the merge of gnulib's changes back into libc.
91034
91035         * lib/error.c (_): Define only if not already defined.
91036         Move definition to follow all #include directives.
91037         Include unlocked-io.h only if !_LIBC.
91038         [_LIBC]: Include <libio/libioP.h>.
91039         [USE_IN_LIBIO]: Include <libio/iolibio.h>
91040         (fflush): Tweak definition to use INTUSE.
91041         (putc): Define.
91042
91043 2002-12-05  Paul Eggert  <eggert@twinsun.com>
91044
91045         * lib/alloca.c [defined emacs]: Include "lisp.h".
91046         (xalloc_die) [defined emacs]: New macro.
91047         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
91048         [! defined emacs]: Include <xalloc.h>.
91049         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
91050         (pointer): Typedef to POINTER_TYPE *.
91051         (malloc): Remove decl; we now always use xmalloc.
91052         (alloca): Use old-style definition, since Emacs needs this.
91053         Check for arithmetic overflow when computing combined size.
91054
91055 2002-12-04  Paul Eggert  <eggert@twinsun.com>
91056
91057         Do not generate unlocked-io.h automatically, since it's easier to
91058         maintain it by hand.
91059
91060         * lib/unlocked-io.h: New file, from GNU diffutils,
91061         but with proper copyright notice and attribution.
91062         * lib/gen-uio: Remove.
91063         * lib/Makefile.am: Add copyright notice.
91064         (libfetish_a_SOURCES): Add unlocked-io.h.
91065         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
91066         (DISTCLEANFILES, io_functions): Remove macros.
91067         (EXTRA_DIST): Remove gen_uio.
91068         (unlocked-io.h): Remove rule.
91069
91070 2002-12-04  Jim Meyering  <jim@meyering.net>
91071
91072         Reflect the fact that stat.c and lstat.c are no longer generated.
91073         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
91074         (DISTCLEANFILES): Likewise.
91075         (EXTRA_DIST): Likewise.
91076         (all_local): Don't depend on stat.c or lstat.c.
91077         (stat.c, lstat.c): Remove rules.
91078         (EXTRA_DIST): Remove xstat.in.
91079
91080         * lib/xstat.in: Remove file.  Contents moved into stat.c.
91081         * lib/stat.c: New file.  Contents mostly from xstat.in.
91082         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
91083         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
91084
91085         * lib/safe-read.c: Rework so that it may serve to define safe_write,
91086         too.
91087         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
91088
91089 2002-12-03  Jim Meyering  <jim@meyering.net>
91090
91091         * lib/safe-read.c, safe-write.c: Change variable names and comments,
91092         but not semantics, to minimize the differences between these two files.
91093         (safe_read): Change comment to mention SAFE_READ_ERROR.
91094
91095         * lib/safe-read.c (IS_EINTR): Define.
91096         (safe_read): Use IS_EINTR in place of in-function cpp directives.
91097
91098 2002-12-02  Jim Meyering  <jim@meyering.net>
91099
91100         * lib/safe-read.c (EINTR): Define.
91101         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91102         (INT_MAX): Provide fallback.
91103         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
91104
91105         * lib/safe-read.h (SAFE_READ_ERROR): Define.
91106
91107 2002-12-02  Bruno Haible  <bruno@clisp.org>
91108
91109         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
91110         Define, taken from safe-read.c.
91111         (INT_MAX): Provide fallback.
91112         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
91113         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
91114
91115         * lib/safe-read.c (EINTR): Remove definition.
91116         (safe_read): Don't use EINTR if it is absent.
91117
91118 2002-12-01  Jim Meyering  <jim@meyering.net>
91119
91120         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
91121         zero.
91122         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
91123
91124 2002-11-27  Paul Eggert  <eggert@twinsun.com>
91125
91126         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
91127         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
91128         with `if (! (value < limit)) abort ();', for readability.
91129
91130 2002-11-26  Karl Berry  <karl@gnu.org>
91131
91132         * lib/strdup.c: copy from libc again, with jim's ok.
91133         * lib/.cppi-disable: re-add strdup.c
91134
91135 2002-11-25  Karl Berry  <karl@gnu.org>
91136
91137         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
91138         instead of "strtol.c".
91139
91140 2002-11-25  Karl Berry  <karl@gnu.org>
91141
91142         * config/install-sh: update from automake for variable quoting, $0 in
91143         error msgs, etc.
91144
91145         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
91146         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
91147         entry.
91148
91149 2002-11-25  Jim Meyering  <jim@meyering.net>
91150
91151         * lib/mktime.c: Sync from libc, now that it has the latest fix.
91152
91153 2002-11-24  Karl Berry  <karl@gnu.org>
91154
91155         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
91156         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
91157
91158 2002-11-24  Jim Meyering  <jim@meyering.net>
91159
91160         Update from coreutils:
91161
91162         * lib/mktime.c: Merge in changes from libc.
91163
91164         Avoid a link-time failure on some Linux systems.
91165         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
91166         (otherwise).
91167         (__mon_yday): Declare with the STATIC attribute.
91168         (__mktime_internal): Likewise.
91169         Based on a report from Greg Schafer.
91170
91171 2002-11-23  Jim Meyering  <jim@meyering.net>
91172
91173         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
91174         Use `unsigned', not `int', as type of index.
91175
91176         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
91177
91178         * lib/fsusage.c: Remove unneeded parentheses around operands of
91179         `defined'.
91180
91181 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91182
91183         * lib/quotearg.h: Allow multiple inclusion by surrounding with
91184         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
91185         so that we can be included first.
91186         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
91187         * lib/quotearg.c: Include quotearg.h immediately after config.h.
91188         No need to include stddef.h or sys/types.h any more.
91189         Surround local include files with "", not "<>".
91190         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
91191         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
91192         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
91193         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
91194         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
91195         (ISPRINT): Remove; no longer needed now that we assume C89.
91196
91197         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
91198         Preserve errno.
91199
91200         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
91201         quotearg_char): Use SIZE_MAX rather than
91202         (size_t) -1 when we are talking about "infinity".
91203
91204         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
91205
91206 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91207
91208         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
91209         hint that one should use `if (! x) abort ();' rather than `assert
91210         (x);', and anyway it's one less thing to worry about configuring.
91211         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
91212         hash_rehash, hash_insert): Use abort rather than assert.
91213
91214 2002-11-22  Bruno Haible  <bruno@clisp.org>
91215
91216         * lib/safe-read.h: Assume C89. Add comments.
91217         (safe_read): Change return type to size_t.
91218         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
91219         byte counts > SSIZE_MAX correctly.
91220         * lib/safe-write.h: New file.
91221         * lib/safe-write.c: New file.
91222         * lib/full-read.h: New file.
91223         * lib/full-read.c: New file.
91224         * lib/full-write.h: Assume C89. Add comments.
91225         * lib/full-write.c: Include safe-write.h.
91226         (full_write): Rewritten to use safe_write.
91227         Suggested by Jim Meyering and Paul Eggert.
91228
91229 2002-11-21  Jim Meyering  <jim@meyering.net>
91230
91231         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
91232
91233         Merge in changes from the coreutils.
91234
91235         2002-09-25  Paul Eggert  <eggert@twinsun.com>
91236         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
91237         <stdint.h>.
91238         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
91239         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
91240         int.  Work more efficiently if X is the same width as uintmax_t.
91241         Do not compare X to -1, to avoid bogus compiler warning.
91242         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
91243         Don't assume that f_frsize and f_bsize are the same type.
91244
91245         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
91246         warning on FreeBSD.
91247
91248         * lib/makepath.c (make_path): Restore umask *before* creating the final
91249         component.
91250         (make_path): Minor reformatting.
91251
91252         * lib/xmalloc.c: Adjust to work with new autoconf macros,
91253         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
91254         HAVE_MALLOC/HAVE_REALLOC.
91255
91256         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
91257         dummy ones.  At least on GNU/Linux systems, `auto' means something
91258         else.
91259         From Michael Stone.
91260
91261 2002-11-21  Bruno Haible  <bruno@clisp.org>
91262
91263         Remove case insensitive option matching.
91264         * lib/argmatch.h (argcasematch): Remove declaration.
91265         (ARGCASEMATCH): Remove macro.
91266         (__xargmatch_internal): Remove case_sensitive argument.
91267         (XARGMATCH): Update.
91268         (XARGCASEMATCH): Remove macro.
91269         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
91270         case_sensitive argument.
91271         (argcasematch): Remove function.
91272         (__xargmatch_internal): Remove case_sensitive argument.
91273         (main): Use XARGMATCH instead of XARGCASEMATCH.
91274
91275         * lib/xmalloc.c: Change compile-time error message. Add comment about
91276         required autoconf version.
91277
91278 2002-11-20  Paul Eggert  <eggert@twinsun.com>
91279
91280         Merge argmatch cleanups from Bison.  Assume C89.
91281
91282         * lib/argmatch.c: Include config.h here, not in argmatch.h.
91283         Include stdlib.h, for EXIT_FAILURE.
91284         Always include <string.h>, since we assume C89.
91285         (EXIT_FAILURE): Remove pre-C89 bug workaround.
91286         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
91287         Include <stddef.h> instead, since it's all we need for size_t.
91288         (PARAMS): Remove.  All uses removed.
91289         (ARRAY_CARDINALITY): Do not bother to #undef.
91290         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
91291         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91292         Remove unnecessary parentheses.
91293         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91294         Insert necessary parentheses.
91295         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
91296         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
91297
91298 2002-11-19  Bruno Haible  <bruno@clisp.org>
91299
91300         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
91301         * lib/mbswidth.h: Include <stddef.h>, for size_t.
91302
91303         * lib/mbswidth.h (PARAMS): Remove macro.
91304         (mbswidth, mbsnwidth): Use ANSI C function declarations.
91305         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
91306
91307         * lib/gcd.h (PARAMS): Remove macro.
91308         (gcd): Use ANSI C function declarations.
91309         * lib/gcd.c (gcd): Likewise.
91310
91311 2002-11-15  Bruno Haible  <bruno@clisp.org>
91312
91313         * lib/strcspn.c: Include <stddef.h>.
91314         (strcspn): Use ANSI C function declaration. Change return type to
91315         size_t. Use NULL.
91316         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
91317         (strpbrk): Use NULL.
91318         * lib/strpbrk.h (PARAMS): Remove macro.
91319         (strpbrk): Use ANSI C function declaration.
91320         * lib/strstr.c: Don't include <sys/types.h>.
91321         * lib/strstr.h (PARAMS): Remove macro.
91322         (strstr): Use ANSI C function declarations.
91323
91324 2002-11-14  Karl Berry  <karl@gnu.org>
91325
91326         * config/mkinstalldirs: `do' on separate line, instead of
91327         `for var; do'.
91328
91329 2002-11-06  Bruno Haible  <bruno@clisp.org>
91330
91331         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
91332         * lib/gcd.c (gcd): Likewise.
91333
91334 2002-11-05  Bruno Haible  <bruno@clisp.org>
91335
91336         * lib/gcd.h: New file, from gettext-0.11.5.
91337         * lib/gcd.c: New file, from gettext-0.11.5.
91338
91339 2002-11-05  Bruno Haible  <bruno@clisp.org>
91340
91341         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91342         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91343         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91344         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91345
91346         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
91347         <libintl.h>.
91348         * lib/makepath.c: Include gettext.h instead of <locale.h> and
91349         <libintl.h>.
91350
91351         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
91352         * lib/human.c: Include gettext.h instead of <libintl.h>.
91353         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
91354         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
91355         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
91356         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
91357         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
91358         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
91359         (textdomain): Remove definition.
91360         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
91361
91362         * lib/long-options.c: Remove include of <libintl.h> and definition of
91363         _.
91364         * lib/same.c: Remove include of <libintl.h> and definition of _.
91365
91366 2002-11-04  Owen Taylor  <otaylor@redhat.com>
91367
91368         * lib/config.charset: A few additions for Solaris.
91369
91370 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91371
91372         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
91373         * lib/localcharset.c (locale_charset): Declare as extern "C".
91374
91375 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91376
91377         * lib/config.charset: msdos in uk_UA uses CP1125.
91378
91379 2002-11-04  Bruno Haible  <bruno@clisp.org>
91380
91381         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
91382         * lib/strcase.h: New file, from GNU gettext-0.11.5.
91383         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
91384         * lib/strstr.h: New file, from GNU gettext-0.11.5.
91385         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
91386
91387 2002-11-04  Bruno Haible  <bruno@clisp.org>
91388
91389         * lib/localcharset.c (locale_charset): Don't return an empty string.
91390
91391 2002-11-04  Bruno Haible  <bruno@clisp.org>
91392
91393         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
91394         aliases.
91395
91396 2002-11-04  Bruno Haible  <bruno@clisp.org>
91397
91398         * lib/config.charset: Update for newest glibc. Add canonical names
91399         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
91400
91401 2002-11-04  Bruno Haible  <bruno@clisp.org>
91402
91403         * lib/config.charset: Add support for NetBSD.
91404
91405 2002-11-04  Bruno Haible  <bruno@clisp.org>
91406
91407         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
91408
91409 2002-11-01  Bruno Haible  <bruno@clisp.org>
91410
91411         * configure.in: Add AC_CONFIG_AUX_DIR call.
91412         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
91413         test/Makefile.
91414         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
91415
91416 2002-09-28  Karl Berry  <karl@gnu.org>
91417
91418         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
91419         installed automake until the next release, since changes have been
91420         made.
91421
91422 2002-09-25  Karl Berry  <karl@gnu.org>
91423
91424         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
91425         * lib/getopt*: copy from libc/posix.
91426         * lib/gettext.h: copy from gettext.
91427         * lib/.cppi-disable: add strdup.c, gettext.h.
91428
91429 2002-09-25  Karl Berry  <karl@gnu.org>
91430
91431         * config/srclist.txt: enable gettext.h check.
91432         * config/config.{guess,sub}: update from prep.
91433         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
91434                 from automake 1.6.3.
91435         See srclist*.
91436
91437 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
91438
91439         * regex.c (PATFETCH): Remove the translating fetch.
91440         (PATFETCH_RAW): Rename to PATFETCH.
91441         (set_image_of_range): New fun.
91442         (SET_RANGE_TABLE_WORK_AREA): Use it.
91443         (regex_compile): Don't translate the pattern chars so eagerly.
91444         Only do it when inserting an `exactn' bytecode or when handling
91445         a char-range.
91446         (mutually_exclusive_p): Avoid empty statement.
91447
91448 2002-07-06  Jim Meyering  <meyering@lucent.com>
91449
91450         * m4/README: Don't mention Makefile.am.in.
91451         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
91452
91453 2002-07-01  Jim Meyering  <meyering@lucent.com>
91454
91455         * lib/c-stack.c: Include sys/time.h.
91456         From Volker Borchert.
91457
91458 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91459
91460         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
91461
91462 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91463
91464         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
91465         New macro.  Use it uniformly instead of
91466         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
91467         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
91468         reported by Vin Shelton.
91469
91470 2002-06-22  Paul Eggert  <eggert@twinsun.com>
91471
91472         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
91473         Do not assume SA_SIGINFO behavior.
91474         Bug reported by Jim Meyering on NetBSD 1.5.2.
91475
91476 2002-06-22  Jim Meyering  <meyering@lucent.com>
91477
91478         * m4/c-stack.m4: New file, from diffutils-2.8.2.
91479         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
91480
91481         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
91482         now that configure.ac uses AC_GNU_SOURCE.
91483         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
91484         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
91485
91486         Update to latest tools.  Suggestions from Paul Eggert.
91487         * m4/stdbool.m4: New file, from diffutils-2.8.2.
91488         * m4/gnu-source.m4: Update from diffutils-2.8.2.
91489         * m4/fnmatch.m4: Likewise.
91490         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
91491         to AC_HEADER_STDBOOL
91492
91493 2002-06-22  Jim Meyering  <meyering@lucent.com>
91494
91495         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
91496         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
91497
91498 2002-06-22  Jim Meyering  <meyering@lucent.com>
91499
91500         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
91501
91502         * lib/exitfail.c, exitfail.h: Likewise.
91503         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
91504
91505         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
91506         of fnmatch.h.
91507         (EXTRA_DIST): Add fnmatch_loop.c.
91508         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
91509
91510         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
91511         * lib/fnmatch.c: Update from diffutils-2.8.2.
91512         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
91513         * lib/fnmatch.h: Remove file.
91514
91515 2002-06-21  Jim Meyering  <meyering@lucent.com>
91516
91517         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
91518         * m4/mbrtowc.m4: Likewise.
91519
91520         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
91521         * m4/mbswidth.m4: Reflect name change:
91522         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
91523         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91524
91525         * m4/lib-link.m4: Update from gettext-0.11.2.
91526         * m4/gettext.m4: Likewise.
91527
91528         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
91529         From Alfred M. Szmidt.
91530
91531 2002-06-18  Paul Eggert  <eggert@twinsun.com>
91532
91533         * lib/file-type.h: Report an error if neither S_ISREG nor
91534         S_IFREG is defined, instead of using a test specific to glibc
91535         2.2.  This should be safe, since POSIX requires S_ISREG and
91536         Unix Version 7 had S_IFREG.  We don't need to check for
91537         <sys/types.h> since we don't use any symbols that it defines.
91538
91539 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
91540
91541         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
91542         $@-t, so that each temporary file name is unique and valid in the first
91543         8 characters, for operation under DOS.
91544
91545 2002-06-15  Paul Eggert  <eggert@twinsun.com>
91546
91547         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
91548
91549 2002-06-15  Jim Meyering  <meyering@lucent.com>
91550
91551         Work even with DJGPP 2.03, which lacks support for symlinks.
91552         From Richard Dawe.
91553         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
91554         is defined.
91555         * lib/lchown.c (S_ISLNK): Likewise.
91556
91557 2002-06-15  Jim Meyering  <meyering@lucent.com>
91558
91559         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
91560         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
91561         have been included before this file.
91562
91563 2002-06-14  Jim Meyering  <meyering@lucent.com>
91564
91565         * lib/file-type.h: Use the version from diffutils-2.8.2.
91566         * lib/file-type.c: Likewise.
91567
91568 2002-06-07  Jim Meyering  <meyering@lucent.com>
91569
91570         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
91571         They're needed at least for NetBSD 1.5.2.
91572         ($statxfs_includes): Include those same headers.
91573         ($statxfs_includes): Include sys/vfs.h if available.
91574         ($statxfs_includes): Likewise for sys/statvfs.h.
91575         Check for the following members in both structs statfs and statvfs:
91576         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
91577
91578 2002-06-01  Jim Meyering  <meyering@lucent.com>
91579
91580         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
91581         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
91582
91583 2002-05-28  Jim Meyering  <meyering@lucent.com>
91584
91585         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
91586         Reported by Volker Borchert.
91587
91588 2002-05-27  Jim Meyering  <meyering@lucent.com>
91589
91590         Fix a problem seen only on nonconforming systems whereby ls.c's
91591         use of localtime, and then of gettimeofday would cause trouble:
91592         the localtime call used to initialize rpl_gettimeofday's save
91593         mechanism would clobber ls's current local time information so
91594         that in any long listing the first file would always be listed
91595         with date 1970-01-01.  Analysis by Volker Borchert.
91596
91597         * lib/gettimeofday.c (localtime): Undefine.
91598         (rpl_localtime): New function.
91599
91600 2002-05-27  Jim Meyering  <meyering@lucent.com>
91601
91602         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
91603         localtime.
91604
91605         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
91606         use the replacement function; it wouldn't resolve at link time.
91607         Reported by Volker Borchert.
91608
91609 2002-05-22  Jim Meyering  <meyering@lucent.com>
91610
91611         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
91612         file-type.h.
91613         * lib/file-type.h: New file.
91614         * lib/file-type.c (file_type): New file/function.  Extracted from
91615         diffutils.
91616
91617 2002-04-30  Jim Meyering  <meyering@lucent.com>
91618
91619         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
91620
91621 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91622
91623         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
91624
91625 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91626
91627         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
91628         Do not check for alloca.h (no longer used) or stdbool.h (was never
91629         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
91630
91631 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91632
91633         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
91634
91635 2002-04-29  Jim Meyering  <meyering@lucent.com>
91636
91637         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
91638         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
91639         Use AC_FUNC_STRNLEN here instead.
91640
91641         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
91642         With autoconf-2.53a, it's part of AC_PROG_CC.
91643
91644 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91645
91646         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
91647         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
91648
91649 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91650
91651         * lib/sig2str.h, lib/sig2str.c: New files.
91652         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
91653
91654 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91655
91656         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
91657         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
91658         of 127, since 64 is the largest conceivable number for ancient
91659         nonstandard hosts.
91660         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
91661
91662 2002-04-28  Jim Meyering  <meyering@lucent.com>
91663
91664         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
91665
91666 2002-04-24  Jim Meyering  <meyering@lucent.com>
91667
91668         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
91669         (jm_PREREQ): Use it.
91670
91671         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
91672         mach/mach.h fcntl.h.
91673         Check for this function: setlocale.
91674
91675 2002-04-24  Jim Meyering  <meyering@lucent.com>
91676
91677         * lib/gettext.h: New file, from Gettext.
91678         * lib/Makefile.am (INCLUDES): Remove -I../intl.
91679         (libfetish_a_SOURCES): Add gettext.h.
91680
91681 2002-04-16  Jim Meyering  <meyering@lucent.com>
91682
91683         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
91684         ut_pid, ut_id, ut_exit.
91685
91686 2002-04-16  Jim Meyering  <meyering@lucent.com>
91687
91688         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
91689         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
91690         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
91691
91692 2002-04-12  Jim Meyering  <meyering@lucent.com>
91693
91694         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
91695         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
91696         existence of the getmntinfo function.  Needed for Darwin 5.3.
91697
91698         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
91699         This is necessary at least on Darwin 5.3.
91700
91701         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
91702         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
91703         strnlen.o in the library, and that makes some versions of ranlib
91704         object.
91705
91706 2002-04-12  Jim Meyering  <meyering@lucent.com>
91707
91708         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
91709
91710 2002-04-09  Jim Meyering  <meyering@lucent.com>
91711
91712         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
91713         to be more precise.  Rather than saying we're checking whether the
91714         function `works', say what we're testing.
91715         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
91716         Reported by Bruno Haible.
91717
91718 2002-03-10  Jim Meyering  <meyering@lucent.com>
91719
91720         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
91721         Suggestion from Santiago Vila.
91722
91723 2002-03-08  Jim Meyering  <meyering@lucent.com>
91724
91725         * lib/rename.c: Mention that this wrapper is needed also on
91726         mips-dec-ultrix4.4 systems.
91727
91728 2002-03-02  Jim Meyering  <meyering@lucent.com>
91729
91730         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
91731         not HAVE_CLOCK_SETTIME.
91732
91733 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91734
91735         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
91736         Check for clock_settime.
91737
91738 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91739
91740         * lib/nanosleep.h: Rename to....
91741         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
91742
91743         * lib/gettime.c: New file.
91744         * lib/settime.c: New file.
91745         * lib/stime.c: Remove.
91746
91747         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
91748         timespec.h.  Remove nanosleep.h.
91749
91750 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91751
91752         * m4/acl.m4: New file.
91753         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
91754         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
91755
91756 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91757
91758         * lib/acl.c, lib/acl.h: New files.
91759         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
91760
91761 2002-02-24  Jim Meyering  <meyering@lucent.com>
91762
91763         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
91764         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
91765         cause trouble.  Reported by Nelson Beebe.
91766
91767 2002-02-23  Paul Eggert  <eggert@twinsun.com>
91768
91769         * lib/path-concat.c (xpath_concat): Reorder code to pacify
91770         compilers that don't know that xalloc_die never returns.
91771
91772 2002-02-20  Jim Meyering  <meyering@lucent.com>
91773
91774         * lib/getdate.c: Regenerate using bison-1.33.
91775
91776 2002-02-17  Jim Meyering  <meyering@lucent.com>
91777
91778         * config/config.guess (main): Don't use `head -1'; it's no longer
91779         portable. Use `sed 1q' instead.
91780
91781 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
91782
91783         * m4/codeset.m4: Upgrade to gettext-0.11.
91784         * m4/gettext.m4: Upgrade to gettext-0.11.
91785         * m4/glibc21.m4: Upgrade to gettext-0.11.
91786         * m4/iconv.m4: Upgrade to gettext-0.11.
91787         * m4/isc-posix.m4: Upgrade to gettext-0.11.
91788         * m4/lcmessage.m4: Upgrade to gettext-0.11.
91789         * m4/lib-ld.m4: New file, from gettext-0.11.
91790         * m4/lib-link.m4: New file, from gettext-0.11.
91791         * m4/lib-prefix.m4: New file, from gettext-0.11.
91792         * m4/progtest.m4: Upgrade to gettext-0.11.
91793
91794 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91795
91796         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
91797         (jm_PREREQ): Use it.
91798
91799 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91800
91801         * lib/posixver.c, lib/posixver.h: New files.
91802         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91803
91804 2002-02-02  Paul Eggert  <eggert@twinsun.com>
91805             Bruno Haible  <bruno@clisp.org>
91806
91807         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
91808         (fwrite_success_callback): New declaration.
91809         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
91810         print_unicode_char. Call failure callback instead of error.
91811         (fwrite_success_callback): New function.
91812         (exit_failure_callback): New function.
91813         (fallback_failure_callback): New function.
91814         (print_unicode_char): Call unicode_to_mb.
91815
91816 2002-01-26  Jim Meyering  <meyering@lucent.com>
91817
91818         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
91819         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
91820
91821 2002-01-26  Jim Meyering  <meyering@lucent.com>
91822
91823         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
91824
91825 2002-01-22  Paul Eggert  <eggert@twinsun.com>
91826
91827         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
91828
91829 2002-01-22  Jim Meyering  <meyering@lucent.com>
91830
91831         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
91832         Otherwise, some versions of automake would omit the rule that makes
91833         Makefile from Makefile.in.
91834
91835 2002-01-21  Paul Eggert  <eggert@twinsun.com>
91836
91837         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
91838         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91839         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
91840         (memcoll): Set errno to zero if there is no error.
91841
91842         * lib/quotearg.c (quotearg_buffer_restyled):
91843         Fix bug with quoting buffers containing NUL when backslashing escapes.
91844         This bug was exposed by the other changes in this patch.
91845         (quotearg_n_options): New arg ARGSIZE.
91846         All callers changed.
91847         (quoting_options_from_style): New function.
91848         (quotearg_n_style): Use it.
91849         (quotearg_n_style_mem): New function.
91850
91851         * lib/quotearg.h (quotearg_n_style_mem): New function.
91852
91853 2002-01-19  Jim Meyering  <meyering@lucent.com>
91854
91855         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
91856         Remove useless quotes: DF_PROG="df".
91857         * m4/strnlen.m4: New file.
91858
91859 2002-01-16  Paul Eggert  <eggert@twinsun.com>
91860
91861         * lib/backupfile.c (ISDIGIT): Comment fix.
91862         * lib/getdate.y (ISDIGIT): Likewise.
91863         * lib/posixtm.c (ISDIGIT, year): Likewise.
91864         * lib/strverscmp.c (ISDIGIT): Likewise.
91865         * lib/userspec.c (ISDIGIT): Likewise.
91866
91867 2002-01-16  Jim Meyering  <meyering@lucent.com>
91868
91869         * lib/getdate.y: Add three semicolons, each just before a closing
91870         brace. Bison (as of version 1.31) no longer papers over that mistake.
91871
91872 2002-01-05  Jim Meyering  <meyering@lucent.com>
91873
91874         * lib/version-etc.c (version_etc_copyright): Update copyright year.
91875
91876 2001-12-19  Paul Eggert  <eggert@twinsun.com>
91877
91878         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
91879         not silently exit merely because the output buffer happens to
91880         have nothing pending.
91881
91882 2001-12-18  Paul Eggert  <eggert@twinsun.com>
91883
91884         See the big note in ../ChangeLog.
91885         * lib/human.c (suffixes): Prefer K to k for 1024.
91886         (generate_suffix_backwards): New function.
91887         (human_readable_inexact): Use it.
91888         * lib/xstrtol.c (__xstrtol): If there is no number but there
91889         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
91890         Accept 'K' as well as 'k'.
91891
91892 2001-12-15  Jim Meyering  <meyering@lucent.com>
91893
91894         * lib/regex.h (__restrict_arr): Update from libc.
91895
91896         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
91897         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
91898         (STREQ): Define.
91899
91900 2001-12-14  Jim Meyering  <meyering@lucent.com>
91901
91902         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
91903         Suggestion from Bruno Haible.
91904
91905 2001-12-10  Jim Meyering  <meyering@lucent.com>
91906
91907         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
91908         xrealloc, Instead, include "xalloc.h".
91909         (initbuffer): Don't cast xmalloc return value to char*.
91910         (readline): Reword comment.
91911         Don't cast xrealloc return value to char*
91912         Return NULL, not 0.
91913
91914 2001-12-09  Jim Meyering  <meyering@lucent.com>
91915
91916         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
91917         about `signed and unsigned type in conditional expression'.
91918         * lib/posixtm.c (posix_time_parse): Likewise.
91919
91920         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
91921
91922         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
91923         to avoid a pedantic warning.
91924
91925         * lib/getstr.c: Don't include assert.h.
91926         (getstr): Remove warning-evoking assertions.
91927         Return -1 if offset parameter is out of bounds.
91928         Change the type of a local from int to size_t.
91929
91930         * lib/strftime.c (my_strftime_localtime_r): Include this function
91931         definition in the `#if ! HAVE_TM_GMTOFF' block.
91932
91933         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
91934         Include xalloc.h instead.
91935
91936 2001-12-02  Jim Meyering  <meyering@lucent.com>
91937
91938         * lib/tempname.c: Don't declare getenv, thus reverting the change of
91939         2001-11-18.  It's no longer necessary, now that stdlib.h is always
91940         included.
91941
91942         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
91943         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
91944
91945 2001-11-30  Akim Demaille  <akim@epita.fr>
91946
91947         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
91948         before being defined.
91949
91950 2001-11-27  Paul Eggert  <eggert@twinsun.com>
91951
91952         * lib/quotearg.h (quotearg_n, quotearg_n_style):
91953         First arg is int, not unsigned.
91954         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
91955         (SIZE_MAX, UINT_MAX): New macros.
91956         (quotearg_n_options): Abort if N is negative.
91957         Avoid overflow check on hosts where size_t is 64 bits and int
91958         is 32 bits, as overflow is impossible there.
91959         Fix off-by-one typo that caused unnecessary reallocation.
91960
91961 2001-11-27  Jim Meyering  <meyering@lucent.com>
91962
91963         * lib/tempname.c: Merge with version from libc.
91964         * lib/regex.c: Likewise.
91965
91966         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
91967         systems for which STDC_HEADERS is 0, it was not included, resulting in
91968         a warning about an integer-to-pointer conversion problem with getenv.
91969         Reported by Volker Borchert.
91970
91971 2001-11-26  Jim Meyering  <meyering@lucent.com>
91972
91973         * lib/gtod.h: Remove file.
91974         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
91975         * lib/gettimeofday.c: Don't include gtod.h.
91976         (GTOD_init): Remove function.
91977         (rpl_gettimeofday): Do its job here instead, rather than aborting.
91978         Suggestion from Volker Borchert.
91979
91980 2001-11-23  Jim Meyering  <meyering@lucent.com>
91981
91982         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
91983         it.
91984         * lib/hash.c (struct hash_table): Define it here instead.
91985
91986 2001-11-22  Jim Meyering  <meyering@lucent.com>
91987
91988         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
91989
91990 2001-11-20  Jim Meyering  <meyering@lucent.com>
91991
91992         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
91993         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
91994
91995 2001-11-19  Jim Meyering  <meyering@lucent.com>
91996
91997         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
91998         directory.  Use "conftestXXXXXX" as the template.
91999         Suggestion from Paul Eggert.
92000
92001         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
92002         immediately, so the test doesn't mistakenly hit the max-open-files
92003         limit.
92004
92005 2001-11-18  Paul Eggert  <eggert@twinsun.com>
92006
92007         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
92008         (TEMPORARIES): New macro.
92009         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
92010         removes an artificial limitation (e.g. HP-UX 10.20, where
92011         TMP_MAX is 17576).
92012
92013 2001-11-18  Jim Meyering  <meyering@lucent.com>
92014
92015         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
92016
92017 2001-11-18  Jim Meyering  <meyering@lucent.com>
92018
92019         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
92020         on SunOS 4.
92021
92022         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
92023         files will be created before anything else.
92024
92025 2001-11-17  Paul Eggert  <eggert@twinsun.com>
92026
92027         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
92028         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
92029
92030 2001-11-17  Jim Meyering  <meyering@lucent.com>
92031
92032         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
92033         Prompted by a report from Bob Proulx.
92034
92035         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
92036         Instead, require UTILS_FUNC_MKSTEMP.
92037
92038 2001-11-17  Jim Meyering  <meyering@lucent.com>
92039
92040         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
92041         Now, that's done as part of AC_FUNC_STRTOD.
92042
92043 2001-11-17  Jim Meyering  <meyering@lucent.com>
92044
92045         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
92046         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
92047         rather than group writable.  Patch by Juan F. Codagnone.
92048
92049         * lib/readtokens.c: Remove explicit declarations of xmalloc and
92050         xrealloc, Instead, include "xalloc.h".
92051
92052         * lib/mountlist.c: Include unlocked-io.h after all system headers.
92053         Remove explicit declarations of xmalloc, xrealloc,
92054         and xstrdup.  Instead, include "xalloc.h".
92055
92056         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
92057         unlocked-io.h.
92058         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
92059         Likewise.
92060         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
92061
92062         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
92063         Reported by Padraig Brady.
92064
92065         * lib/mkstemp.c: #undef mkstemp.
92066         Include config.h.
92067         (rpl_mkstemp): Rename from mkstemp.
92068         Protoize.
92069
92070 2001-11-16  Jim Meyering  <meyering@lucent.com>
92071
92072         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
92073         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
92074         determine the amount of total physical memory, use pstat_getstatic.
92075         HPUX-11 doesn't define _SC_PHYS_PAGES.
92076         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
92077         If sysconf couldn't be used to determine the amount of available
92078         physical memory, use both pstat_getstatic and pstat_getdynamic.
92079         Based on a patch from Bob Proulx.
92080
92081 2001-11-10  Jim Meyering  <meyering@lucent.com>
92082
92083         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
92084         (jm_PREREQ): Use it.
92085
92086 2001-11-09  Jim Meyering  <meyering@lucent.com>
92087
92088         * m4/jm-macros.m4: Require autoconf-2.52f.
92089         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
92090         Use these AC_-prefixed names, not the AM_-prefixed ones.
92091
92092         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
92093
92094 2001-11-05  Jim Meyering  <meyering@lucent.com>
92095
92096         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
92097
92098 2001-11-04  Jim Meyering  <meyering@lucent.com>
92099
92100         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
92101         $DEFS.
92102
92103 2001-11-03  Jim Meyering  <meyering@lucent.com>
92104
92105         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
92106         of AC_DEFUN.
92107
92108         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
92109         know the name of the variable in the macro definition.
92110
92111 2001-11-03  Jim Meyering  <meyering@lucent.com>
92112
92113         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
92114         in argmatch_to_argument call.
92115
92116         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
92117         argument.
92118
92119         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
92120         e.g., a fault due to an attempt to free a NULL pointer.
92121
92122 2001-11-01  Jim Meyering  <meyering@lucent.com>
92123
92124         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
92125         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
92126
92127 2001-11-01  Jim Meyering  <meyering@lucent.com>
92128
92129         * lib/dirfd.c, lib/dirfd.h: New files.
92130         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
92131
92132         * lib/hash.c (hash_print) [TESTING]: Clean up.
92133
92134 2001-10-22  Paul Eggert  <eggert@twinsun.com>
92135
92136         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
92137         to avoid a warning if -Wall.
92138
92139 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
92140
92141         * README: New file
92142         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
92143         (per RMS's instructions, this is now the canonical source)
92144         * lgpl/, gpl/: New directories.
92145
92146 2001-10-21  Paul Eggert  <eggert@twinsun.com>
92147
92148         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
92149
92150 2001-10-21  Jim Meyering  <meyering@lucent.com>
92151
92152         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
92153         this code would end up calling gettext even in packages built
92154         with --disable-nls.
92155         * lib/getopt.c (_): Likewise.
92156         * lib/regex.c (_): Likewise.
92157
92158 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92159
92160         * m4/error.m4 (jm_PREREQ_ERROR):
92161         Do not invoke AC_CHECK_FUNCS with strerror_r, as
92162         AC_FUNC_STRERROR_R does that.
92163         Check for strerror declaration.
92164
92165         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
92166         are supposed to have them these days.
92167         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
92168         Merge changes from latest Autoconf CVS.
92169         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
92170         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
92171         POSIX decided to standardize on the int flavor of strerror_r.
92172
92173 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92174
92175         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
92176         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
92177         Use strerror_r that is only a macro, even if it is not a function.
92178         (strerror): Check for HAVE_DECL_STRERROR before declaring.
92179         (private_strerror): Use prototypes, not old-style function definition.
92180         (print_errno_message): New function.
92181         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
92182         char*-flavored one.
92183         (error_tail, error, error_at_line): Use it.
92184
92185 2001-10-11  Jim Meyering  <meyering@lucent.com>
92186
92187         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
92188         and quote_n (1, ... to avoid clobbering a buffer.
92189
92190 2001-10-05  Jim Meyering  <meyering@lucent.com>
92191
92192         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
92193         hash-pjw.h.
92194         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
92195         * lib/hash-pjw.h: New file.
92196
92197 2001-09-30  Jim Meyering  <meyering@lucent.com>
92198
92199         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
92200         `struct fsstat' has the `f_fstypename' member.
92201         Use that to define FS_TYPE, which is now used to make
92202         the getfsstat link test tighter.
92203
92204 2001-09-30  Jim Meyering  <meyering@lucent.com>
92205
92206         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
92207         Include <sys/ucred.h>, for Apple Darwin.
92208         Include sys/mount.h and sys/fs_types.h only if available.
92209         (FS_TYPE): Define.
92210         (read_filesystem_list): Use FS_TYPE.
92211
92212 2001-09-29  Paul Eggert  <eggert@twinsun.com>
92213
92214         * lib/exclude.c (excluded_filename): 0 -> false, since it's
92215         a boolean context.
92216
92217 2001-09-29  Jim Meyering  <meyering@lucent.com>
92218
92219         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92220         [one-argument getmntent function]): Include stdio.h before mntent.h.
92221         SunOS 4.1.x needs it for the declaration of `FILE'.
92222         Patch by Volker Borchert.
92223
92224         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92225         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
92226         sys/fs_types.h, and make the link-test for getfsstat guard #include
92227         directives with appropriate #if HAVE_*_H tests so that we can
92228         detect getfsstat on Apple Darwin1.3.7 systems.
92229         Reported by Nelson Beebe.
92230         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
92231
92232 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92233
92234         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92235         #defines strtoimax.  Also treat the other strto* functions
92236         like strtoimax.
92237
92238         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92239         Check for strtoul and strtoumax,
92240         as those declarations are made even in the signed case.
92241         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
92242         Likewise, for strtol and strtoimax.
92243
92244 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92245
92246         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92247         #defines strtoimax.  Also treat the other strto* functions
92248         like strtoimax.
92249
92250         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
92251         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
92252         (strtoimax, strtoumax): Do not declare if already defined as a macro.
92253
92254 2001-09-26  Jim Meyering  <meyering@lucent.com>
92255
92256         Most macros in unlocked-io.h had the wrong number of arguments.
92257         * lib/gen-uio: New script.
92258         (USE_UNLOCKED_IO): Define to 1 if not already defined.
92259         * lib/unlocked-io.hin: Remove file.
92260         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
92261         rather than trying to embed it here.
92262         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
92263         Reported by Padraig Brady.
92264
92265 2001-09-25  Volker Borchert  <bt@teknon.de>
92266
92267         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
92268         `result'.
92269
92270 2001-09-24  Jim Meyering  <meyering@lucent.com>
92271
92272         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
92273
92274 2001-09-23  Jim Meyering  <meyering@lucent.com>
92275
92276         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
92277         instead of the mere test for existence of mntent.h.  The latter
92278         would get a false-positive on AIX 3.4 systems.
92279         In the outer getmntent if-block, don't die if neither of the getmntent
92280         tests succeeds.  Instead, just fall through and continue with the
92281         remaining tests.
92282
92283 2001-09-23  Jim Meyering  <meyering@lucent.com>
92284
92285         * lib/mountlist.c: Remove useless parentheses in #if directives.
92286         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
92287         the deprecated MOUNTED symbol is no longer defined in mntent.h.
92288
92289 2001-09-22  Jim Meyering  <meyering@lucent.com>
92290
92291         * m4/gettext.m4: New file.  From gettext.
92292         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
92293         * m4/progtest.m4: Likewise
92294         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
92295         * m4/glibc21.m4: Likewise.
92296
92297         * m4/libintl.m4: Remove.  No longer used.
92298
92299 2001-09-22  Jim Meyering  <meyering@lucent.com>
92300
92301         * lib/localcharset.c: Update from latest gettext.
92302         * lib/config.charset: Likewise.
92303
92304 2001-09-20  Jim Meyering  <meyering@lucent.com>
92305
92306         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
92307         strtoimax.
92308         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
92309         strtoumax.
92310
92311 2001-09-20  Jim Meyering  <meyering@lucent.com>
92312
92313         * lib/xstrtol.c (strtoimax): Guard declaration with
92314         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
92315         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
92316         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
92317         (strtoumax): Likewise, for completeness (it wasn't necessary).
92318
92319 2001-09-17  Paul Eggert  <eggert@twinsun.com>
92320
92321         * lib/strtoimax.c (HAVE_LONG_LONG):
92322         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
92323         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
92324         to work around bug in IBM C compiler.
92325
92326 2001-09-17  Jim Meyering  <meyering@lucent.com>
92327
92328         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
92329         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
92330         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
92331         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
92332         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
92333         whenever the right hand side need not be expanded by the shell.
92334
92335 2001-09-16  Paul Eggert  <eggert@twinsun.com>
92336
92337         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
92338         library.  It's not correct, as some older glibcs are buggy.
92339         fnmatch wasn't fixed until glibc 2.2.
92340
92341         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
92342         special shell magic here.
92343
92344 2001-09-16  Jim Meyering  <meyering@lucent.com>
92345
92346         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
92347         * m4/jm-macros.m4: Require it.
92348
92349 2001-09-16  Jim Meyering  <meyering@lucent.com>
92350
92351         * lib/mkdir.c: New file.
92352
92353 2001-09-15  Jim Meyering  <meyering@lucent.com>
92354
92355         * m4/jm-macros.m4: Check for help2man.
92356
92357 2001-09-11  Jim Meyering  <meyering@lucent.com>
92358
92359         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
92360         The body, by Paul Eggert, was moved here from configure.in.
92361         * m4/jm-macros.m4: Require UTILS_HOST_OS.
92362
92363 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92364
92365         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
92366         (jm_PREREQ): Use it.
92367
92368 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92369
92370         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
92371         Use ssize_t, not int, to store result of readlink.
92372         Check for ssize_t overflow as well as size_t overflow,
92373         as POSIX says the result of readlink is implementation-defined
92374         when ssize_t overflows.
92375         Remove unnecessary cast to char*.
92376         Use free+malloc instead of realloc, as the storage doesn't need
92377         to be preserved and it's clearer and can be more efficient that way.
92378         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
92379         * lib/xreadlink.h (xreadlink): Update prototype.
92380
92381 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92382
92383         * lib/xgetcwd.c: Revert some of the previous change; intead,
92384         fix the HAVE_GETCWD_NULL code to behave more like the
92385         !HAVE_GETCWD_NULL code used to.
92386
92387         Include "xalloc.h".
92388         (xgetcwd): Do not return NULL when memory is exhausted; instead,
92389         invoke xalloc_die.
92390
92391 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92392
92393         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
92394         sys/param.h, as pathmax.h includes them.
92395
92396 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92397
92398         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
92399         (jm_PREREQ_XGETCWD): New macro.
92400
92401         * m4/getcwd.m4: New file.
92402
92403 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92404
92405         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
92406         like the HAVE_GETCWD_NULL code.
92407         Include pathmax.h if not HAVE_GETCWD.
92408         Do not include xalloc.h.
92409         (INITIAL_BUFFER_SIZE): New symbol.
92410         Do not use xmalloc / xrealloc, since the caller is responsible for
92411         handling errors.  Preserve errno around `free' during failure.
92412         Do not overrun buffer when using getwd.
92413
92414 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92415
92416         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
92417         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
92418         getcwd (NULL, 0).
92419
92420 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92421
92422         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
92423         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
92424         spotted by Jim Meyering.
92425
92426 2001-09-03  Jim Meyering  <meyering@lucent.com>
92427
92428         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
92429         failure.
92430
92431 2001-09-02  Jim Meyering  <meyering@lucent.com>
92432
92433         * lib/error.c: Update from GNU libc.
92434
92435 2001-09-01  Jim Meyering  <meyering@lucent.com>
92436
92437         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
92438         Used by df.
92439
92440 2001-09-01  Jim Meyering  <meyering@lucent.com>
92441
92442         * lib/xreadlink.c: New file.
92443         * lib/xreadlink.h: New file.
92444         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
92445         xreadlink.h.
92446
92447         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
92448         doesn't conflict with sparc Solaris 7's definition in
92449         /usr/include/sys/int_types.h.
92450
92451         * lib/exclude.c: Use `""', not `<>' to #include non-system header
92452         files.
92453         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
92454         and strncasecmp as r-values.  Unixware didn't have declarations.
92455
92456 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92457
92458         * lib/xstrtol.h: Add copyright notice.
92459         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
92460         LONGINT_INVALID_SUFFIX_CHAR.
92461
92462 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92463
92464         * lib/xstrtol.c (strtoimax): New decl.
92465
92466 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92467
92468         * lib/xgetcwd.c: Don't include pathmax.h.
92469         Include stdlib.h and unistd.h if available.
92470         Include xalloc.h.
92471         (xmalloc, xstrdup, free): Remove decls.
92472         (xgetcwd): Don't assume sizes fit in unsigned.
92473         Check for overflow when computing sizes.
92474         Simplify reallocation code.
92475
92476 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92477
92478         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
92479         a directory's st_size can have an arbitrary value, so the old
92480         usage could waste an arbitrary amount of memory.  All uses
92481         changed.
92482         * lib/savedir.h: Update prototype.
92483
92484 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92485
92486         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
92487
92488         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
92489         old strtoimax.c.
92490
92491         Also, make the following further changes to make this file's
92492         configuration more similar to that of strtol.c:
92493         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
92494         (strtoumax, uintmax_t, strtoull, strtol): Remove.
92495         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
92496         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
92497         changed to signed values.
92498
92499         And make the following changes as well:
92500         Fix copyright notice, as 1999 was missing.
92501         (verify): New macro.
92502         (strtoimax): Check sizes at compile-time, not run-time.
92503         Prefer strtol to strtoll if both work.
92504         (main): Remove; it was not that useful and was a pain to maintain.
92505
92506         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
92507
92508 2001-08-31  Jim Meyering  <meyering@lucent.com>
92509
92510         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
92511         Use an initial, malloc'd, buffer of length 128 rather than
92512         a statically allocated one of length 1024.
92513
92514 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92515
92516         Simplify code, partly by assuming autoconf 2.52 semantics.
92517
92518         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
92519
92520         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
92521         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
92522         All uses removed.
92523         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
92524         Move AC_REQUIRE to next-to-top level, to avoid confusion.
92525         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
92526         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
92527         jm_AC_HEADER_INTTYPES_H.
92528         * m4/jm-macros.m4 (jm_MACROS): Likewise.
92529
92530         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
92531
92532         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92533         Quote first arg of AC_DEFUN.
92534         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
92535         since they are needed to parse the include file even if we need
92536         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
92537         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
92538         but with opposite signedness.
92539
92540 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92541
92542         Merge 'exclude' changes from tar 1.13.22.
92543         This fixes one or two unlikely storage allocation overflow bugs,
92544         but doesn't change user-visible behavior otherwise.
92545
92546 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92547
92548         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
92549         (jm_PREREQ_EXCLUDE): New macro.
92550
92551 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92552
92553         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
92554         tm to be declared.
92555
92556 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92557
92558         * lib/hash.c: Remove '2001' from copyright notice.
92559
92560 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92561
92562         * lib/full-write.h: New file.
92563         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
92564         * lib/full-write.c: Correct credits, as cccp.c no longer
92565         exists and anyway it was so heavily changed from the old cccp
92566         code as to be unrecognizable.  Include full-write.h.
92567         (full_write): Return size_t, with short writes meaning failure.
92568         All callers changed.  This fixes a bug with large buffers
92569         on 64-bit hosts.
92570         * lib/utime.c: Include full-write.h.
92571
92572 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92573
92574         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
92575         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
92576         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
92577         Include if available.
92578         (<xalloc.h>): Include
92579         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
92580         (verify): New macro.  Use it to verify that EXCLUDE macros do not
92581         collide with FNM macros.
92582         (struct patopts): New struct.
92583         (struct exclude): Use it, as exclude patterns now come with options.
92584         (new_exclude): Support above changes.
92585         (new_exclude, add_exclude_file):
92586         Initial size must now be a power of two to simplify overflow checking.
92587         (free_exclude, fnmatch_no_wildcards): New function.
92588         (excluded_filename): No longer requires options arg, as the options
92589         are determined by add_exclude.  Now returns bool, not int.
92590         (excluded_filename, add_exclude):
92591         Add support for the fancy new exclusion options.
92592         (add_exclude, add_exclude_file): Now takes int options arg.
92593         Check for arithmetic overflow when computing sizes.
92594         (add_exclude_file): xrealloc might modify errno, so don't
92595         realloc until after errno might be used.
92596
92597         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
92598         New macros.
92599         (free_exclude): New decl.
92600         (add_exclude, add_exclude_file): Now takes int options arg.
92601         (excluded_filename): No longer requires options arg, as the options
92602         are determined by add_exclude.  Now returns bool, not int.
92603
92604 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92605
92606         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
92607
92608 2001-08-27  Jim Meyering  <meyering@lucent.com>
92609
92610         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
92611
92612         * lib/version-etc.c (N_): Remove definition.
92613         Revert most of last change.
92614         Instead, simply don't mark the `Copyright...' string for translation.
92615         Based on advice from Paul Eggert.
92616
92617         * lib/strtoxmax.c: Tweak comment.
92618
92619 2001-08-26  Jim Meyering  <meyering@lucent.com>
92620
92621         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
92622
92623         * m4/xstrtoimax.m4: New file.
92624         * m4/xstrtoumax.m4: Add comments explaining why we
92625         AC_REPLACE_FUNCS(strtol).
92626
92627 2001-08-26  Jim Meyering  <meyering@lucent.com>
92628
92629         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
92630         of copyright with `%s' so translators don't get an untranslated
92631         message in 2002.
92632         (COPYRIGHT_YEAR): Define.
92633         (version_etc): Use fprintf rather than fputs.
92634         Suggestion from Ulrich Drepper.
92635
92636         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
92637
92638         * lib/strtoll.c: New file, from GNU libc.
92639         * lib/xstrtoimax.c: New file.
92640
92641         * lib/xstrtol.h: Add xstrtoimax.
92642         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
92643         * lib/strtoimax.c: New file.  Likewise, but first define
92644         STRTOUXMAX_SIGNED.
92645
92646         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
92647         ...
92648         * lib/strtoxmax.c: ... then renamed to this.
92649
92650 2001-08-18  Paul Eggert  <eggert@twinsun.com>
92651
92652         * m4/inttypes.m4: Add AC_PREREQ(2.13).
92653         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
92654         (jm_AC_TYPE_INTMAX_T): New macro.
92655         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
92656
92657         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
92658
92659         * m4/longlong.m4: Renamed from ulonglong.m4.
92660         * m4/inttypes.m4: Renamed from inttypes_h.m4.
92661         * m4/uintmax_t.m4: Removed.
92662
92663 2001-08-13  Paul Eggert  <eggert@twinsun.com>
92664
92665         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
92666         Port to Solaris 8, where 'sed' requires a space after the 'r'
92667         command, and where sh dislikes "$/".  Clean up the spacing a bit.
92668         Redirect output to $tmp just once.
92669
92670 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
92671
92672         * lib/addext.c (<errno.h>): Include.
92673         (errno): Declare if not defined.
92674         (addext): Work correctly when pathconf returns -1 and leaves
92675         errno alone because there is no limit.  Also, work even if
92676         pathconf returns a value greater than SIZE_MAX.
92677
92678 2001-08-12  Jim Meyering  <meyering@lucent.com>
92679
92680         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
92681         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
92682         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
92683         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
92684         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
92685         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
92686         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
92687         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
92688         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
92689         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
92690         utime.m4, utimes.m4, xstrtoumax.m4:
92691         Quote the first argument in each use of AC_DEFUN.
92692
92693 2001-08-12  Jim Meyering  <meyering@lucent.com>
92694
92695         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
92696         Simply `return getcwd (NULL, 0);'.
92697         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
92698         Use 1300 as initial value for length, not PATH_MAX.
92699
92700         * lib/pathmax.h: Clean up cpp syntax.
92701
92702 2001-08-12  Jim Meyering  <meyering@lucent.com>
92703
92704         * lib/gettimeofday.c: New file.
92705         * lib/gtod.h: New file.
92706         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
92707
92708 2001-08-05  Jim Meyering  <meyering@lucent.com>
92709
92710         * m4/jm-macros.m4: Require autoconf-2.52.
92711
92712 2001-08-04  Jim Meyering  <meyering@lucent.com>
92713
92714         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
92715         stmt, to get in sync with glibc.
92716
92717 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92718
92719         The following changes are from gettext 0.10.39 as maintained by
92720         Bruno Haible.
92721
92722         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
92723         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
92724         with inverted sense.  All uses changed.
92725
92726         * lib/mbswidth.c: Don't include <limits.h>.
92727         Include <stdlib.h> and <string.h> unconditionally.
92728         (iswcntrl, mbsinit, ISCNTRL): New macros.
92729         (mbsnwidth): Use K&R style function declarations.
92730         Don't bother checking for MB_LEN_MAX == 1, since the compiler
92731         can optimize it when MB_CUR_MAX == 1.
92732         The width of control characters is zero, not 1.
92733
92734 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92735
92736         The following changes are from gettext 0.10.39 as maintained by
92737         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
92738
92739         * m4/codeset.m4: Upgrade to serial AM1.
92740         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
92741         all uses changed.  Quote first arg of AC_DEFUN.
92742         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
92743
92744         * m4/iconv.m4: Upgrade to serial AM2.
92745         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
92746         Add --with-libconv-prefix.
92747         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
92748         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
92749         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
92750         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
92751         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
92752
92753         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
92754         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
92755         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
92756         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
92757         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
92758         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
92759         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
92760         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
92761         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
92762
92763         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
92764         string.h any more.
92765
92766         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
92767         not the default value.
92768
92769         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
92770         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
92771         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
92772         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
92773         Also check for iswcntrl, used for wcwidth fallback.
92774         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
92775         to Autoconf 2.13.
92776
92777 2001-08-03  Jim Meyering  <meyering@lucent.com>
92778
92779         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
92780         as it was in the original.  Reported by Paul Eggert.
92781
92782 2001-07-16  Jim Meyering  <meyering@lucent.com>
92783
92784         * m4/gettimeofday.m4: New file.
92785         Prompted by a report from Bernhard Baehr.
92786
92787 2001-07-15  Jim Meyering  <meyering@lucent.com>
92788
92789         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
92790         stuff. Now it's in ../Makefile.cfg.
92791
92792 2001-07-15  Jim Meyering  <meyering@lucent.com>
92793
92794         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
92795         (BUILT_SOURCES): Add unlocked-io.h.
92796         (io_functions): Define.
92797         (unlocked-io.h): New rule.
92798         (DISTCLEANFILES): Add unlocked-io.h.
92799         (all-local): Depend on unlocked-io.h, to ensure it is created.
92800
92801         * lib/unlocked-io.hin: New file
92802
92803         * lib/regex.c: Update from glibc.
92804
92805 2001-07-05  Jim Meyering  <meyering@lucent.com>
92806
92807         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
92808         recommendation.
92809         (libfetish_a_SOURCES): Put all .h files here instead.
92810         Remove a thus-exposed (better checks in automake) duplicate and
92811         two unnecessary .h files.
92812
92813 2001-07-04  Jim Meyering  <meyering@lucent.com>
92814
92815         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
92816         that generates jm-glibc-io.m4 so that it doesn't trigger any make
92817         distcheck failure.
92818
92819 2001-07-02  Jim Meyering  <meyering@lucent.com>
92820
92821         The following changes were prompted by suggestions from Bruno Haible.
92822
92823         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
92824         is now generated.
92825         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
92826         definition of EXTRA_DIST.
92827         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
92828         ensure that the generated file is created/updated whenever the list
92829         of $(unlocked_functions) is changed.
92830         (jm-glibc-io.m4): New rule.
92831         (unlocked-io.h): New rule -- currently unused.
92832
92833 2001-06-24  Jim Meyering  <meyering@lucent.com>
92834
92835         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
92836         unmatched right bracket, rather than kludging it with an extra,
92837         falsely-matching quote in a comment.  Patch by Akim Demaille.
92838
92839 2001-06-11  Jim Meyering  <meyering@lucent.com>
92840
92841         * lib/regex.c: Update from GNU libc.
92842
92843 2001-05-27  Jim Meyering  <meyering@lucent.com>
92844
92845         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
92846         Check for ut_type in struct utmp.
92847
92848 2001-05-27  Jim Meyering  <meyering@lucent.com>
92849
92850         * lib/readutmp.h (UT_TYPE): Define.
92851
92852 2001-05-24  Jim Meyering  <meyering@lucent.com>
92853
92854         * lib/argmatch.c: Include "quote.h".
92855         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
92856         quote function.  Reported by Göran Uddeborg.
92857
92858 2001-05-22  Jim Meyering  <meyering@lucent.com>
92859
92860         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
92861         now that we use the package-supplied version unconditionally.
92862         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
92863
92864 2001-05-21  Jim Meyering  <meyering@lucent.com>
92865
92866         * m4/regex.m4: Change a couple backticks to single quotes to avoid
92867         shell syntax errors.
92868
92869 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92870
92871         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
92872
92873 2001-05-20  Paul Eggert  <eggert@twinsun.com>
92874
92875         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
92876         Don't bother to check library strftime, since
92877         we'll be using our own my_strftime function anyway.
92878         Define my_strftime instead of strftime.
92879
92880 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
92881
92882         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
92883         which is not yet declared.
92884
92885 2001-05-15  Jim Meyering  <meyering@lucent.com>
92886
92887         * m4/regex.m4: Use proper quoting so brackets appear in the test
92888         program.
92889         Reported by, and with help from, Bruno Haible.
92890
92891 2001-05-13  Jim Meyering  <meyering@lucent.com>
92892
92893         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
92894         undefined.
92895
92896 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92897
92898         dirname code cleanup.  base_name now behaves more compatibly
92899         with POSIX basename when given file names that have trailing
92900         slashes, and similarly for dir_name.  Add new primitives
92901         base_len and dir_len.  Put the directory-name-related decls
92902         into dirname.h.
92903
92904         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
92905         * lib/backupfile.c (base_name): Likewise.
92906         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
92907         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
92908         * lib/makepath.c (strip_trailing_slashes): Likewise.
92909         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
92910         ISSLASH): Likewise.
92911         * lib/rename.c (strip_trailing_slashes): Likewise.
92912         * lib/same.c (base_name): Likewise.
92913         * lib/stripslash.c (ISSLASH): Likewise.
92914
92915         * lib/addext.c: Include <dirname.h> after size_t is defined.
92916         * lib/backupfile.c: Likewise.
92917
92918         * lib/addext.c (addext): Use base_len to trim redundant
92919         trailing slashes instead of doing it ourselves.
92920         But do not trim the last slash if it is not redundant.
92921
92922         * lib/backupfile.c (find_backup_file_name,
92923         max_backup_version): Use base_len instead of rolling it ourselves.
92924         Handle the case of "" and (on DOS) "C:" correctly.
92925
92926         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
92927         needed. Include <string.h>, <dirname.h>.
92928         (base_name): Allow file names ending in slashes, other than names
92929         that are all slashes.  In this case, return the basename followed
92930         by the slashes.  This is more general, and can be used in places
92931         where the original base_name purposely had an assertion failure.
92932         (base_len): New function.
92933
92934         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
92935         Do not include <assert.h>; no longer needed.
92936         Include xalloc.h.
92937         (memrchr): Remove decl.
92938         (dir_name_r): Remove.
92939         (dir_len): Renamed from dirlen.  All callers changed.
92940         Rewrite in terms of base_name, for simplicity and consistency.
92941         (dir_name): Never return NULL.  All callers changed.
92942         Do not include <stdlib.h> in test program; no longer needed.
92943         return 0; is fine for test program.
92944
92945         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
92946         New macros.
92947         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
92948
92949         * lib/path-concat.c (path_concat): Use base_len to compute
92950         base length, not strlen; this means we cannot rely on memcpy
92951         to null-terminate.
92952
92953         * lib/same.c (STREQ): Remove.
92954         (same_name): Handle the case where the basename ends in trailing '/'.
92955
92956         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
92957         a slash was stripped.  Do not strip the last slash after a
92958         file system prefix.
92959
92960 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92961
92962         * lib/Makefile.am (libfetish_a_SOURCES):
92963         Add strftime.c, since we now compile it on all hosts.
92964
92965         * lib/strftime.c (my_strftime):
92966         Define to nstrftime if emacs, but only if my_strftime is not defined.
92967         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
92968         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
92969         Add one more extra argument: a nanoseconds value.
92970         All uses changed.
92971         (ns): New macro.
92972         (my_strftime function): Add %N format.
92973         (emacs_strftimeu): Renamed from emacs_strftime,
92974         with extra ut argument.
92975
92976 2001-05-09  Paul Eggert  <eggert@twinsun.com>
92977
92978         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
92979
92980 2001-04-21  Jim Meyering  <meyering@lucent.com>
92981
92982         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
92983         doesn't interfere.
92984
92985 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92986
92987         * m4/ftruncate.m4: Check for chsize.
92988         Link with ftruncate.o unconditionally if ftruncate is missing.
92989         This was required when cross-compiling to i586-mingw32msvc.
92990
92991 2001-04-08  Jim Meyering  <meyering@lucent.com>
92992
92993         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
92994         recomputed; that's necessary when the offset spans a DST transition.
92995         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
92996
92997 2001-04-02  Jim Meyering  <meyering@lucent.com>
92998
92999         * lib/regex.h, regex.c: Update from GNU libc.
93000
93001 2001-03-24  Jim Meyering  <meyering@lucent.com>
93002
93003         * m4/jm-macros.m4: Require autoconf-2.49d.
93004
93005 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
93006
93007         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
93008
93009 2001-03-19  Paul Eggert  <eggert@twinsun.com>
93010
93011         * lib/version-etc.c (version_etc_copyright): Update to 2001.
93012
93013 2001-03-17  Jim Meyering  <meyering@lucent.com>
93014
93015         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
93016         now that the version in autoconf is equivalent.
93017         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
93018
93019         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
93020         Suggestion from Akim Demaille.
93021
93022         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
93023         (jm_PREREQ_TEMPNAME): New function.
93024
93025 2001-03-16  Paul Eggert  <eggert@twinsun.com>
93026
93027         * lib/tempname.c (uint64_t): Define to uintmax_t if
93028         not defined, and if UINT64_MAX is not defined.
93029         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
93030         Reported by John David Anglin.
93031
93032 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
93033
93034         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
93035         resolve alias if codeset is empty.
93036         * lib/config.charset (BeOS): Use wildcard syntax.
93037
93038 2001-03-13  Jim Meyering  <meyering@lucent.com>
93039
93040         * lib/path-concat.c (path_concat)
93041         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
93042         concatenating e.g., `C:' and `foo'.
93043         From Bruno Haible.
93044
93045 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93046
93047         * lib/localcharset.c (locale_charset): Don't use
93048         setlocale(LC_CTYPE,NULL). Don't return NULL.
93049         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
93050
93051 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93052
93053         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
93054         support for DOS/DJGPP.
93055
93056 2001-03-01  Paul Eggert  <eggert@twinsun.com>
93057
93058         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
93059         lacks mkstemp.  Compile our own tempname.c if we compile our own
93060         mkstemp.c, as mkstemp relies on tempname.
93061
93062 2001-03-01  Jim Meyering  <meyering@lucent.com>
93063
93064         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
93065         AH_VERBATIM really does output its argument verbatim.
93066
93067 2001-02-28  Paul Eggert  <eggert@twinsun.com>
93068
93069         * lib/Makefile.am (libfetish_a_SOURCES):
93070         Add dup-safer.c, fopen-safer.c.
93071         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
93072
93073         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
93074         * lib/unistd-safer.h: New files.
93075
93076 2001-02-25  Paul Eggert  <eggert@twinsun.com>
93077
93078         The mkstemp replacement is taken from glibc 2.2.2, with some
93079         portability fixes for use outside glibc, as follows:
93080
93081         * lib/tempname.c (struct_stat64): New macro.
93082         (direxists, __gen_tempname): Use it.
93083         This avoids a portability problem with Solaris 8.
93084
93085         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
93086         (<stddef.h>, <stdint.h>, <string.h>):
93087         Include only if STDC_HEADERS || _LIBC.
93088         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
93089         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
93090         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
93091         (__set_errno): Define this macro if <errno.h> doesn't.
93092         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
93093         Define these macros if <stdio.h> doesn't.
93094         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
93095         Define these macros if <sys/stat.h>
93096         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
93097         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
93098         __xstat64): Define if not _LIBC.
93099         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
93100         (__gen_tempname): Invoke gettimeofday only if
93101         HAVE_GETTIMEOFDAY || _LIBC;
93102         otherwise, fall back on plain "time".
93103         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
93104
93105         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
93106
93107         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
93108
93109 2001-02-18  Paul Eggert  <eggert@twinsun.com>
93110
93111         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
93112
93113 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93114
93115         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
93116         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
93117         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
93118         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93119
93120 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93121
93122         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
93123         Remove workaround macros for hosts that have mbrtowc but not
93124         mbstate_t, as we now insist on proper declarations for both
93125         before using mbrtowc.
93126
93127 2001-02-17  Jim Meyering  <meyering@lucent.com>
93128
93129         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
93130         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
93131         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
93132         UnixWare 7.1.1.
93133
93134         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
93135         rather than AC_CACHE_VAL.
93136
93137 2001-02-17  Jim Meyering  <meyering@lucent.com>
93138
93139         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
93140         around included file name.
93141
93142         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
93143
93144         * lib/strftime.c: Update from GNU libc (the only changes were to
93145         comments).
93146
93147 2001-02-17  Jim Meyering  <meyering@lucent.com>
93148
93149         * lib/regex.c: Update from libc.
93150
93151 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
93152
93153         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
93154         clash.
93155
93156 2001-02-16  Paul Eggert  <eggert@twinsun.com>
93157
93158         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
93159         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
93160         Reported by Mark Hounschell via Paul Eggert.
93161
93162 2001-02-07  Jim Meyering  <meyering@lucent.com>
93163
93164         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
93165
93166 2001-02-05  Jim Meyering  <meyering@lucent.com>
93167
93168         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
93169         it includes the patch required for `large file' support with at least
93170         HP-UX's 10.20 /bin/cc.
93171
93172 2001-02-03  Jim Meyering  <meyering@lucent.com>
93173
93174         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
93175         AS_IF, now that it works once again (mysteriously).
93176         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93177
93178 2001-01-30  Jim Meyering  <meyering@lucent.com>
93179
93180         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
93181         * m4/chown.m4: Rename conftestchown to conftest.chown.
93182         * m4/rename.m4: s/conftestdir/conftest.d1/ and
93183         s/conftestdir2/conftest.d2/.
93184         * m4/utimes.m4: s/conftestdata/conftest.data/
93185         Inspired by Pavel Roskin's change in autoconf.
93186
93187 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
93188
93189         * lib/config.charset: Update for FreeBSD 4.2.
93190
93191 2001-01-27  Jim Meyering  <meyering@lucent.com>
93192
93193         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
93194         a use of AS_IF.
93195         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93196
93197 2001-01-26  Jim Meyering  <meyering@lucent.com>
93198
93199         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
93200         quotearg.c includes it.
93201
93202 2001-01-26  Jim Meyering  <meyering@lucent.com>
93203
93204         * lib/quotearg.c: Include stddef.h.
93205         * lib/quote.c: Include stddef.h.
93206         Reported by Axel Kittenberger.
93207
93208         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
93209         line in double quotes so that it evokes a better diagnostic.
93210         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
93211         Reported by Axel Kittenberger.
93212
93213 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
93214
93215         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
93216         as if it was a `charset'.
93217
93218 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93219
93220         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
93221         has const.
93222
93223 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93224
93225         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
93226         to avoid a warning.  Add back 'const' to inptr.
93227
93228 2001-01-20  Jim Meyering  <meyering@lucent.com>
93229
93230         Be sure that headers are checked before used in code compiled
93231         for the type checks.
93232         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
93233         In place of that, invoke jm_CHECK_ALL_TYPES.
93234         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
93235         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
93236         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
93237         The check for ssize_t was mistakenly run before the test for unistd.h.
93238
93239         The configure-time check for stdbool.h was missing.
93240         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
93241         (jm_PREREQ_HASH): New function.
93242
93243 2001-01-17  Jim Meyering  <meyering@lucent.com>
93244
93245         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
93246         for autoconf-2.49c.
93247         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
93248
93249 2001-01-16  Jim Meyering  <meyering@lucent.com>
93250
93251         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
93252         From Bruno Haible.
93253
93254 2001-01-14  Jim Meyering  <meyering@lucent.com>
93255
93256         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
93257         foo and bar.  Create conftestdir/ in the script, not in the C code.
93258         Remove directories in the script, not in the C code.
93259         Remove conftestdir{,2} before trying to create the directory.
93260         Make the entire configure script fail if the mkdir fails.
93261
93262 2001-01-14  Jim Meyering  <meyering@lucent.com>
93263
93264         * lib/rename.c: New file.  From Volker Borchert.
93265         Include stdlib.h, string.h or strings.h, and xalloc.h.
93266         Use strip_trailing_slashes rather than open-coding it.
93267
93268 2001-01-03  Paul Eggert  <eggert@twinsun.com>
93269
93270         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
93271
93272 2001-01-03  Jim Meyering  <meyering@lucent.com>
93273
93274         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
93275         of local `inptr' to avoid warning with some system declarations of
93276         iconv.
93277
93278 2001-01-02  Volker Borchert  <bt@teknon.de>
93279
93280         * m4/rename.m4: New file.
93281         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
93282
93283 2001-01-01  Jim Meyering  <meyering@lucent.com>
93284
93285         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
93286         even on systems with utmpx.h.  It's necessary for the declaration of
93287         utmp's ut_user member.  Reported by Andreas Jaeger.
93288
93289         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
93290         available. They are required for the declarations of getgrgid and
93291         getpwuid resp.
93292         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
93293         Reported by Andreas Jaeger.
93294
93295 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
93296
93297         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
93298         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
93299         so `make install' also works in VPATH builds.
93300
93301 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
93302
93303         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
93304         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
93305         can be used in subdirectories.
93306
93307 2000-12-29  Paul Eggert  <eggert@twinsun.com>
93308
93309         * lib/modechange.c: Do not assume that mode_t uses the
93310         traditional octal encoding.  E.g. "chmod 1 FOO" should set
93311         the other-execute bit of FOO even if S_IXOTH != 1.
93312
93313         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
93314         WOTH, XOTH, ALLM): New macros.
93315         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
93316          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
93317         Use them.
93318         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
93319         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
93320         (mode_compile):
93321         No need to use uintmax_t; unsigned long is long enough.
93322         Don't bother to get suffix since we don't use it.
93323
93324 2000-12-26  Jim Meyering  <meyering@lucent.com>
93325
93326         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
93327         better with autoheader.
93328
93329 2000-12-24  Jim Meyering  <meyering@lucent.com>
93330
93331         * lib/hash.c (is_prime): Return explicit boolean values.
93332         (hash_get_first): Return NULL to appease Irix5.6's 89.
93333         Reported by Nelson Beebe.
93334
93335 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
93336
93337         * lib/localcharset.c (locale_charset): Add support for Win32.
93338
93339 2000-12-18  Paul Eggert  <eggert@twinsun.com>
93340
93341         * lib/physmem.h, lib/physmem.c: New files.
93342
93343         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
93344         (noinst_HEADERS): Add physmem.h.
93345
93346         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
93347         't' for compatibility with Solaris 8 sort.
93348
93349 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
93350
93351         * lib/config.charset: Add support for BeOS.
93352
93353 2000-12-17  Jim Meyering  <meyering@lucent.com>
93354
93355         * m4/dos.m4 (jm_AC_DOS): New file and macro.
93356         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
93357
93358 2000-12-16  Jim Meyering  <meyering@lucent.com>
93359
93360         This bug had a serious impact on chown: `chown N:M FILE' (for integer
93361         N and M) would have treated it like `chown N:N FILE'.
93362
93363         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
93364
93365 2000-12-16  Jim Meyering  <meyering@lucent.com>
93366
93367         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
93368         SHELLS_FILE to a file name that's useful on djgpp systems.
93369         Include stdlib.h.
93370         (ADDITIONAL_DEFAULT_SHELLS): Define.
93371         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
93372         Based mostly on a patch from Prashant TR.
93373
93374 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
93375
93376         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
93377         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
93378         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
93379
93380 2000-12-08  Andreas Schwab  <schwab@suse.de>
93381
93382         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
93383         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
93384
93385 2000-12-07  Jim Meyering  <meyering@lucent.com>
93386
93387         * lib/stripslash.c (ISSLASH): Define.
93388         (strip_trailing_slashes): Use ISSLASH rather than comparing against
93389         `/'.
93390         From Prashant TR.
93391
93392         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
93393         (dir_name_r): Declare this function as static.
93394         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
93395         manifest itself on a name containing a mix of slashes and
93396         backslashes.
93397         Make this function work with names starting with a DOS-style
93398         drive letter and colon prefix.
93399         (dir_name): Append `.' if necessary.
93400         Based mostly on patches from Prashant TR and Eli Zaretskii.
93401
93402         * lib/dirname.h (dir_name_r): Remove prototype.
93403
93404 2000-12-06  Paul Eggert  <eggert@twinsun.com>
93405
93406         * m4/off_t-format.m4: Remove this file.
93407         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
93408
93409 2000-12-06  Jim Meyering  <meyering@lucent.com>
93410
93411         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
93412         replacement strtoull, we may well need the replacement strtoul, too.
93413         Check for declarations of strtoul and strtoull.
93414         Check for strtol.  Mainly as a cue to cause automake to include
93415         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
93416         Check for limits.h -- strtol.c needs it.
93417
93418 2000-12-05  Jim Meyering  <meyering@lucent.com>
93419
93420         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
93421
93422 2000-12-04  Jim Meyering  <meyering@lucent.com>
93423
93424         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
93425         Also include memory.h, stdlib.h, unistd.h if appropriate.
93426         Reported by Andreas Jaeger (conflicting declaration of malloc).
93427
93428 2000-12-02  Jim Meyering  <meyering@lucent.com>
93429
93430         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
93431         * m4/jm-macros.m4 (jm_MACROS): require it.
93432
93433 2000-12-02  Jim Meyering  <meyering@lucent.com>
93434
93435         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
93436
93437 2000-12-01  Paul Eggert  <eggert@twinsun.com>
93438
93439         * lib/memrchr.c: Include <config.h> before any system include file.
93440
93441 2000-11-30  Jim Meyering  <meyering@lucent.com>
93442
93443         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
93444
93445 2000-11-30  Jim Meyering  <meyering@lucent.com>
93446
93447         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
93448
93449 2000-11-29  Paul Eggert  <eggert@twinsun.com>
93450
93451         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
93452
93453 2000-11-26  Jim Meyering  <meyering@lucent.com>
93454
93455         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
93456
93457 2000-11-22  Paul Eggert  <eggert@twinsun.com>
93458
93459         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
93460         size of (size_t) -1; it's not portable.
93461
93462 2000-11-17  Jim Meyering  <meyering@lucent.com>
93463
93464         * lib/strstr.c: Update from GNU libc.
93465
93466 2000-11-17  Akim Demaille  <akim@epita.fr>
93467
93468         * lib/obstack.h: Formatting changes.
93469         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
93470         prevent type checking.
93471         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
93472         cast the value to (void *): assigning a `foo *' to a `void *'
93473         variable is valid.
93474         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
93475
93476 2000-11-16  Jim Meyering  <meyering@lucent.com>
93477
93478         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
93479
93480 2000-11-11  Jim Meyering  <meyering@lucent.com>
93481
93482         * lib/error.c: Add a couple #includes, merging from GNU libc version.
93483
93484 2000-11-10  Jim Meyering  <meyering@lucent.com>
93485
93486         * lib/obstack.h: Update from GNU libc.
93487         * lib/obstack.c: Likewise.
93488
93489 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
93490
93491         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
93492
93493 2000-11-06  Paul Eggert  <eggert@twinsun.com>
93494
93495         * lib/getusershell.c (setusershell): Use rewind rather than
93496         fseek/fseeko, to avoid configuration hassles with fseeko.
93497         Don't bother opening SHELLS_FILE if shellstream is NULL;
93498         it's not necessary.
93499
93500 2000-11-05  Jim Meyering  <meyering@lucent.com>
93501
93502         * lib/makepath.h (make_dir): Declare.
93503         * lib/makepath.c (make_dir): Remove `static' attribute.
93504         Tweak a comment.
93505
93506 2000-11-04  Jim Meyering  <meyering@lucent.com>
93507
93508         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
93509
93510 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
93511
93512         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
93513         last one in a bucket, advance to the next bucket.
93514
93515 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
93516
93517         * lib/fnmatch.c: Do not comment out all the code if we are using
93518         the GNU C library, because in some cases we are replacing buggy
93519         code in the GNU C library itself.
93520
93521 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
93522
93523         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
93524         (regex_compile): Catch bogus \(\1\).
93525
93526 2000-10-30  Paul Eggert  <eggert@twinsun.com>
93527
93528         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
93529         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
93530         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
93531
93532 2000-10-30  Paul Eggert  <eggert@twinsun.com>
93533
93534         * lib/error.h, getline.h, modechange.h:
93535         Remove "2000" from Copyright line, as the file hasn't been
93536         changed this year other than in the copyright notice.
93537
93538         * lib/xalloc.h: Add "2000" to Copyright line, as this file
93539         was changed this year.
93540
93541 2000-10-29  Jim Meyering  <meyering@lucent.com>
93542
93543         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
93544         renaming.
93545         * m4/ls-mntd-fs.m4: Likewise
93546
93547 2000-10-29  Jim Meyering  <meyering@lucent.com>
93548
93549         * lib/xstat.in: Fix grammar in comment.
93550
93551 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
93552
93553         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
93554         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
93555         doesn't define __restrict_arr.
93556
93557 2000-10-28  Jim Meyering  <meyering@lucent.com>
93558
93559         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
93560         (jm_PREREQ_MEMCHR): New function.
93561
93562 2000-10-28  Jim Meyering  <meyering@lucent.com>
93563
93564         * lib/memchr.c: Update from libc.
93565         Adjust for portability:
93566         [HAVE_STDLIB_H]: Include stdlib.h.
93567         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
93568         Undef __memchr, too.
93569         [!weak_alias]: Define __memchr to memchr.
93570
93571         * lib/regex.c: Update from libc.
93572         * lib/regex.h: Likewise.
93573         * lib/getopt1.c: Likewise.
93574         * lib/memcmp.c: Likewise.
93575
93576         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
93577         Avoid using fseek, when possible -- it's broken by design.
93578         Patch by Ulrich Drepper.
93579
93580 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
93581
93582         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
93583         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
93584         Giving in to popular pressure to shut up the compiler with casts.
93585
93586 2000-10-26  Jim Meyering  <meyering@lucent.com>
93587
93588         * lib/strftime.c: Update from libc.
93589
93590 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
93591
93592         * regex.c: More `unsigned char' -> `re_char' changes.
93593         Also change several `int' into `re_wchar_t'.
93594         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
93595         (PUSH_FAILURE_POINTER): Don't cast any more.
93596         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
93597         We want GCC to complain, since this piece of code makes
93598         re_match non-reentrant, which *should* be fixed.
93599         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
93600         (EXTEND_BUFFER): Use RETALLOC.
93601         (SET_LIST_BIT): Don't cast.
93602         (re_wchar_t): New type.
93603         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
93604         that those two functions will always properly return.
93605         (IMMEDIATE_QUIT_CHECK): Cast to void.
93606         (analyse_first): Use recursion rather than an explicit stack.
93607         (re_compile_fastmap): Can't fail anymore.
93608         (re_search_2): Don't check re_compile_fastmap for failure.
93609         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
93610         Now also sets the new value (passed in a new argument).
93611         (re_match_2_internal): Use it.
93612         Also, use a new var `reg' of type size_t when looping through regs
93613         rather than reuse the inappropriate `mcnt'.
93614
93615 2000-10-25  Jim Meyering  <meyering@lucent.com>
93616
93617         * lib/obstack.c: Update from libc.
93618
93619 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
93620
93621         * regex.c (regex_compile): Change the way of handling a range from
93622         a char less than 256 to a char not less than 256.
93623
93624 2000-10-24  Andrew Innes  <andrewi@gnu.org>
93625
93626         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
93627         NT-Emacs only.
93628         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
93629         so that re_search functions only quit when callers expect them to.
93630
93631 2000-10-23  Jim Meyering  <meyering@lucent.com>
93632
93633         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
93634         wrong.  That set_locale call must not have any side effects.
93635         From Paul Eggert.
93636
93637 2000-10-22  Jim Meyering  <meyering@lucent.com>
93638
93639         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
93640         [CYCLIC]: Remove now-unused definition.
93641
93642         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
93643         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
93644         Suggestion from Ulrich Drepper.
93645
93646 2000-10-21  Jim Meyering  <meyering@lucent.com>
93647
93648         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
93649         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
93650         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
93651
93652 2000-10-21  Jim Meyering  <meyering@lucent.com>
93653
93654         * lib/dirname.c (memrchr): Declare if necessary.
93655         (dir_name): Remove the restriction that there be no
93656         trailing slashes.  Now, this code skips past them, effectively
93657         ignoring them.
93658         [TEST_DIRNAME] (main): New unit tests.
93659
93660         * lib/memrchr.c: New file from GNU libc.
93661         Undef __memrchr, too.
93662         [!weak_alias]: Define __memrchr to memrchr.
93663         Guard weak_alias use with `#ifdef weak_alias'.
93664
93665 2000-10-21  Jim Meyering  <meyering@lucent.com>
93666
93667         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
93668         (dir_name): Use dir_name_r.
93669         * lib/dirname.h (dir_name_r): Declare it.
93670
93671 2000-10-17  Jim Meyering  <meyering@lucent.com>
93672
93673         * lib/quote.h (PARAMS): Define and use.
93674         Reported by Akim Demaille.
93675
93676         * lib/getopt.c: Update from libc.
93677
93678 2000-10-16  Jim Meyering  <meyering@lucent.com>
93679
93680         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
93681         setlocale.
93682         From Jan Fedak.
93683
93684 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
93685
93686         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
93687
93688 2000-09-25  Jim Meyering  <meyering@lucent.com>
93689
93690         * lib/md5.h (rol): Define (from GnuPG).
93691
93692         * lib/sha.c: Give credit (GnuPG) where due.
93693         (M): Use rol rather than open-coding it.
93694         Add a FIXME comment.
93695
93696 2000-09-21  Jim Meyering  <meyering@lucent.com>
93697
93698         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
93699         Reported by Michael Stone.
93700
93701 2000-09-20  Jim Meyering  <meyering@lucent.com>
93702
93703         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
93704         (noinst_HEADERS): Add sha.h.
93705         Based on code from Scott G. Miller and from GnuPG.
93706
93707 2000-09-18  Jim Meyering  <meyering@lucent.com>
93708
93709         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
93710         LIBS. Otherwise, everyone ends up linking with -lelf for some
93711         configurations.
93712         Reported by Mike Stone.
93713
93714 2000-09-15  Jim Meyering  <meyering@lucent.com>
93715
93716         * lib/regex.c: Update from libc.
93717
93718 2000-09-10  Jim Meyering  <meyering@lucent.com>
93719
93720         * lib/getopt.c (_getopt_internal): Update from glibc.
93721
93722 2000-09-09  Jim Meyering  <meyering@lucent.com>
93723
93724         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
93725         think it should be used as a general replacement for isascii.
93726         * lib/fnmatch.c: Likewise.
93727         * lib/mbswidth.c: Likewise
93728         * lib/regex.c: Likewise.
93729
93730         Don't use atoi.
93731         * lib/userspec.c: Include sys/param.h and limits.h.
93732         Include xstrtol.h.
93733         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
93734         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
93735         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
93736         UID, GID.  Check range.
93737
93738 2000-09-06  Jim Meyering  <meyering@lucent.com>
93739
93740         * lib/getopt.c (_getopt_internal): Update from glibc.
93741
93742 2000-08-30  Jim Meyering  <meyering@lucent.com>
93743
93744         * lib/strftime.c: Merge in changes from GNU libc.
93745
93746 2000-08-26  Jim Meyering  <meyering@lucent.com>
93747
93748         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
93749         * m4/fpending.m4: New file.
93750
93751 2000-08-26  Jim Meyering  <meyering@lucent.com>
93752
93753         * lib/closeout.c: Include "__fpending.h".
93754         (close_stdout_status): Return right away if there's nothing to flush.
93755
93756         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
93757         * lib/__fpending.c: New file.
93758         * lib/__fpending.h: New file.
93759
93760 2000-08-20  Jim Meyering  <meyering@lucent.com>
93761
93762         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
93763         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
93764         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
93765
93766 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
93767
93768         Improve fileutils installation on systems where running
93769         programs (like install) can't be unlinked.
93770         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
93771         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
93772
93773 2000-08-07  Paul Eggert  <eggert@twinsun.com>
93774
93775         Standardize on "memory exhausted" instead of "Memory exhausted"
93776         or "virtual memory exhausted".
93777         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
93778         "virtual memory exhausted".
93779         * lib/same.c (same_name): Invoke xalloc_die instead of printing
93780         our own message.
93781         * lib/userspec.c (parse_user_spec): Likewise.
93782         * lib/bumpalloc.h: comment fix
93783         * lib/same.c, userspec.c: Include xalloc.h.
93784
93785         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
93786         not char *const and pointing to a constant array.
93787         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
93788         (xrealloc): Comment fix.
93789
93790         * lib/userspec.c (parse_user_spec):
93791         Don't translate a message until just before returning,
93792         to avoid unnecessary translation.
93793
93794 2000-08-07  Jim Meyering  <meyering@lucent.com>
93795
93796         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
93797         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
93798         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
93799         getgroups.c, gethostname.c, getopt.h, group-member.c,
93800         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
93801         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
93802         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
93803         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
93804         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
93805         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
93806         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
93807         yesno.c: Back out Copyright date changes for each file with no change
93808         this year.  This eases coordination with other programs using the same
93809         source code modules.  From Paul Eggert.
93810
93811 2000-08-06  Paul Eggert  <eggert@twinsun.com>
93812
93813         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
93814         not char, for compatibility with glibc 2.1.3 strftime.c.
93815
93816 2000-08-03  Greg McGary  <greg@mcgary.org>
93817
93818         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
93819         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
93820         (EXTEND_BUFFER): Use them.
93821
93822 2000-08-01  Jim Meyering  <meyering@lucent.com>
93823
93824         * lib/dirname.c (ISSLASH): Define.
93825         (BACKSLASH_IS_PATH_SEPARATOR): Define.
93826         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
93827         both `\' and `/' may be use as path separators.
93828         Based on a patch from Prashant TR.
93829
93830 2000-07-31  Paul Eggert  <eggert@twinsun.com>
93831
93832         * lib/quotearg.c (quotearg_n_options): Don't make the initial
93833         slot vector a constant, since it might get modified.
93834
93835 2000-07-31  Jim Meyering  <meyering@lucent.com>
93836
93837         * lib/xmalloc.c: Use `virtual memory exhausted', not
93838         `Memory exhausted'.
93839         * lib/obstack.c (print_and_abort): Likewise.
93840
93841 2000-07-30  Paul Eggert  <eggert@twinsun.com>
93842
93843         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
93844         buffer, so that the caller can always quote one small
93845         component of a "memory exhausted" message in slot 0.
93846         From a suggestion by Jim Meyering.
93847
93848 2000-07-30  Jim Meyering  <meyering@lucent.com>
93849
93850         * lib/makepath.c (make_path): Quote the other instance, too.
93851
93852         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
93853         (STATIC_BUF_SIZE): Define.
93854         (quotearg_n_options): Use only statically allocated storage when
93855         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
93856         than STATIC_BUF_SIZE.
93857
93858 2000-07-29  Jim Meyering  <meyering@lucent.com>
93859
93860         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
93861         * lib/dirname.c (dir_name): Likewise.
93862
93863         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
93864         `/'.
93865
93866         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
93867         (dir_name): Assert that there are no trailing slashes.
93868
93869 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
93870
93871         * lib/mbswidth.h (mbswidth): Add a flags argument.
93872         (mbswidth): New declaration.
93873         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
93874         * lib/mbswidth.c (mbswidth): Add a flags argument.
93875         (mbsnwidth): New function.
93876
93877 2000-07-24  Jim Meyering  <meyering@lucent.com>
93878
93879         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
93880
93881 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93882
93883         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
93884
93885 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93886
93887         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
93888         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
93889         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
93890         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
93891         invoke multibyte primitives.
93892
93893 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93894
93895         * lib/quotearg.c:
93896         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
93897         so that mbstate_t is always defined.
93898
93899         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
93900         be 1 in at least one GCC installation, and this configuration
93901         error is likely to be common.  Ignoring MB_LEN_MAX hurts
93902         performance on hosts that have mbrtowc but have only unibyte
93903         locales, but I assume these hosts are rare.
93904
93905 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93906
93907         * lib/mbswidth.c (_XOPEN_SOURCE):
93908         Don't define; this causes problems on Solaris 7.
93909         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
93910
93911 2000-07-23  Jim Meyering  <meyering@lucent.com>
93912
93913         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
93914         too: getgrgid, getpwuid, getuid.
93915
93916 2000-07-23  Jim Meyering  <meyering@lucent.com>
93917
93918         * lib/basename.c (base_name): Add an assertion.
93919
93920 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
93921
93922         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
93923         shadow its mbsinit function.
93924
93925 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93926
93927         * lib/mbswidth.h: New file.
93928         * lib/mbswidth.c: New file.
93929         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
93930         (noinst_HEADERS): Add mbswidth.h.
93931
93932 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93933
93934         * lib/config.charset: Add support for FreeBSD. Improve support for
93935         HP-UX and IRIX 6.
93936
93937 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
93938
93939         * m4/mbswidth.m4: New file.
93940         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
93941
93942 2000-07-15  Jim Meyering  <meyering@lucent.com>
93943
93944         * lib/makepath.c: Include quote.h.
93945         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
93946         corresponding argument in a `quote (...)' call.
93947         Give better diagnostics.
93948
93949         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
93950         (noinst_HEADERS): Add quote.h.
93951
93952         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
93953         from tar's src/misc.c.
93954         * lib/quote.h: New file.  Prototypes for same.
93955
93956 2000-07-14  Paul Eggert  <eggert@twinsun.com>
93957
93958         From a suggestion by Bruno Haible.
93959         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
93960         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
93961         to decide whether to define the BeOS workaround macro;
93962         this adjusts to the change to AC_MBSTATE_T.
93963
93964 2000-07-14  Jim Meyering  <meyering@lucent.com>
93965
93966         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
93967         jm_AC_TYPE_UINTMAX_T.
93968
93969 2000-07-13  Paul Eggert  <eggert@twinsun.com>
93970
93971         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
93972
93973         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
93974         quotearg_buffer_restyled): Add support for
93975         clocale_quoting_style.  Undo previous change to
93976         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
93977         and "{RIGHT QUOTATION MARK}" msgids.
93978
93979 2000-07-10  Paul Eggert  <eggert@twinsun.com>
93980
93981         From a suggestion by Bruno Haible.
93982         * m4/mbstate_t.m4 (AC_MBSTATE_T):
93983         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
93984         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
93985         and mbstate_t, to a single-part test that simply defines mbstate_t.
93986         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
93987         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
93988
93989 2000-07-10  Jim Meyering  <meyering@lucent.com>
93990
93991         * m4/strerror_r.m4: Mirror the correction made in autoconf.
93992
93993         * m4/gnu-source.m4: Output to confdefs.h directly.
93994         Suggestion from Akim Demaille.
93995
93996 2000-07-09  Paul Eggert  <eggert@twinsun.com>
93997
93998         The old behavior of quoting `like this' doesn't look good with
93999         newer, ISO-style fonts.  See:
94000         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
94001
94002         Instead, quote "like this" by default.  Let the translator
94003         tailor the locale-specific quoting behavior by providing
94004         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
94005
94006         * lib/quotearg.c (N_): New macro.
94007         (gettext_default): New function.
94008         (quotearg_buffer_restyled): Use
94009         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
94010         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
94011
94012 2000-07-09  Jim Meyering  <meyering@lucent.com>
94013
94014         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
94015         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
94016
94017         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
94018         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
94019
94020 2000-07-09  Jim Meyering  <meyering@lucent.com>
94021
94022         * lib/Most files: Update copyright dates to include 2000.
94023
94024 2000-07-08  Jim Meyering  <meyering@lucent.com>
94025
94026         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
94027         if not defined.
94028         (xgethostname): Remove now-unnecessary #ifdef.
94029         Move declaration of `err' into loop where it's used.
94030
94031 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94032         and Bruno Haible  <haible@clisp.cons.org>
94033
94034         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
94035         only if the test for an object-type mbstate_t fails.  This
94036         prevents us from mistakenly reporting that mbstate_t is a
94037         system object type after we "#define mbstate_t int" to work
94038         around its lack.
94039
94040 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94041         and Bruno Haible  <haible@clisp.cons.org>
94042
94043         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
94044
94045 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94046
94047         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
94048         to strerror_r.
94049         Include <ctype.h> for use of isalpha.
94050
94051 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94052
94053         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
94054         by allocating a larger buffer. Test the gethostname return value for
94055         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
94056         returns an error and ENAMETOOLONG isn't defined.
94057
94058 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94059
94060         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
94061         dimension.
94062
94063 2000-07-04  Jim Meyering  <meyering@lucent.com>
94064
94065         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
94066         of the deprecated AC_CHECKING.
94067
94068 2000-07-04  Jim Meyering  <meyering@lucent.com>
94069
94070         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
94071         Reported by Bruno Haible.
94072
94073 2000-07-04  Jim Meyering  <meyering@lucent.com>
94074
94075         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
94076         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
94077         lacks mbrtowc.
94078
94079 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94080
94081         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
94082         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
94083
94084 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94085         and Bruno Haible  <haible@clisp.cons.org>
94086
94087         * lib/quotearg.c (mbrtowc):
94088         Assign to *pwc, and return 1 only if result is nonzero.
94089         (iswprint): Use ISPRINT when substituting our own mbrtowc.
94090
94091 2000-07-03  Jim Meyering  <meyering@lucent.com>
94092
94093         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
94094
94095 2000-07-03  Jim Meyering  <meyering@lucent.com>
94096
94097         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
94098         This is necessary to get a definition of e.g., UTMP_FILE on
94099         HP-UX 10.20.
94100         From Bob Proulx.
94101
94102 2000-07-02  Jim Meyering  <meyering@lucent.com>
94103
94104         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
94105
94106         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
94107         AC_LIBOBJ(function_name).
94108         * m4/chown.m4: Likewise.
94109         * m4/fnmatch.m4: Likewise.
94110         * m4/ftruncate.m4: Likewise.
94111         * m4/getgroups.m4: Likewise.
94112         * m4/getline.m4: Likewise.
94113         * m4/group-member.m4: Likewise.
94114         * m4/jm-macros.m4: Likewise.
94115         * m4/lstat.m4: Likewise.
94116         * m4/malloc.m4: Likewise.
94117         * m4/memcmp.m4: Likewise.
94118         * m4/nanosleep.m4: Likewise.
94119         * m4/putenv.m4: Likewise.
94120         * m4/realloc.m4: Likewise.
94121         * m4/regex.m4: Likewise.
94122         * m4/stat.m4: Likewise.
94123         * m4/strftime.m4: Likewise.
94124
94125 2000-07-02  Jim Meyering  <meyering@lucent.com>
94126
94127         * lib/quotearg.c (mbstate_t): Don't define here.
94128
94129 2000-07-02  Jim Meyering  <meyering@lucent.com>
94130
94131         * lib/nanosleep.c (SIGCONT): Define if not already defined.
94132
94133 2000-07-01  Jim Meyering  <meyering@lucent.com>
94134
94135         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
94136
94137 2000-07-01  Jim Meyering  <meyering@lucent.com>
94138
94139         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
94140         problem.
94141
94142 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94143
94144         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
94145         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
94146
94147 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94148
94149         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
94150         per change in ../m4/ls-mntd-fs.m4.
94151         (read_filesystem_list): Ignore symbolic links.
94152
94153 2000-06-29  Jim Meyering  <meyering@lucent.com>
94154
94155         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
94156         for declaration of strcmp.
94157
94158         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
94159
94160         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
94161         Avoid warning by casting result to `char *' to remove `const'.
94162
94163 2000-06-28  Jim Meyering  <meyering@lucent.com>
94164
94165         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
94166         included by quotearg.c, for which we perform this test.  From
94167         Bruno Haible.
94168
94169 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94170
94171         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
94172         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
94173         <utmpx.h> exists, put readutmp.o into LIBOBJS.
94174
94175 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94176
94177         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
94178
94179 2000-06-26  Paul Eggert  <eggert@twinsun.com>
94180
94181         savedir now sets errno on failure and invokes xmalloc to get memory.
94182         Fix a couple of other minor bugs while we're at it.
94183
94184         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
94185         (NAMLEN): Remove macro.
94186         (malloc, realloc): Remove decls.
94187         (stpcpy): Likewise.
94188         ("xalloc.h"): Include.
94189         (NAME_SIZE_DEFAULT): New macro.
94190         (savedir): Use xmalloc / xrealloc to allocate memory.
94191         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
94192         Skip "" directory entries.
94193         Use strlen to calculate directory entry length, since the old method
94194         is rarely used these days and isn't worth supporting.
94195         Don't use a pointer after freeing it.
94196         Check for integer overflow when calculating allocation size.
94197         Use memcpy to copy entries, instead of stpcpy.
94198         Set errno properly when returning NULL.
94199         Check for readdir error.
94200
94201 2000-06-26  Jim Meyering  <meyering@lucent.com>
94202
94203         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
94204
94205 2000-06-25  Jim Meyering  <meyering@lucent.com>
94206
94207         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
94208         Linux header bug when _XOPEN_SOURCE is defined to 500.
94209
94210 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94211
94212         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
94213         deficiency.
94214
94215 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94216
94217         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
94218         Include xalloc.h.
94219         Don't include <stdlib.h>.  Don't declare malloc, realloc.
94220
94221 2000-06-24  Jim Meyering  <meyering@lucent.com>
94222
94223         * m4/strerror_r.m4: Revive this file -- to try out an experimental
94224         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
94225         for which strerror does return char*, but which lacks a conveniently
94226         accessible declaration of the function.  If the compile-test says
94227         strerror_r doesn't work, then resort to a `run'-test that works on
94228         BeOS and segfaults on DEC Unix.
94229
94230 2000-06-24  Jim Meyering  <meyering@lucent.com>
94231
94232         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
94233
94234 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94235
94236         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
94237         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
94238
94239 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94240
94241         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
94242         (mbrtowc, mbstate_t): Define substitutes if
94243         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
94244         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
94245         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
94246
94247 2000-06-23  Jim Meyering  <meyering@lucent.com>
94248
94249         * m4/afs.m4: Add missing AC_MSG_RESULT.
94250         Reported by Bruno Haible.
94251
94252         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
94253         Suggestion from Bruno Haible.
94254
94255 2000-06-23  Jim Meyering  <meyering@lucent.com>
94256
94257         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
94258
94259 2000-06-21  Jim Meyering  <meyering@lucent.com>
94260
94261         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
94262
94263 2000-06-21  Jim Meyering  <meyering@lucent.com>
94264
94265         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
94266         (noinst_HEADERS): Add getstr.h.
94267
94268         * lib/getline.c (getstr): Move into a separate file.
94269         * lib/getstr.c (getstr): New file, extracted from getline.c, with
94270         the following changes: new parameter, delim2; both delim[12]
94271         parameters have type `int', not `char'.  The latter would lose
94272         with 8-bit delimiters.
94273         * lib/getstr.h: New file.
94274
94275 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94276
94277         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
94278         than 1024, return a memory chunk of least possible size, instead
94279         of size PATH_MAX + 2. In the loop, increment the size proportionally.
94280         Use free/xmalloc instead of xrealloc to avoid copying for very long
94281         paths.
94282
94283 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94284
94285         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
94286         the empty string.
94287
94288 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94289
94290         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
94291         address, not strdup.  Include <stdlib.h> and don't declare free().
94292
94293 2000-06-19  Jim Meyering  <meyering@lucent.com>
94294
94295         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
94296
94297 2000-06-18  Jim Meyering  <meyering@lucent.com>
94298
94299         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
94300
94301         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
94302         `checking whether...' message to be consistent with that of the
94303         lstat test.
94304
94305 2000-06-18  Jim Meyering  <meyering@lucent.com>
94306
94307         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
94308         Besides, these days every porting target provides a mkdir function.
94309
94310         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
94311         needed. (this snippet comes from src/system.h).
94312
94313 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
94314
94315         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
94316
94317 2000-06-15  Paul Eggert  <eggert@twinsun.com>
94318
94319         * lib/human.c (adjust_value): New function.
94320         (human_readable_inexact): Apply rounding style even when
94321         printing approximate values.
94322
94323 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94324
94325         * lib/human.c (human_readable_inexact): Allow an input block
94326         size that is not a multiple of the output block size, and vice versa.
94327         Reported by Piergiorgio Sartor.
94328
94329 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94330
94331         * lib/getdate.y (get_date): Apply relative times after time
94332         zone indicator, not before.  Reported by Todd A. Jacobs.
94333
94334 2000-06-13  Jim Meyering  <meyering@lucent.com>
94335
94336         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
94337
94338         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
94339
94340 2000-06-12  Paul Eggert  <eggert@twinsun.com>
94341
94342         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
94343
94344 2000-06-12  Jim Meyering  <meyering@lucent.com>
94345
94346         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
94347         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
94348         optional argument.
94349         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
94350         the optional argument, `lib'.
94351
94352 2000-06-08  Jim Meyering  <meyering@lucent.com>
94353
94354         * m4/largefile.m4: Remove file (now that it's part of autoconf).
94355
94356 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94357
94358         Rewrite largefile configuration so that we don't need to run
94359         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
94360         AC_CANONICAL_HOST in configure.in -- jmm]
94361
94362         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
94363         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
94364         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
94365         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
94366         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
94367         All uses changed.
94368         Instead of inspecting the output of getconf, try to compile the
94369         test program without and with the macro definition.
94370         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
94371         for getconf.  Instead, check for the needed flags by compiling
94372         test programs.
94373
94374 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94375
94376         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
94377
94378 2000-06-04  Jim Meyering  <meyering@lucent.com>
94379
94380         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
94381         SunOS 4.1.4 for which gid_t is an unsigned type.
94382
94383 2000-06-03  Jim Meyering  <meyering@lucent.com>
94384
94385         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
94386         now that autoconf requires that.
94387
94388         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
94389         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
94390         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
94391
94392 2000-06-03  Jim Meyering  <meyering@lucent.com>
94393
94394         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
94395
94396 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94397
94398         * m4/glibc21.m4: New file.
94399         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
94400
94401 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94402
94403         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
94404         newer, don't install charset.alias.
94405         * lib/config.charset: Change the Linux/glibc rules so they become empty
94406         on glibc-2.1 or newer.
94407
94408 2000-06-02  Jim Meyering  <meyering@lucent.com>
94409
94410         * lib/mountlist.c: Back out last change.  Instead, do this...
94411         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
94412         me_dummy member using the same `ignore'-testing code.
94413         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
94414         fs_type strings.
94415         From Mark D. Roth.
94416
94417 2000-05-29  Jim Meyering  <meyering@lucent.com>
94418
94419         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
94420         mounts with the `ignore' attribute.  Based on a patch from
94421         Mark D. Roth.
94422
94423 2000-05-28  Jim Meyering  <meyering@lucent.com>
94424
94425         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
94426         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94427         * m4/stat.m4: Likewise.
94428         * m4/lstat.m4: Likewise.
94429         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
94430
94431         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
94432         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
94433
94434 2000-05-26  Jim Meyering  <meyering@lucent.com>
94435
94436         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
94437
94438 2000-05-24  Jim Meyering  <meyering@lucent.com>
94439
94440         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
94441         autoconf requires that.
94442         * m4/lib-check.m4: Likewise.
94443         * m4/jm-macros.m4: Likewise.
94444         * m4/strftime.m4: Likewise.
94445
94446         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
94447         AC_CHECK_DECLS, now that autoconf requires that.
94448
94449 2000-05-22  Jim Meyering  <meyering@lucent.com>
94450
94451         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94452         * m4/lstat.m4: Likewise.
94453
94454 2000-05-22  Jim Meyering  <meyering@lucent.com>
94455
94456         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
94457
94458 2000-05-20  Jim Meyering  <meyering@lucent.com>
94459
94460         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
94461         (jm_PREREQ): Use it.
94462
94463 2000-05-18  Jim Meyering  <meyering@lucent.com>
94464
94465         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
94466         back, too, since it may have been modified by allocate_entry.
94467         (hash_delete): Rewrite to use neither the assignment operator
94468         nor the comma operator in an if-expression.
94469
94470 2000-05-15  Paul Eggert  <eggert@twinsun.com>
94471
94472         * lib/closeout.c:
94473         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
94474         Remove; no longer needed.
94475         "quotearg.h": Add include.
94476         (file_name): Do not bother to explicitly initialize to NULL; it's less
94477         efficient on some hosts.
94478         (close_stdout_status): Remove test as to whether stdout was already
94479         closed; it breaks for the case "echo x | sort >&-".
94480         Quote file name colons.
94481         Do not assume that _("write error") lacks format strings.
94482
94483 2000-05-15  Jim Meyering  <meyering@lucent.com>
94484
94485         * lib/version-etc.c (version_etc_copyright): Update the copyright
94486         string used in all --version output.
94487
94488 2000-05-14  Jim Meyering  <meyering@lucent.com>
94489
94490         * lib/closeout.c (close_stdout_set_file_name): New function.
94491         (close_stdout_status): Use new file-scoped global.
94492         Return right away if fstat says the stdout file descriptor is invalid.
94493         * lib/closeout.h (close_stdout_set_file_name): Declare.
94494
94495 2000-05-10  Jim Meyering  <meyering@lucent.com>
94496
94497         * lib/closeout.c [default_exit_status]: New file-scoped variable.
94498         (close_stdout_set_status): New function.
94499         * lib/closeout.h (close_stdout_set_status): Declare.
94500
94501 2000-05-09  Jim Meyering  <meyering@lucent.com>
94502
94503         * m4/gettext.m4: Rename this...
94504         * m4/libintl.m4: ...to this.
94505
94506 2000-05-08  Jim Meyering  <meyering@lucent.com>
94507
94508         * lib/long-options.c: Don't include closeout.h.
94509         (parse_long_options): Don't call close_stdout for --version.
94510
94511 2000-05-06  Paul Eggert  <eggert@twinsun.com>
94512
94513         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
94514         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
94515         2.1.3 bug.  This avoids a clash when files like regex.c define
94516         _GNU_SOURCE.
94517
94518 2000-05-06  Jim Meyering  <meyering@lucent.com>
94519
94520         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
94521         (AC_REPLACE_FUNCS): Add strnlen.
94522
94523         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
94524         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
94525
94526         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
94527         AC_SEARCH_LIBS call for nanosleep.
94528         (LIB_NANOSLEEP): Set and AC_SUBST.
94529
94530 2000-05-06  Jim Meyering  <meyering@lucent.com>
94531
94532         * lib/strnlen.c: Undefine __strnlen and strnlen.
94533         [!weak_alias]: Define __strnlen to strnlen.
94534
94535         * lib/atexit.c: New file, from libiberty.
94536
94537 2000-05-06  Jim Meyering  <meyering@lucent.com>
94538
94539         * lib/closeout.c (close_stdout_status): Also check for errors on the
94540         stderr stream.
94541
94542 2000-05-05  Jim Meyering  <meyering@lucent.com>
94543
94544         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
94545         AC_SEARCH_LIBS call for clock_gettime.
94546         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
94547
94548         * m4/search-libs.m4: Update from autoconf.
94549
94550         su doesn't work on Solaris 2.6.
94551         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
94552         <shadow.h>.  Reported by Dragos Harabor.
94553
94554 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
94555
94556         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
94557         memcpy instead of xmalloc, xrealloc, path_concat.
94558         (locale_charset): Treat empty environment variables as absent.
94559         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
94560
94561 2000-05-04  Jim Meyering  <meyering@lucent.com>
94562
94563         * lib/getopt.c: Update from glibc.
94564         * lib/obstack.c: Likewise.
94565         * lib/obstack.h: Likewise.
94566         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
94567         file
94568
94569         * lib/regex.h: Likewise.
94570         * lib/strndup.c: Likewise.
94571         * lib/strnlen.c: New file, from glibc.
94572
94573 2000-05-03  Jim Meyering  <meyering@lucent.com>
94574
94575         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
94576
94577 2000-05-02  Paul Eggert  <eggert@twinsun.com>
94578
94579         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
94580         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
94581         compile-time test, rather than inspecting host and OS, to
94582         decide whether to define _LARGEFILE_SOURCE.
94583
94584 2000-05-01  Jim Meyering  <meyering@lucent.com>
94585
94586         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
94587
94588         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
94589         Based on a patch from Bruno Haible.
94590
94591 2000-05-01  Jim Meyering  <meyering@lucent.com>
94592
94593         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
94594
94595 2000-04-29  Jim Meyering  <meyering@lucent.com>
94596
94597         * lib/path-concat.c: Declare strdup only if it's not defined.
94598         * lib/canon-host.c: Likewise.
94599
94600 2000-04-28  Jim Meyering  <meyering@lucent.com>
94601
94602         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
94603         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
94604         is included first, then limits.h is included by locale.h by libintl.h.
94605         From John David Anglin.
94606
94607 2000-04-25  Jim Meyering  <meyering@lucent.com>
94608
94609         * lib/makepath.c (S_IRWXUGO): Define.
94610         (make_path): Always perform explicit chmod if MODE specifies any
94611         of the `special' permission bits.  Prompted by a bug report against
94612         install from Mate Wierdl and Joost van Baal.
94613
94614 2000-04-18  Jim Meyering  <meyering@lucent.com>
94615
94616         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
94617         (jm_PREREQ): Use it.
94618
94619 2000-04-18  Jim Meyering  <meyering@lucent.com>
94620
94621         * lib/README: New file.
94622
94623         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
94624         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
94625
94626 2000-04-17  Jim Meyering  <meyering@lucent.com>
94627
94628         Get it right :-)
94629         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
94630         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
94631         Suggestion from Akim Demaille.
94632
94633 2000-04-17  Jim Meyering  <meyering@lucent.com>
94634
94635         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
94636         the definition of it to rpl_strftime also defined-away the system's
94637         declaration.
94638
94639 2000-04-15  Jim Meyering  <meyering@lucent.com>
94640
94641         Use `C' to denote so-called `contiguous' files, the same way
94642         that tar does.
94643         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
94644         (ftypelet): Use S_ISCTG.
94645         From Michael Deutschmann.
94646
94647 2000-04-14  Jim Meyering  <meyering@lucent.com>
94648
94649         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
94650         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
94651         clobbered.
94652
94653 2000-04-14  Jim Meyering  <meyering@lucent.com>
94654
94655         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
94656
94657 2000-04-13  Jim Meyering  <meyering@lucent.com>
94658
94659         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
94660         AH_VERBATIM to insert required #ifndef into config.h.in.
94661         Suggestion from Akim Demaille.
94662
94663 2000-04-12  Jim Meyering  <meyering@lucent.com>
94664
94665         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
94666         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
94667         Christian Krackowizer.
94668
94669         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
94670         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
94671         (AC_SYS_LARGEFILE): Require.
94672         (AM_C_PROTOTYPES): Require.
94673
94674 2000-04-08  Jim Meyering  <meyering@lucent.com>
94675
94676         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
94677         names don't conflict.  Reported by Eli Zaretskii.
94678
94679 2000-04-07  Jim Meyering  <meyering@lucent.com>
94680
94681         * lib/putenv.c: Move inclusion of errno.h so it follows that of
94682         sys/types.h, to work around system header problems on AIX 3.2.5.
94683         From Bruno Haible.
94684
94685 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
94686
94687         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
94688         bug.  Deal with the different error behavior of Irix iconv.
94689
94690 2000-04-05  Paul Eggert  <eggert@twinsun.com>
94691
94692         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
94693         IRIX if the installer said otherwise.
94694
94695 2000-04-05  Jim Meyering  <meyering@lucent.com>
94696
94697         Portability tweaks required for ultrix4.3.
94698         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
94699         (jm_CHECK_DECLS): Add getutent to the list of functions.
94700         (_jm_DECL_HEADERS): Add utmpx.h.
94701         From John David Anglin.
94702
94703         * m4/strftime.m4: Back out the 2000-04-02 change.
94704         Instead of that change, simply undefine putenv in the test program.
94705
94706 2000-04-05  Jim Meyering  <meyering@lucent.com>
94707
94708         Portability tweaks required for ultrix4.3.
94709         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
94710         getutent.
94711         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
94712         * lib/canon-host.c: Declare strdup.
94713         * lib/path-concat.c: Likewise.
94714         From John David Anglin.
94715
94716 2000-04-04  Jim Meyering  <meyering@lucent.com>
94717
94718         Be more DOS 8.3-friendly.
94719         * lib/ref-add.sin: Renamed from ref-add.sed.in.
94720         * lib/ref-del.sin: Renamed from ref-del.sed.in.
94721         * lib/Makefile.am: Reflect renaming.
94722         Reported by Eli Zaretskii.
94723
94724         Use a temporary file name that won't clash with `charset.alias'
94725         in the DOS 8.3 name space.
94726         * lib/Makefile.am (charset_tmp): Define.
94727         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
94728         (uninstall-local): Likewise.
94729         Reported by Eli Zaretskii.
94730
94731 2000-04-03  Jim Meyering  <meyering@lucent.com>
94732
94733         * m4/gettext.m4: Fix typo in comment.
94734
94735         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
94736         textutils/configure.in).  Suggestion from Paul Eggert.
94737         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
94738
94739 2000-04-02  Paul Eggert  <eggert@twinsun.com>
94740
94741         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
94742         variable in the shell rather than using putenv, which isn't
94743         portable.  This avoids the configure-time inter-test dependency
94744         on the potentially-renamed putenv function.
94745
94746 2000-03-30  Paul Eggert  <eggert@twinsun.com>
94747
94748         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
94749         before checking struct stat.st_blksize, so that
94750         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
94751
94752 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94753
94754         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
94755         since strftime.c uses HAVE_STRFTIME to decide whether to use
94756         the underlying strftime.
94757
94758 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94759
94760         * lib/time/strftime.c (my_strftime): Make sure we call the system
94761         strftime, not ourselves, when invoking the underlying strftime.
94762
94763 2000-03-24  Jim Meyering  <meyering@lucent.com>
94764
94765         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
94766         (charset_alias): Define.
94767         (install-exec-local): Factor out common code.
94768         (uninstall-local): Split lines longer than 80.
94769         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
94770         (SUFFIXES): Define.
94771         (.sed.in.sed): New rule.  Don't redirect directly to $@.
94772         (CLEANFILES): Add ref-add.sed and ref-del.sed.
94773
94774 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
94775
94776         * lib/config.charset: Output a line containing "Packages using this
94777         file".
94778         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
94779         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
94780         ref-del.sed): New rules.
94781
94782 2000-03-17  Jim Meyering  <meyering@lucent.com>
94783
94784         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
94785         Otherwise, include <strings.h>
94786
94787 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
94788
94789         * lib/unicodeio.c (utf8_wctomb): New function.
94790         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
94791         format instead of in UCS-4 with platform dependent endianness.
94792
94793 2000-03-10  Jim Meyering  <meyering@lucent.com>
94794
94795         * m4/lib-check.m4: Look for getspnam in -lgen, too.
94796         From Marco Franzen.
94797
94798 2000-03-07  Paul Eggert  <eggert@twinsun.com>
94799
94800         * lib/savedir.c (savedir): Work even if directory size is
94801         negative; this can happen with some screwy NFS configurations.
94802
94803 2000-03-06  Jim Meyering  <meyering@lucent.com>
94804
94805         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
94806         if it's NULL (because we ran out of memory).  From Bruno Haible.
94807
94808 2000-03-05  Jim Meyering  <meyering@lucent.com>
94809
94810         * lib/localcharset.c ("path-concat.h"): Include.
94811         (get_charset_aliases): Use path_concat instead of ANSI string
94812         concatenation.
94813
94814         * lib/unicodeio.h (PARAMS): Define.
94815         Use it to guard prototype.
94816
94817 2000-03-04  Jim Meyering  <meyering@lucent.com>
94818
94819         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
94820         for lib/localcharset.c.
94821
94822 2000-03-04  Jim Meyering  <meyering@lucent.com>
94823
94824         * lib/Makefile.am (install-exec-local): Create $(libdir) before
94825         installing into it.
94826         (uninstall-local): Uncomment this rule so `make distcheck' works
94827         once again.
94828
94829         * lib/unicodeio.c (<errno.h>): Include it.
94830         (errno): Declare if not defined.
94831
94832         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
94833
94834         * lib/config.charset: New version, incorporating remarks from a linux
94835         i18n mailing list.  From Bruno Haible.
94836
94837 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
94838
94839         * m4/codeset.m4: New file.
94840         * m4/iconv.m4: New file.
94841         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
94842
94843 2000-03-03  Jim Meyering  <meyering@lucent.com>
94844
94845         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
94846
94847 2000-03-02  Jim Meyering  <meyering@lucent.com>
94848
94849         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
94850         the messages come out on separate lines.
94851
94852         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
94853         rather than jm_CHECK_DECLARATIONS.
94854         * m4/decl.m4: Remove now-unused file.
94855
94856         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
94857         geteuid.
94858
94859 2000-03-02  Jim Meyering  <meyering@lucent.com>
94860
94861         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
94862
94863 2000-03-01  Jim Meyering  <meyering@lucent.com>
94864
94865         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
94866         * lib/unicodeio.c: Likewise.
94867
94868 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
94869
94870         * lib/config.charset: New file.
94871         * lib/localcharset.c: New file.
94872         * lib/unicodeio.h, lib/unicodeio.c: New files.
94873         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
94874         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
94875         (noinst_HEADERS): Add unicodeio.h.
94876         (all-local, install-exec-local, charset.alias): New targets.
94877
94878 2000-02-28  Paul Eggert  <eggert@twinsun.com>
94879
94880         * lib/quotearg.c (ALERT_CHAR): New macro.
94881         (quotearg_buffer_restyled): Use it.
94882
94883 2000-02-27  Jim Meyering  <meyering@lucent.com>
94884
94885         * m4/check-decl.m4: Add getenv to the list.
94886
94887 2000-02-27  Jim Meyering  <meyering@lucent.com>
94888
94889         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
94890         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
94891
94892         * lib/backupfile.c: Guard inclusion of stdlib.h with
94893         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
94894         Declare malloc if needed.
94895
94896         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
94897         `#ifndef HAVE_DECL..'
94898         now that autoconf always defines the HAVE_DECL_ symbols.
94899         * lib/human.c: Likewise.
94900         * lib/same.c: Likewise.
94901         * lib/strtoumax.c: Likewise.
94902
94903         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
94904         declaration check was not run.
94905         * lib/hash.c: Likewise.
94906         * lib/human.c: Likewise.
94907         * lib/same.c: Likewise.
94908         * lib/strtoumax.c: Likewise.
94909
94910         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
94911         `.', then first look up the entire `.'-containing string as a login
94912         name.
94913
94914 2000-02-23  Jim Meyering  <meyering@lucent.com>
94915
94916         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
94917         in place of my hack.
94918
94919 2000-02-18  Paul Eggert  <eggert@twinsun.com>
94920
94921         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
94922         (textint): New typedef.
94923         (parser_control): Member year changed from int to textint.
94924         All uses changed.
94925         (YYSTYPE): Removed; replaced by %union with int and textint members.
94926         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
94927         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
94928         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
94929         (tSNUMBER, tUNUMBER): Now of type <textintval>.
94930         (date, number, to_year): Use width of number in digits, not its value,
94931         to determine whether it's a 2-digit year, or a 2-digit time.
94932         (yylex): Store number of digits of numeric tokens.
94933         Reported by John Kendall.
94934
94935         (parser_control): Changed from struct parser_control to typedef (for
94936         consistency).  All uses changed.
94937
94938         (tID): Removed; not used.
94939         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
94940
94941 2000-02-14  Paul Eggert  <eggert@twinsun.com>
94942
94943         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
94944         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
94945
94946 2000-02-12  Jim Meyering  <meyering@lucent.com>
94947
94948         * lib/userspec.c (ISDIGIT): Define it.
94949         (isdigit): Remove definition.
94950         (is_number): Use ISDIGIT, not isdigit.
94951         <libintl.h>: Include.
94952         (_ and N_): Define.
94953         (parse_user_spec): Mark translatable strings.
94954
94955 2000-02-10  Jim Meyering  <meyering@lucent.com>
94956
94957         With these changes, nanosleep.[ch] are finally enough like the other
94958         lib/* replacement files to compile on a few more losing systems.
94959
94960         * lib/nanosleep.h: Don't include config.h.
94961         Remove prototype from declaration of nanosleep.
94962         (PARAMS): Remove now-unneeded definition.
94963         * lib/nanosleep.c: #undef nanosleep.
94964         (rpl_nanosleep): Rename from nanosleep.
94965
94966 2000-02-10  Jim Meyering  <meyering@lucent.com>
94967
94968         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
94969         gnu_nanosleep to rpl_nanosleep.
94970
94971 2000-02-09  Jim Meyering  <meyering@lucent.com>
94972
94973         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
94974         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
94975
94976 2000-02-08  Akim Demaille  <akim@epita.fr>
94977
94978         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
94979         `[' and `]' and remove uses of `changequote'.
94980         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
94981         (AC_SYS_LARGEFILE): Likewise.
94982         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
94983         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
94984         of changequote.
94985         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
94986         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
94987         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
94988         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
94989
94990 2000-02-05  Jim Meyering  <meyering@lucent.com>
94991
94992         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
94993         Remove explicit use of AC_HEADER_TIME.  It is required by
94994         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
94995         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
94996         in autoconf whereby the expansion of the latter ended up preceding
94997         the expansion of its prerequisite, AC_HEADER_TIME.
94998         Reported by Volker Borchert.
94999
95000 2000-02-03  Jim Meyering  <meyering@lucent.com>
95001
95002         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
95003
95004 2000-02-03  Jim Meyering  <meyering@lucent.com>
95005
95006         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
95007         rather than with `#if HAVE_UTMPNAME'.
95008
95009 2000-02-02  Jim Meyering  <meyering@lucent.com>
95010
95011         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
95012         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
95013         Reported by Eli Zaretskii.
95014
95015 2000-02-01  Jim Meyering  <meyering@lucent.com>
95016
95017         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
95018
95019 2000-01-31  Jim Meyering  <meyering@lucent.com>
95020
95021         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
95022         functions.  Add the time.h and sys/time.h headers along with the
95023         AC_REQUIRE'ment of AC_HEADER_TIME.
95024
95025 2000-01-31  Jim Meyering  <meyering@lucent.com>
95026
95027         * lib/nanosleep.h (nanosleep): Guard declaration with
95028         `#if ! HAVE_DECL_NANOSLEEP'.
95029         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
95030         the declaration in that vendor's sys/timers.h.
95031         Reported by Christian Krackowizer.
95032
95033         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
95034         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
95035         (ISPRINT): Likewise.
95036         Reported by Tom Tromey.
95037
95038 2000-01-30  Jim Meyering  <meyering@lucent.com>
95039
95040         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
95041
95042         * m4/prereq.m4 (utmp_includes): Define.
95043         Check for ut_user and ut_name members in both struct utmpx
95044         and struct utmp.
95045
95046 2000-01-30  Jim Meyering  <meyering@lucent.com>
95047
95048         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
95049         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
95050         header files where only utmpx.ut_user is declared.
95051
95052         * lib/readutmp.h (UT_USER): Define.
95053
95054 2000-01-29  Jim Meyering  <meyering@lucent.com>
95055
95056         * m4/lib-check.m4: New file containing library-related checks from
95057         fileutils and sh-utils (textutils had none).
95058
95059 2000-01-28  Jim Meyering  <meyering@lucent.com>
95060
95061         * m4/perl.m4: Change format of warning message to look more like that
95062         from the missing script.  Suggestion from François Pinard.
95063
95064 2000-01-25  Jim Meyering  <meyering@lucent.com>
95065
95066         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
95067         well as time.h in the compile check.
95068         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
95069         Fix typo in cross-compiling case: s/yes/no/.
95070
95071 2000-01-23  Jim Meyering  <meyering@lucent.com>
95072
95073         * m4/jm-macros.m4: Move df-related tests here from
95074         fileutils/configure.in
95075
95076         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
95077         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
95078
95079         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
95080         s/space/ac_fsusage_space/.
95081         (jm_FILE_SYSTEM_USAGE): Take two parameters.
95082
95083         * m4/ftruncate.m4: New file (derived from part of
95084         fileutils/configure.in).
95085         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
95086         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
95087
95088         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
95089         AC_SUBST these here, rather than just in sh-util/configure.in, so
95090         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
95091         all the same.
95092         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
95093         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
95094         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
95095         (AC_SUBST(POW_LIBM)): Likewise.
95096         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
95097
95098 2000-01-23  Jim Meyering  <meyering@lucent.com>
95099
95100         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
95101         obstack.c.
95102
95103 2000-01-22  Jim Meyering  <meyering@lucent.com>
95104
95105         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
95106
95107         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
95108
95109         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
95110         configure.in
95111         (AC_CHECK_HEADERS): Likewise for sh-utils.
95112         (AC_CHECK_HEADERS): Likewise for textutils.
95113         Merge the three lists of headers.
95114
95115         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
95116         from fileutils' configure.in.
95117
95118         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
95119         code. Moved tests into their own function (_jm_DECL_HEADERS) in
95120         check-decl.m4.
95121
95122         * m4/check-decl.m4: Use #if rather than #ifdef.
95123         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
95124         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
95125         (_jm_DECL_HEADERS): Define new function.
95126         (jm_CHECK_DECLARATIONS): Require it.
95127
95128 2000-01-22  Jim Meyering  <meyering@lucent.com>
95129
95130         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
95131         [! HAVE_DECL_STRTOULL]: Declare strtoull.
95132         Required for some AIX systems.  Reported by Christian Krackowizer.
95133         [TESTING] (main): New function.
95134
95135         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
95136         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
95137         letters.
95138
95139         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
95140         iswprint.
95141
95142         * lib/strverscmp.c (ISDIGIT): Define.
95143         (strverscmp): Use ISDIGIT, not isdigit.
95144
95145 2000-01-19  Jim Meyering  <meyering@lucent.com>
95146
95147         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
95148         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
95149         defines `struct timespec' in <sys/time.h>
95150
95151         * m4/c-bs-a.m4: Remove uses of changequote altogether.
95152         Thanks to Akim for explaining.
95153
95154 2000-01-17  Paul Eggert  <eggert@twinsun.com>
95155
95156         * lib/nanosleep.c (nanosleep):
95157         Don't use SA_INTERRUPT to decide whether to call sigaction, as
95158         POSIX.1 doesn't require SA_INTERRUPT and some systems
95159         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
95160         it's been part of POSIX.1 since day 1 (in 1988).
95161
95162 2000-01-17  Jim Meyering  <meyering@lucent.com>
95163
95164         * lib/interlock: Remove unused file.  Reported by François Pinard.
95165
95166 2000-01-16  Paul Eggert  <eggert@twinsun.com>
95167
95168         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
95169         alert, backslash, formfeed, and vertical tab unnecessarily in
95170         shell quoting style.
95171
95172 2000-01-16  Jim Meyering  <meyering@lucent.com>
95173
95174         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
95175         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
95176         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
95177         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
95178
95179 2000-01-16  Jim Meyering  <meyering@lucent.com>
95180
95181         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
95182         because the latter didn't work.
95183
95184 2000-01-15  Jim Meyering  <meyering@lucent.com>
95185
95186         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
95187         (AC_REPLACE_FUNCS): Add memcpy and memset.
95188         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
95189         Add strpbrk.
95190         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
95191
95192 2000-01-12  Jim Meyering  <meyering@lucent.com>
95193
95194         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
95195         (jm_PREREQ): Use it.
95196         (jm_PREREQ_READUTMP): New macro.
95197         (jm_PREREQ): Use it.
95198
95199 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95200
95201         Quote multibyte characters correctly.
95202         * m4/c-bs-a.m4: New file.
95203         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
95204         (jm_PREREQ): Use it.
95205
95206 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95207
95208         * m4/uintmax_t.m4: Port to autoconf 2.13.
95209
95210 2000-01-08  Jim Meyering  <meyering@ascend.com>
95211
95212         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
95213         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
95214
95215 2000-01-04  Jim Meyering  <meyering@ascend.com>
95216
95217         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
95218         jm_STRUCT_DIRENT_D_TYPE.
95219         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
95220         jm_STRUCT_DIRENT_D_INO.
95221         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
95222         jm_STRUCT_UTIMBUF.
95223         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
95224         renamings.
95225         * m4/utime.m4: Likewise.
95226
95227         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
95228         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
95229
95230 2000-01-03  Paul Eggert  <eggert@twinsun.com>
95231
95232         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
95233         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
95234
95235 2000-01-02  Jim Meyering  <meyering@ascend.com>
95236
95237         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
95238         remember if this is necessary.
95239
95240 1999-12-26  Jim Meyering  <meyering@ascend.com>
95241
95242         * m4/jm-macros.m4: Use it here.
95243         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
95244
95245 1999-12-23  Jim Meyering  <meyering@ascend.com>
95246
95247         * m4/jm-macros.m4: Check for clock_gettime (moved from
95248         fileutils/configure.in)
95249         Check for gettimeofday.
95250
95251 1999-12-20  Jim Meyering  <meyering@ascend.com>
95252
95253         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
95254         autoconf-2.14a-1999-12-20.
95255
95256 1999-12-19  Jim Meyering  <meyering@ascend.com>
95257
95258         * m4/lstat-slash.m4: New file.
95259         * m4/jm-macros.m4: Use the new macro:
95260         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95261
95262 1999-12-07  Jim Meyering  <meyering@ascend.com>
95263
95264         * m4/perl.m4: Require that File::Compare be available, too.
95265         Too many systems seem to lack it.
95266
95267         * m4/strftime.m4: Add checks for most of the cpp macros tested in
95268         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
95269
95270 1999-11-18  Paul Eggert  <eggert@twinsun.com>
95271
95272         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
95273         problem with the QNX 4.25 shell, which doesn't propagate exit
95274         status of failed commands inside shell assignments.
95275
95276 1999-11-17  Jim Meyering  <meyering@ascend.com>
95277
95278         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
95279
95280 1999-11-07  Jim Meyering  <meyering@ascend.com>
95281
95282         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
95283
95284 1999-11-06  Jim Meyering  <meyering@ascend.com>
95285
95286         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
95287         * m4/jm-macros.m4 (jm_MACROS): Use it here.
95288
95289 1999-11-05  Jim Meyering  <meyering@ascend.com>
95290
95291         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
95292         configure.in of textutils, fileutils, and sh-utils into this one
95293         (shared between those packages) file.
95294         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
95295         AC_STRUCT_ST_BLKSIZE.
95296
95297 1999-11-03  Jim Meyering  <meyering@ascend.com>
95298
95299         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
95300         of AC_CHECK_TYPE checks includes unistd.h.
95301         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
95302         Suggestion from Akim Demaille.
95303
95304 1999-10-30  Jim Meyering  <meyering@ascend.com>
95305
95306         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
95307         m4-quoted string.
95308         * m4/ls-mntd-fs.m4: Likewise.
95309         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
95310         * m4/jm-winsz1.m4: Likewise.
95311
95312         * m4/const.m4: Remove file, since the fix made it into the experimental
95313         version of autoconf.
95314         * m4/mktime.m4: Likewise.
95315
95316         * m4/check-type.m4: Remove file, now that the latest version of
95317         AC_CHECK_TYPE takes a third arg to specify additional #includes.
95318
95319         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
95320         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
95321         AC_CHECK_TYPE.
95322
95323 1999-10-04  Jim Meyering  <meyering@ascend.com>
95324
95325         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
95326
95327 1999-09-22  Paul Eggert  <eggert@twinsun.com>
95328
95329         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
95330         2.95.1 bug with HP-UX 10.20.
95331
95332 1999-09-17  Jim Meyering  <meyering@ascend.com>
95333
95334         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
95335         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
95336         due to missing strdup (against sh-utils-2.0).
95337
95338 1999-08-29  Jim Meyering  <meyering@ascend.com>
95339
95340         * m4/jm-macros.m4: Require jm_BISON.
95341         * m4/bison.m4: New file.
95342
95343 1999-08-17  Paul Eggert  <eggert@twinsun.com>
95344
95345         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
95346         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
95347
95348 1999-08-05  Jim Meyering  <meyering@ascend.com>
95349
95350         * m4/getline.m4: Rename test file from conftestdata to conftest.data
95351         to avoid conflicts with `conftest' on 8+3 filesystems.
95352         Suggestion from Eli Zaretskii.
95353
95354 1999-08-04  Jim Meyering  <meyering@ascend.com>
95355
95356         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
95357         fileutils and sh-utils (textutils's getline test was inadequate).
95358         (AM_FUNC_GETLINE): Run this test.
95359         (AC_CHECK_FUNCS): Check for getdelim.
95360         Reported by Bob Proulx.
95361
95362 1999-08-02  Jim Meyering  <meyering@ascend.com>
95363
95364         * m4/jm-macros.m4: Add a comment.
95365
95366 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95367
95368         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
95369         <inttypes.h> defines strtoumax as a macro (and not as a
95370         function).
95371
95372 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95373
95374         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
95375         that we can shift, multiply and divide unsigned long long
95376         values; Ultrix cc can't do it.
95377
95378 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95379
95380         * m4/mktime.m4: New file, which is a preview of what should appear
95381         in the next public autoconf release.
95382
95383 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95384
95385         * m4/lfs.m4: Remove this file.
95386         * m4/largefile.m4: New file.  It contains the old contents of
95387         lfs.m4, except that all names with prefix AC_LFS have been
95388         changed to use the prefix AC_SYS_LARGEFILE instead, to be
95389         compatible with future autoconf versions.  Also, some minor m4
95390         quoting problems have been fixed.
95391
95392 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95393
95394         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
95395         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
95396         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
95397         and simplify the shell code.
95398
95399 1999-08-01  Jim Meyering  <meyering@ascend.com>
95400
95401         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
95402         m4.
95403
95404 1999-07-20  Jim Meyering  <meyering@ascend.com>
95405
95406         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
95407
95408 1999-07-15  Jim Meyering  <meyering@ascend.com>
95409
95410         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
95411
95412 1999-05-22  Jim Meyering  <meyering@ascend.com>
95413
95414         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
95415
95416 1999-05-20  Jim Meyering  <meyering@ascend.com>
95417
95418         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
95419         Add a colon after each `then' in case $4 is empty.
95420
95421 1999-05-16  Jim Meyering  <meyering@ascend.com>
95422
95423         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
95424
95425 1999-05-10  Jim Meyering  <meyering@ascend.com>
95426
95427         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
95428
95429         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
95430         AC_FUNC_MKTIME.
95431
95432 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
95433
95434         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
95435
95436 1999-05-04  Paul Eggert  <eggert@twinsun.com>
95437
95438         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
95439         not CPPFLAGS, so that linking works correctly in IRIX.
95440
95441 1999-04-30  Paul Eggert  <eggert@twinsun.com>
95442
95443         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
95444
95445 1999-04-20  Paul Eggert  <eggert@twinsun.com>
95446
95447         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
95448         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
95449         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
95450         jm_AC_TYPE_UNSIGNED_LONG_LONG.
95451         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
95452
95453         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
95454
95455 1999-04-20  Jim Meyering  <meyering@ascend.com>
95456
95457         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
95458         AC_REPLACE xstroull if necessary.  From Paul Eggert.
95459         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
95460
95461 1999-04-18  Jim Meyering  <meyering@ascend.com>
95462
95463         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
95464         * m4/jm-macros.m4: Use it.
95465
95466 1999-04-06  Jim Meyering  <meyering@ascend.com>
95467
95468         * m4/strftime.m4: Remove test for %f.
95469
95470 1999-03-29  Jim Meyering  <meyering@ascend.com>
95471
95472         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
95473         superset of the AC_TYPE_* checks in the textutils, fileutils,
95474         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
95475         AC_TYPE_PID_T.
95476
95477 1999-03-28  Jim Meyering  <meyering@ascend.com>
95478
95479         * m4/jm-macros.m4: Define GNU_PACKAGE here.
95480         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
95481         replaced e.g., in the *.sh files of the sh-utils.
95482
95483 1999-03-20  Jim Meyering  <meyering@ascend.com>
95484
95485         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
95486         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
95487         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
95488
95489 1999-03-19  Jim Meyering  <meyering@ascend.com>
95490
95491         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
95492
95493 1999-03-12  Jim Meyering  <meyering@ascend.com>
95494
95495         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
95496
95497 1999-03-07  Jim Meyering  <meyering@ascend.com>
95498
95499         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
95500         declared.
95501
95502 1999-02-17  Jim Meyering  <meyering@ascend.com>
95503
95504         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
95505         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
95506
95507 1999-02-07  Jim Meyering  <meyering@ascend.com>
95508
95509         * m4/group-member.m4: New file -- extracted from sh-utils'
95510         configure.in.
95511
95512         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
95513         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
95514
95515 1999-02-06  Jim Meyering  <meyering@ascend.com>
95516
95517         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
95518         * m4/fnmatch.m4: Likewise.
95519         * m4/getgroups.m4: Likewise.
95520         * m4/lstat.m4: Likewise.
95521         * m4/malloc.m4: Likewise.
95522         * m4/putenv.m4: Likewise.
95523         * m4/realloc.m4: Likewise.
95524         * m4/regex.m4: Likewise.
95525         * m4/stat.m4: Likewise.
95526         * m4/strftime.m4: Likewise.
95527         Suggestion from Alain Magloire.
95528
95529         * m4/chown.m4: Use `.$ac_objext', not `.o'.
95530         * m4/fnmatch.m4: Likewise.
95531         * m4/getgroups.m4: Likewise.
95532         * m4/getline.m4: Likewise.
95533         * m4/lstat.m4: Likewise.
95534         * m4/malloc.m4: Likewise.
95535         * m4/memcmp.m4: Likewise.
95536         * m4/putenv.m4: Likewise.
95537         * m4/realloc.m4: Likewise.
95538         * m4/regex.m4: Likewise.
95539         * m4/stat.m4: Likewise.
95540         * m4/strftime.m4: Likewise.
95541         Suggestion from Alain Magloire.
95542
95543         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
95544         an argument.
95545
95546         * m4/regex.m4: Add a run-time Test for proper operation of
95547         re_compile_pattern.
95548
95549 1999-01-31  Jim Meyering  <meyering@ascend.com>
95550
95551         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
95552
95553 1999-01-30  Jim Meyering  <meyering@ascend.com>
95554
95555         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
95556
95557         * m4/jm-mktime.m4: Make this a wrapper around the official
95558         AM_FUNC_MKTIME rather than my private copy, now that the official one
95559         is up to date.
95560         * m4/mktime.m4: Remove file.
95561
95562         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
95563         * m4/uptime.m4: Likewise.
95564         * m4/uintmax_t.m4: Likewise.
95565
95566 1999-01-28  Jim Meyering  <meyering@ascend.com>
95567
95568         * m4/jm-macros.m4: Use jm_AFS.
95569         * m4/afs.m4: New file (from fileutils' configure.in).
95570
95571         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
95572         * m4/chown.m4: Likewise.
95573         * m4/d-ino.m4: Likewise.
95574         * m4/d-type.m4: Likewise.
95575         * m4/fnmatch.m4: Likewise.
95576         * m4/getgroups.m4: Likewise.
95577         * m4/gettext.m4: Likewise.
95578         * m4/jm-mktime.m4: Likewise.
95579         * m4/jm-winsz2.m4: Likewise.
95580         * m4/lcmessage.m4: Likewise.
95581         * m4/ls-mntd-fs.m4: Likewise.
95582         * m4/malloc.m4: Likewise.
95583         * m4/memcmp.m4: Likewise.
95584         * m4/putenv.m4: Likewise.
95585         * m4/realloc.m4: Likewise.
95586         * m4/st_mtim.m4: Likewise.
95587         * m4/strftime.m4: Likewise.
95588
95589 1999-01-16  Jim Meyering  <meyering@ascend.com>
95590
95591         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
95592         (ARGMATCH_DIE_DECL): Define.
95593
95594 1999-01-12  Jim Meyering  <meyering@ascend.com>
95595
95596         * m4/Makefile.am.in: Rewrite to avoid using fmt.
95597         Reported by Lars Hecking.
95598
95599 1999-01-10  Jim Meyering  <meyering@ascend.com>
95600
95601         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
95602         gross kludge.
95603         * m4/inttypes_h.m4: Likewise.
95604         * m4/lstat.m4: Likewise.
95605         * m4/malloc.m4: Likewise.
95606         * m4/readdir.m4: Likewise.
95607         * m4/realloc.m4: Likewise.
95608         * m4/st_dm_mode.m4: Likewise.
95609         * m4/stat.m4: Likewise.
95610         * m4/utimbuf.m4: Likewise.
95611         * m4/utimes.m4: Likewise.
95612
95613         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
95614         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
95615         comments in config.h.in are meaningful.
95616
95617         * m4/jm-macros.m4: Require autoconf-2.13 here.
95618
95619         * m4/regex.m4: By default, don't use the included regex.c on systems
95620         with glibc 2.  Suggestion from Uli Drepper.
95621
95622 1999-01-02  Jim Meyering  <meyering@ascend.com>
95623
95624         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
95625
95626 1998-12-18  Jim Meyering  <meyering@ascend.com>
95627
95628         * m4/Makefile.am.in (Makefile.am): Simplify rule.
95629         Based on a suggestion from Lars Hecking.
95630
95631 1998-11-16  Paul Eggert  <eggert@twinsun.com>
95632
95633         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
95634
95635 1998-11-16  Jim Meyering  <meyering@ascend.com>
95636
95637         * m4/lfs.m4: Double-quote the `uname...` expression.
95638
95639 1998-11-14  Jim Meyering  <meyering@ascend.com>
95640
95641         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
95642         * m4/stat.m4: Likewise.
95643
95644 1998-11-03  Jim Meyering  <meyering@ascend.com>
95645
95646         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
95647         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
95648
95649 1998-10-18  Jim Meyering  <meyering@ascend.com>
95650
95651         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
95652
95653 1998-10-17  Jim Meyering  <meyering@ascend.com>
95654
95655         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
95656         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
95657         calls for those previously hard-coded headers.  Instead, take a new
95658         parameter.
95659         (jm_CHECK_DECLARATIONS): Reflect interface change.
95660         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
95661         (jm_CHECK_DECL_LOCALTIME_R): New macro.
95662
95663         * m4/mktime.m4: Test for spring-forward gap before long-running test.
95664
95665 1998-10-14  Jim Meyering  <meyering@ascend.com>
95666
95667         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
95668         instead of "TZ=America/Vancouver".  From Paul Eggert.
95669
95670 1998-10-11  Jim Meyering  <meyering@ascend.com>
95671
95672         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
95673         This adds a test for a recently added compatibility fix for mktime.c.
95674         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
95675
95676 1998-09-27  Jim Meyering  <meyering@ascend.com>
95677
95678         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
95679
95680         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
95681         ../configure.in, including a change from Gordon Matzigkeit to allow
95682         cross-compiling for the Hurd.
95683
95684         * m4/glibc.m4: New file/macro to test for the GNU C Library
95685         versions 1 and 2.  From Gordon Matzigkeit.
95686         Indent.
95687
95688 1998-09-21  Jim Meyering  <meyering@ascend.com>
95689
95690         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
95691
95692 1998-08-18  Paul Eggert  <eggert@twinsun.com>
95693
95694         Port nanosecond-resolution times to UnixWare 2.1.2 and
95695         pedantic Solaris 2.6.
95696
95697         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
95698         AC_STRUCT_ST_MTIM.
95699         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
95700         Generate name of ns member, instead of just 1 or undef.
95701         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
95702
95703 1998-08-15  Jim Meyering  <meyering@ascend.com>
95704
95705         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
95706         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
95707         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
95708         instead of jm_TYPE_SSIZE_T.
95709
95710 1998-08-12  Jim Meyering  <meyering@ascend.com>
95711
95712         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
95713
95714 1998-08-02  Jim Meyering  <meyering@ascend.com>
95715
95716         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
95717         in acconfig.h manually.
95718
95719 1998-07-31  Paul Eggert  <eggert@twinsun.com>
95720
95721         * m4/st_mtim.m4: New file.
95722
95723 1998-07-28  Jim Meyering  <meyering@ascend.com>
95724
95725         * m4/utimes.m4: Undef stat.
95726
95727 1998-07-25  Jim Meyering  <meyering@ascend.com>
95728
95729         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
95730         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
95731
95732 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
95733
95734         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
95735         uid and gid actually remain unchanged.
95736
95737 1998-07-07  Jim Meyering  <meyering@ascend.com>
95738
95739         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
95740
95741 1998-07-04  Jim Meyering  <meyering@ascend.com>
95742
95743         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
95744         to prove that this macro can be used in packages without regex.c.
95745
95746 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
95747
95748         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
95749         is to be used.
95750
95751 1998-07-03  Jim Meyering  <meyering@ascend.com>
95752
95753         * m4/gettext.m4: Add -lintl if it's found to be necessary.
95754
95755         * m4/gettext.m4: New file -- from gettext-0.10.35.
95756         * m4/lcmessage.m4: Likewise.
95757         * m4/progtest.m4: Likewise.
95758
95759         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
95760         * m4/jm-macros.m4: Require the new macro.
95761
95762 1998-06-29  Jim Meyering  <meyering@ascend.com>
95763
95764         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
95765         for the definition of NGROUPS (used in a system header included
95766         by sys/mount.h).
95767
95768 1998-06-28  Jim Meyering  <meyering@ascend.com>
95769
95770         * m4/ls-mntd-fs.m4: New file.
95771         * m4/fstypename.m4: New file.
95772
95773         * m4/jm-macros.m4: Require the new macro.
95774         * m4/jm-glibc-io.m4: New file.
95775
95776 1998-05-19  Jim Meyering  <meyering@ascend.com>
95777
95778         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
95779         * m4/lchown.m4: New file.
95780
95781         * m4/Makefile.am.in: New file.
95782         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
95783
95784 1998-05-14  Jim Meyering  <meyering@ascend.com>
95785
95786         * m4/Makefile.am (EXTRA_DIST): Add them.
95787         * m4/jm-macros.m4: New file.
95788         * m4/utimbuf.m4: New file.
95789
95790 1998-05-12  Jim Meyering  <meyering@ascend.com>
95791
95792         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
95793
95794 1998-05-11  Jim Meyering  <meyering@ascend.com>
95795
95796         * m4/isc-posix.m4: New file.
95797
95798 1998-05-10  Jim Meyering  <meyering@ascend.com>
95799
95800         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
95801
95802 1998-05-09  Jim Meyering  <meyering@ascend.com>
95803
95804         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
95805         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
95806         with automake.
95807
95808         * m4/ssize_t.m4: New file.
95809         * m4/mktime.m4: Remove file -- the new automake has this now.
95810
95811 1998-04-26  Jim Meyering  <meyering@ascend.com>
95812
95813         * m4/assert.m4: New file.
95814         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
95815
95816 1998-04-05  Jim Meyering  <meyering@ascend.com>
95817
95818         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
95819         (jm_PREREQ): Use it here.
95820
95821 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
95822
95823         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
95824         in acconfig.h.
95825
95826 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
95827
95828         * m4/prereq.m4: New file.
95829         * m4/error.m4: New file.
95830         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
95831
95832 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
95833
95834         * m4/getline.m4: Don't set am_cv_func_working_getline before the
95835         cache-check for the same variable -- that defeated the purpose of
95836         the test; the test program was never run.  This was a problem only
95837         on systems with losing getline functions -- HP-UX 10.20 is one.
95838         Reported by Bjorn Helgaas.
95839
95840 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
95841
95842         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
95843
95844 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
95845
95846         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
95847
95848         * m4/const.m4: New file.  Use an initializer in this declaration
95849         typedef int charset[2]; const charset x;
95850         Reported by Bob Glickstein.
95851
95852 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
95853
95854         * m4/chown.m4: Fix reversed types on -1 args to chown.
95855         From Kaveh Ghazi.
95856
95857 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
95858
95859         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
95860         Add lseek and memchr.
95861
95862         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
95863         T.E.Dickey <dickey@clark.net> said that some older preprocessors
95864         have a 20-character limit on names.
95865
95866 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
95867
95868         * m4/inttypes_h.m4: New file.
95869         * m4/uintmax_t.m4: New file.
95870         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
95871
95872
95873         -----
95874
95875         Local Variables:
95876         coding: utf-8
95877         End:
95878
95879         Copyright (C) 1997-2012 Free Software Foundation, Inc.
95880
95881         Copying and distribution of this file, with or without
95882         modification, are permitted provided the copyright notice
95883         and this notice are preserved.